From d5aceb6d95779b19d13eef9f2427c79233166a63 Mon Sep 17 00:00:00 2001 From: CasperW Date: Tue, 24 Nov 2009 23:33:12 +0100 Subject: Append a prefix to the god avatar names appearing in chat whilst in god mode (disabled by default, config entry admin_prefix) --- bin/OpenSim.ini.example | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 116a8fd..f9d9ca6 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -454,6 +454,9 @@ ; Distance in meters that shouts should travel. Default is 100m shout_distance = 100 + + ; Append a prefix to the god avatar names appearing in chat whilst in god mode + ; admin_prefix = "@" [Messaging] -- cgit v1.1 From d092977f4a933baa990cb239d91c1bec860698e9 Mon Sep 17 00:00:00 2001 From: unknown Date: Wed, 9 Dec 2009 01:53:41 +0100 Subject: Windlight configuration option in ini, and migration --- bin/OpenSim.ini.example | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 62aceb1..b7f7c3c 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -825,6 +825,12 @@ ; default is 1000 cloud_update_rate = 1000 +[Meta7Windlight] + + ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer. + ; It has no ill effect on viewers which do not support server-side windlight settings. + ; Currently we only have support for MySQL databases. + enable_windlight = false; [Trees] ; Enable this to allow the tree module to manage your sim trees, including growing, reproducing and dying -- cgit v1.1 From a6a6bf007a2fb0e33daefc0ea7c4ad968a85d08e Mon Sep 17 00:00:00 2001 From: CasperW Date: Wed, 9 Dec 2009 22:57:35 +0100 Subject: Move osFunctions into a new Careminster script interface --- bin/OpenSim.ini.example | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index b7f7c3c..04cf8e8 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -980,6 +980,9 @@ ; Allow the use of os* functions (some are dangerous) AllowOSFunctions = false + + ; Allow the user of Careminster functions + AllowCareminsterFunctions = false ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe OSFunctionThreatLevel = VeryLow -- cgit v1.1 From 24056dc98ba94b32ac98cc0a3b1b85d5f8ef3de6 Mon Sep 17 00:00:00 2001 From: Careminster Staff Date: Mon, 18 Jan 2010 16:23:13 -0600 Subject: Adds example to OpenSim.ini.example for Admin Default Parcel settings --- bin/OpenSim.ini.example | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index c96e938..23004a4 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1351,6 +1351,9 @@ ; For example- http://127.0.0.1:9000/SStats/ ; enabled=false +[LandManagement] +; DefaultAdministratorGroupUUID = ""; +; DefaultAdministratorParcelName = ""; ;; ;; These are defaults that are overwritten below in [Architecture]. -- cgit v1.1 From 5caae0293ab0f69cced21923c36db230698c7970 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Wed, 3 Mar 2010 22:14:06 +0000 Subject: Fix bug where approximately half the time, attachments would rez only their root prim until right clicked (or otherwise updated). The root cause of this problem was that multiple ObjectUpdates were being sent on attachment which differed enough to confuse the client. Sometimes these would eliminate each other and sometimes not, depending on whether the scheduler looked at the queued updates. The solution here is to only schedule the ObjectUpdate once the attachment code has done all it needs to do. Backport from head. --- bin/OpenSim.exe.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index 3c7adf5..4e7ef51 100755 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config @@ -12,7 +12,7 @@ - + -- cgit v1.1 From 4423630f1e77d7bb5a2b01f7ba9ed539d0825de8 Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 9 Mar 2010 18:56:32 +0000 Subject: remove milliseconds from console log again --- bin/OpenSim.exe.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.exe.config b/bin/OpenSim.exe.config index 4e7ef51..3c7adf5 100755 --- a/bin/OpenSim.exe.config +++ b/bin/OpenSim.exe.config @@ -12,7 +12,7 @@ - + -- cgit v1.1 From 7d917e7c5c599549d2a87451fe3d6ca2bf6e62a4 Mon Sep 17 00:00:00 2001 From: Melanie Date: Tue, 30 Mar 2010 23:29:03 +0100 Subject: Rename Meta7Windlight to LightShare --- bin/OpenSim.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index d660f36..9b0c09b 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -771,7 +771,7 @@ ; default is 1000 cloud_update_rate = 1000 -[Meta7Windlight] +[LightShare] ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer. ; It has no ill effect on viewers which do not support server-side windlight settings. -- cgit v1.1 From b7457a0a5d70667d741c03483ef00955f604c16f Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Sun, 18 Apr 2010 19:16:41 +0100 Subject: Update OpenMetaverse libraries to those used in master as of commit 9a781e7 This removes Mono.Security.dll which might help with Mono 2.6.3 compatability issues (notwithstanding the sqlite problem) --- bin/Mono.Security.dll | Bin 289792 -> 0 bytes bin/OpenMetaverse.Http.dll | Bin 36864 -> 0 bytes bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 102400 bytes bin/OpenMetaverse.dll | Bin 1650688 -> 1691648 bytes bin/OpenMetaverseTypes.dll | Bin 102400 -> 106496 bytes 5 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/Mono.Security.dll delete mode 100644 bin/OpenMetaverse.Http.dll (limited to 'bin') diff --git a/bin/Mono.Security.dll b/bin/Mono.Security.dll deleted file mode 100644 index c027c19..0000000 Binary files a/bin/Mono.Security.dll and /dev/null differ diff --git a/bin/OpenMetaverse.Http.dll b/bin/OpenMetaverse.Http.dll deleted file mode 100644 index dbbe4d3..0000000 Binary files a/bin/OpenMetaverse.Http.dll and /dev/null differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index f3244f6..f4992a2 100644 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index edbf3ce..8751bfc 100644 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 95d6021..6c6440e 100644 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 8a69070b513f821bf295c32ad771d5f5009bec61 Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Apr 2010 16:14:02 -0700 Subject: back port groups changes --- bin/OpenSim.ini.example | 14 +++++++++++--- bin/config-include/GridCommon.ini.example | 6 ++++++ 2 files changed, 17 insertions(+), 3 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 5214718..4a8629f 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1302,10 +1302,18 @@ ;MessagingModule = GroupsMessagingModule ;MessagingEnabled = true - ; Service connector to Groups Service [Select One] - ; XmlRpc Service Connector to the Flotsam XmlRpc Groups Service Implementation + ; Service connector to Groups Service [Select One] ServicesConnectorModule + + + ; Simian Grid Service for Groups + ;ServicesConnectorModule = SimianGroupsServicesConnector + ;GroupsServerURI = http://mygridserver.com:82/Grid/ + + ; XmlRpc Service Connector to the Flotsam XmlRpc Groups Service settings ;ServicesConnectorModule = XmlRpcGroupsServicesConnector - ;XmlRpcServiceURL = http://yourxmlrpcserver.com/xmlrpc.php + ;GroupsServerURI = http://yourxmlrpcserver.com/xmlrpc.php + + ; XmlRpc Service Settings ;XmlRpcServiceReadKey = 1234 ;XmlRpcServiceWriteKey = 1234 diff --git a/bin/config-include/GridCommon.ini.example b/bin/config-include/GridCommon.ini.example index 6da0f1e..8fc2425 100644 --- a/bin/config-include/GridCommon.ini.example +++ b/bin/config-include/GridCommon.ini.example @@ -20,6 +20,12 @@ ; change this to your grid-wide grid server ; GridServerURI = "http://mygridserver.com:8003" +[Groups] + ; + ; change this to your grid-wide groups server + ; + GroupsServerURI = "http://mygridserver.com:82/Grid/" + [Modules] ;; Choose 0 or 1 cache modules, and the corresponding config file, if it exists. -- cgit v1.1 From 91cfce3758a7021f483bb653371693cc3d64580a Mon Sep 17 00:00:00 2001 From: unknown Date: Thu, 8 Apr 2010 16:14:02 -0700 Subject: back port groups changes Signed-off-by: Melanie --- bin/OpenSim.ini.example | 5 ----- 1 file changed, 5 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 4a8629f..0df122d 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1304,11 +1304,6 @@ ; Service connector to Groups Service [Select One] ServicesConnectorModule - - ; Simian Grid Service for Groups - ;ServicesConnectorModule = SimianGroupsServicesConnector - ;GroupsServerURI = http://mygridserver.com:82/Grid/ - ; XmlRpc Service Connector to the Flotsam XmlRpc Groups Service settings ;ServicesConnectorModule = XmlRpcGroupsServicesConnector ;GroupsServerURI = http://yourxmlrpcserver.com/xmlrpc.php -- cgit v1.1 From 65775b87e5000a07634240ab8ce39aaecd30d1e6 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Wed, 5 May 2010 23:06:36 +0200 Subject: Add a XMLRPC method to remotely set the login level for the LLLoginService. This requires a special XMLRPC call, which has to supply the credentials of a god user (User level >= 200). Disabled by default. Also Adds a configuration option to set the initial permitted login level. --- bin/Robust.ini.example | 1 + 1 file changed, 1 insertion(+) (limited to 'bin') diff --git a/bin/Robust.ini.example b/bin/Robust.ini.example index cfc08bc..2679523 100644 --- a/bin/Robust.ini.example +++ b/bin/Robust.ini.example @@ -126,6 +126,7 @@ ServiceConnectors = "8003/OpenSim.Server.Handlers.dll:AssetServiceConnector,8003 FriendsService = "OpenSim.Services.FriendsService.dll:FriendsService" WelcomeMessage = "Welcome, Avatar!" + AllowRemoteSetLoginLevel = "false"; [GridInfoService] -- cgit v1.1 From 55f124745ffe743a2d93c2ef93cb5c2f4fe06178 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Tue, 18 May 2010 19:25:40 +0200 Subject: Allow remote admin to be used on a different port from the main region port --- bin/OpenSim.ini.example | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 6d5ee14..f318a2d 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -594,6 +594,10 @@ [RemoteAdmin] enabled = false + + ; Set this to a nonzero value to have remote admin use a different port + port = 0 + access_password = unknown ; set this variable to true if you want the create_region XmlRpc -- cgit v1.1 From 9e3b5a558718bc7a0b919fa083811f6a02322409 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Wed, 26 May 2010 19:29:56 +0200 Subject: Remove orphaned .dll.config files from tests --- ...enSim.Framework.Communications.Tests.dll.config | 33 ---------------------- bin/OpenSim.Framework.Servers.Tests.dll.config | 33 ---------------------- bin/OpenSim.Framework.Tests.dll.config | 33 ---------------------- bin/OpenSim.Region.CoreModules.Tests.dll.config | 33 ---------------------- bin/OpenSim.Region.Framework.Tests.dll.config | 33 ---------------------- bin/OpenSim.Region.ScriptEngine.Tests.dll.config | 33 ---------------------- 6 files changed, 198 deletions(-) delete mode 100644 bin/OpenSim.Framework.Communications.Tests.dll.config delete mode 100644 bin/OpenSim.Framework.Servers.Tests.dll.config delete mode 100644 bin/OpenSim.Framework.Tests.dll.config delete mode 100644 bin/OpenSim.Region.CoreModules.Tests.dll.config delete mode 100644 bin/OpenSim.Region.Framework.Tests.dll.config delete mode 100644 bin/OpenSim.Region.ScriptEngine.Tests.dll.config (limited to 'bin') diff --git a/bin/OpenSim.Framework.Communications.Tests.dll.config b/bin/OpenSim.Framework.Communications.Tests.dll.config deleted file mode 100644 index a3f681d..0000000 --- a/bin/OpenSim.Framework.Communications.Tests.dll.config +++ /dev/null @@ -1,33 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/OpenSim.Framework.Servers.Tests.dll.config b/bin/OpenSim.Framework.Servers.Tests.dll.config deleted file mode 100644 index a3f681d..0000000 --- a/bin/OpenSim.Framework.Servers.Tests.dll.config +++ /dev/null @@ -1,33 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/OpenSim.Framework.Tests.dll.config b/bin/OpenSim.Framework.Tests.dll.config deleted file mode 100644 index a3f681d..0000000 --- a/bin/OpenSim.Framework.Tests.dll.config +++ /dev/null @@ -1,33 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/OpenSim.Region.CoreModules.Tests.dll.config b/bin/OpenSim.Region.CoreModules.Tests.dll.config deleted file mode 100644 index a3f681d..0000000 --- a/bin/OpenSim.Region.CoreModules.Tests.dll.config +++ /dev/null @@ -1,33 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/OpenSim.Region.Framework.Tests.dll.config b/bin/OpenSim.Region.Framework.Tests.dll.config deleted file mode 100644 index a3f681d..0000000 --- a/bin/OpenSim.Region.Framework.Tests.dll.config +++ /dev/null @@ -1,33 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/OpenSim.Region.ScriptEngine.Tests.dll.config b/bin/OpenSim.Region.ScriptEngine.Tests.dll.config deleted file mode 100644 index a3f681d..0000000 --- a/bin/OpenSim.Region.ScriptEngine.Tests.dll.config +++ /dev/null @@ -1,33 +0,0 @@ - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -- cgit v1.1 From 890f3cc54cc57883a110b372530bf2a7d5b37fff Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sun, 30 May 2010 15:46:54 +0200 Subject: Changes osFunction permissions again. Allow_ with a list of UUIDs now again refers to prim OWNERS. A new option set, Creators_, is added to allow selection by script creator. For existing installs, this means no functional change. The warning from my prior commit doesn't apply anymore. --- bin/OpenSim.ini.example | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index e67c8bd..0142a0d 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -985,6 +985,12 @@ ; Comma separated list of UUIDS allows the function for that list of UUIDS ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb + ; You can also use script creators as the uuid + ; Creators_osSetRegionWaterHeight = , ... + + ; If both Allow_ and Creators_ are given, effective permissions + ; are the union of the two. + ; Allow for llCreateLink and llBreakLink to work without asking for permission ; only enable this in a trusted environment otherwise you may be subject to hijacking ; AutomaticLinkPermission = false -- cgit v1.1 From 8a084cb7e1998250c45781ed0cf04ca106ed0ada Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 11 Jun 2010 17:52:29 +0100 Subject: Remove a company name referecne from the example --- bin/OpenSim.ini.example | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 36937e4..a6ba72b 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -939,8 +939,8 @@ ; Allow the use of os* functions (some are dangerous) AllowOSFunctions = false - ; Allow the user of Careminster functions - AllowCareminsterFunctions = false + ; Allow the user of LightShare functions + AllowLightShareFunctions = false ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe OSFunctionThreatLevel = VeryLow -- cgit v1.1 From 94ece2789d87d0c836bdaaddb825020968f737e6 Mon Sep 17 00:00:00 2001 From: Tom Grimshaw Date: Fri, 25 Jun 2010 12:21:24 -0700 Subject: Add some libraries for XGitminster --- bin/DiffieHellman.dll | Bin 0 -> 53248 bytes bin/GitSharp.Core.dll | Bin 0 -> 558080 bytes bin/GitSharp.Core.pdb | Bin 0 -> 1906176 bytes bin/GitSharp.dll | Bin 0 -> 219648 bytes bin/GitSharp.pdb | Bin 0 -> 347648 bytes bin/ICSharpCode.SharpZipLib.dll | Bin 0 -> 188416 bytes bin/ICSharpCode.SharpZipLib.xml | 9055 +++++++++++++++++++++++++++++++++++++++ bin/Org.Mentalis.Security.dll | Bin 0 -> 184320 bytes bin/Tamir.SharpSSH.dll | Bin 0 -> 212992 bytes bin/Winterdom.IO.FileMap.dll | Bin 0 -> 9728 bytes bin/Winterdom.IO.FileMap.pdb | Bin 0 -> 24064 bytes 11 files changed, 9055 insertions(+) create mode 100644 bin/DiffieHellman.dll create mode 100644 bin/GitSharp.Core.dll create mode 100644 bin/GitSharp.Core.pdb create mode 100644 bin/GitSharp.dll create mode 100644 bin/GitSharp.pdb create mode 100644 bin/ICSharpCode.SharpZipLib.dll create mode 100644 bin/ICSharpCode.SharpZipLib.xml create mode 100644 bin/Org.Mentalis.Security.dll create mode 100644 bin/Tamir.SharpSSH.dll create mode 100644 bin/Winterdom.IO.FileMap.dll create mode 100644 bin/Winterdom.IO.FileMap.pdb (limited to 'bin') diff --git a/bin/DiffieHellman.dll b/bin/DiffieHellman.dll new file mode 100644 index 0000000..aa31051 Binary files /dev/null and b/bin/DiffieHellman.dll differ diff --git a/bin/GitSharp.Core.dll b/bin/GitSharp.Core.dll new file mode 100644 index 0000000..5aad773 Binary files /dev/null and b/bin/GitSharp.Core.dll differ diff --git a/bin/GitSharp.Core.pdb b/bin/GitSharp.Core.pdb new file mode 100644 index 0000000..32ad5bb Binary files /dev/null and b/bin/GitSharp.Core.pdb differ diff --git a/bin/GitSharp.dll b/bin/GitSharp.dll new file mode 100644 index 0000000..99a91a7 Binary files /dev/null and b/bin/GitSharp.dll differ diff --git a/bin/GitSharp.pdb b/bin/GitSharp.pdb new file mode 100644 index 0000000..4c65b1f Binary files /dev/null and b/bin/GitSharp.pdb differ diff --git a/bin/ICSharpCode.SharpZipLib.dll b/bin/ICSharpCode.SharpZipLib.dll new file mode 100644 index 0000000..e565e3a Binary files /dev/null and b/bin/ICSharpCode.SharpZipLib.dll differ diff --git a/bin/ICSharpCode.SharpZipLib.xml b/bin/ICSharpCode.SharpZipLib.xml new file mode 100644 index 0000000..98cb51e --- /dev/null +++ b/bin/ICSharpCode.SharpZipLib.xml @@ -0,0 +1,9055 @@ + + + + ICSharpCode.SharpZipLib + + + + + FastZipEvents supports all events applicable to FastZip operations. + + + + + Delegate to invoke when processing directories. + + + + + Delegate to invoke when processing files. + + + + + Delegate to invoke during processing of files. + + + + + Delegate to invoke when processing for a file has been completed. + + + + + Delegate to invoke when processing directory failures. + + + + + Delegate to invoke when processing file failures. + + + + + Raise the directory failure event. + + The directory causing the failure. + The exception for this event. + A boolean indicating if execution should continue or not. + + + + Raises the file failure delegate. + + The file causing the failure. + The exception for this failure. + A boolean indicating if execution should continue or not. + + + + Fires the Process File delegate. + + The file being processed. + A boolean indicating if execution should continue or not. + + + + Fires the CompletedFile delegate + + The file whose processing has been completed. + A boolean indicating if execution should continue or not. + + + + Fires the process directory delegate. + + The directory being processed. + Flag indicating if the directory has matching files as determined by the current filter. + A of true if the operation should continue; false otherwise. + + + + The minimum timespan between events. + + The minimum period of time between events. + + + + + FastZip provides facilities for creating and extracting zip files. + + + + + Initialise a default instance of . + + + + + Initialise a new instance of + + The events to use during operations. + + + + Create a zip file. + + The name of the zip file to create. + The directory to source files from. + True to recurse directories, false for no recursion. + The file filter to apply. + The directory filter to apply. + + + + Create a zip file/archive. + + The name of the zip file to create. + The directory to obtain files and directories from. + True to recurse directories, false for no recursion. + The file filter to apply. + + + + Create a zip archive sending output to the passed. + + The stream to write archive data to. + The directory to source files from. + True to recurse directories, false for no recursion. + The file filter to apply. + The directory filter to apply. + + + + Extract the contents of a zip file. + + The zip file to extract from. + The directory to save extracted information in. + A filter to apply to files. + + + + Extract the contents of a zip file. + + The zip file to extract from. + The directory to save extracted information in. + The style of overwriting to apply. + A delegate to invoke when confirming overwriting. + A filter to apply to files. + A filter to apply to directories. + Flag indicating wether to restore the date and time for extracted files. + + + + Get/set a value indicating wether empty directories should be created. + + + + + Get / set the password value. + + + + + Get or set the active when creating Zip files. + + + + + + Get or set the active when creating Zip files. + + + + + Get/set a value indicating wether file dates and times should + be restored when extracting files from an archive. + + The default value is false. + + + + Get/set a value indicating wether file attributes should + be restored during extract operations + + + + + Defines the desired handling when overwriting files during extraction. + + + + + Prompt the user to confirm overwriting + + + + + Never overwrite files. + + + + + Always overwrite files. + + + + + Delegate called when confirming overwriting of files. + + + + + NameFilter is a string matching class which allows for both positive and negative + matching. + A filter is a sequence of independant regular expressions separated by semi-colons ';' + Each expression can be prefixed by a plus '+' sign or a minus '-' sign to denote the expression + is intended to include or exclude names. If neither a plus or minus sign is found include is the default + A given name is tested for inclusion before checking exclusions. Only names matching an include spec + and not matching an exclude spec are deemed to match the filter. + An empty filter matches any name. + + The following expression includes all name ending in '.dat' with the exception of 'dummy.dat' + "+\.dat$;-^dummy\.dat$" + + + + + Scanning filters support filtering of names. + + + + + Test a name to see if it 'matches' the filter. + + The name to test. + Returns true if the name matches the filter, false if it does not match. + + + + Construct an instance based on the filter expression passed + + The filter expression. + + + + Test a string to see if it is a valid regular expression. + + The expression to test. + True if expression is a valid false otherwise. + + + + Test an expression to see if it is valid as a filter. + + The filter expression to test. + True if the expression is valid, false otherwise. + + + + Convert this filter to its string equivalent. + + The string equivalent for this filter. + + + + Test a value to see if it is included by the filter. + + The value to test. + True if the value is included, false otherwise. + + + + Test a value to see if it is excluded by the filter. + + The value to test. + True if the value is excluded, false otherwise. + + + + Test a value to see if it matches the filter. + + The value to test. + True if the value matches, false otherwise. + + + + Compile this filter. + + + + + Huffman tree used for inflation + + + + + Literal length tree + + + + + Distance tree + + + + + Constructs a Huffman tree from the array of code lengths. + + + the array of code lengths + + + + + Reads the next symbol from input. The symbol is encoded using the + huffman tree. + + + input the input source. + + + the next symbol, or -1 if not enough input is available. + + + + + This class is general purpose class for writing data to a buffer. + + It allows you to write bits as well as bytes + Based on DeflaterPending.java + + author of the original java version : Jochen Hoenicke + + + + + Internal work buffer + + + + + construct instance using default buffer size of 4096 + + + + + construct instance using specified buffer size + + + size to use for internal buffer + + + + + Clear internal state/buffers + + + + + Write a byte to buffer + + + The value to write + + + + + Write a short value to buffer LSB first + + + The value to write. + + + + + write an integer LSB first + + The value to write. + + + + Write a block of data to buffer + + data to write + offset of first byte to write + number of bytes to write + + + + Align internal buffer on a byte boundary + + + + + Write bits to internal buffer + + source of bits + number of bits to write + + + + Write a short value to internal buffer most significant byte first + + value to write + + + + Flushes the pending buffer into the given output array. If the + output array is to small, only a partial flush is done. + + The output array. + The offset into output array. + The maximum number of bytes to store. + The number of bytes flushed. + + + + Convert internal buffer to byte array. + Buffer is empty on completion + + + The internal buffer contents converted to a byte array. + + + + + The number of bits written to the buffer + + + + + Indicates if buffer has been flushed + + + + + Used to advise clients of 'events' while processing archives + + + + + The TarArchive class implements the concept of a + 'Tape Archive'. A tar archive is a series of entries, each of + which represents a file system object. Each entry in + the archive consists of a header block followed by 0 or more data blocks. + Directory entries consist only of the header block, and are followed by entries + for the directory's contents. File entries consist of a + header followed by the number of blocks needed to + contain the file's contents. All entries are written on + block boundaries. Blocks are 512 bytes long. + + TarArchives are instantiated in either read or write mode, + based upon whether they are instantiated with an InputStream + or an OutputStream. Once instantiated TarArchives read/write + mode can not be changed. + + There is currently no support for random access to tar archives. + However, it seems that subclassing TarArchive, and using the + TarBuffer.CurrentRecord and TarBuffer.CurrentBlock + properties, this would be rather trivial. + + + + + Raises the ProgressMessage event + + The TarEntry for this event + message for this event. Null is no message + + + + Constructor for a default . + + + + + Initalise a TarArchive for input. + + The to use for input. + + + + Initialise a TarArchive for output. + + The to use for output. + + + + The InputStream based constructors create a TarArchive for the + purposes of extracting or listing a tar archive. Thus, use + these constructors when you wish to extract files from or list + the contents of an existing tar archive. + + The stream to retrieve archive data from. + Returns a new suitable for reading from. + + + + Create TarArchive for reading setting block factor + + Stream for tar archive contents + The blocking factor to apply + Returns a suitable for reading. + + + + Create a TarArchive for writing to, using the default blocking factor + + The to write to + Returns a suitable for writing. + + + + Create a TarArchive for writing to + + The stream to write to + The blocking factor to use for buffering. + Returns a suitable for writing. + + + + Set the flag that determines whether existing files are + kept, or overwritten during extraction. + + + If true, do not overwrite existing files. + + + + + Set the ascii file translation flag. + + + If true, translate ascii text files. + + + + + Set user and group information that will be used to fill in the + tar archive's entry headers. This information based on that available + for the linux operating system, which is not always available on other + operating systems. TarArchive allows the programmer to specify values + to be used in their place. + is set to true by this call. + + + The user id to use in the headers. + + + The user name to use in the headers. + + + The group id to use in the headers. + + + The group name to use in the headers. + + + + + Close the archive. + + + + + Perform the "list" command for the archive contents. + + NOTE That this method uses the progress event to actually list + the contents. If the progress display event is not set, nothing will be listed! + + + + + Perform the "extract" command and extract the contents of the archive. + + + The destination directory into which to extract. + + + + + Extract an entry from the archive. This method assumes that the + tarIn stream has been properly set with a call to GetNextEntry(). + + + The destination directory into which to extract. + + + The TarEntry returned by tarIn.GetNextEntry(). + + + + + Write an entry to the archive. This method will call the putNextEntry + and then write the contents of the entry, and finally call closeEntry() + for entries that are files. For directories, it will call putNextEntry(), + and then, if the recurse flag is true, process each entry that is a + child of the directory. + + + The TarEntry representing the entry to write to the archive. + + + If true, process the children of directory entries. + + + + + Write an entry to the archive. This method will call the putNextEntry + and then write the contents of the entry, and finally call closeEntry() + for entries that are files. For directories, it will call putNextEntry(), + and then, if the recurse flag is true, process each entry that is a + child of the directory. + + + The TarEntry representing the entry to write to the archive. + + + If true, process the children of directory entries. + + + + + Releases the unmanaged resources used by the FileStream and optionally releases the managed resources. + + true to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Closes the archive and releases any associated resources. + + + + + Ensures that resources are freed and other cleanup operations are performed + when the garbage collector reclaims the . + + + + + Client hook allowing detailed information to be reported during processing + + + + + Get/set the ascii file translation flag. If ascii file translation + is true, then the file is checked to see if it a binary file or not. + If the flag is true and the test indicates it is ascii text + file, it will be translated. The translation converts the local + operating system's concept of line ends into the UNIX line end, + '\n', which is the defacto standard for a TAR archive. This makes + text files compatible with UNIX. + + + + + PathPrefix is added to entry names as they are written if the value is not null. + A slash character is appended after PathPrefix + + + + + RootPath is removed from entry names if it is found at the + beginning of the name. + + + + + Get or set a value indicating if overrides defined by SetUserInfo should be applied. + + If overrides are not applied then the values as set in each header will be used. + + + + Get the archive user id. + See ApplyUserInfoOverrides for detail + on how to allow setting values on a per entry basis. + + + The current user id. + + + + + Get the archive user name. + See ApplyUserInfoOverrides for detail + on how to allow setting values on a per entry basis. + + + The current user name. + + + + + Get the archive group id. + See ApplyUserInfoOverrides for detail + on how to allow setting values on a per entry basis. + + + The current group id. + + + + + Get the archive group name. + See ApplyUserInfoOverrides for detail + on how to allow setting values on a per entry basis. + + + The current group name. + + + + + Get the archive's record size. Tar archives are composed of + a series of RECORDS each containing a number of BLOCKS. + This allowed tar archives to match the IO characteristics of + the physical device being used. Archives are expected + to be properly "blocked". + + + The record size this archive is using. + + + + + An output stream that compresses into the BZip2 format + including file header chars into another stream. + + + + + Construct a default output stream with maximum block size + + The stream to write BZip data onto. + + + + Initialise a new instance of the + for the specified stream, using the given blocksize. + + The stream to write compressed data to. + The block size to use. + + Valid block sizes are in the range 1..9, with 1 giving + the lowest compression and 9 the highest. + + + + + Ensures that resources are freed and other cleanup operations + are performed when the garbage collector reclaims the BZip2OutputStream. + + + + + Sets the current position of this stream to the given value. + + The point relative to the offset from which to being seeking. + The reference point from which to begin seeking. + The new position in the stream. + + + + Sets the length of this stream to the given value. + + The new stream length. + + + + Read a byte from the stream advancing the position. + + The byte read cast to an int; -1 if end of stream. + + + + Read a block of bytes + + The buffer to read into. + The offset in the buffer to start storing data at. + The maximum number of bytes to read. + The total number of bytes read. This might be less than the number of bytes + requested if that number of bytes are not currently available, or zero + if the end of the stream is reached. + + + + Write a block of bytes to the stream + + The buffer containing data to write. + The offset of the first byte to write. + The number of bytes to write. + + + + Write a byte to the stream. + + The byte to write to the stream. + + + + End the current block and end compression. + Close the stream and free any resources + + + + + Get the number of bytes written to output. + + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Flush output buffers + + + + + Get/set flag indicating ownership of underlying stream. + When the flag is true will close the underlying stream also. + + + + + Gets a value indicating whether the current stream supports reading + + + + + Gets a value indicating whether the current stream supports seeking + + + + + Gets a value indicating whether the current stream supports writing + + + + + Gets the length in bytes of the stream + + + + + Gets or sets the current position of this stream. + + + + + Get the number of bytes written to the output. + + + + + Represents exception conditions specific to Zip archive handling + + + + + SharpZipBaseException is the base exception class for the SharpZipLibrary. + All library exceptions are derived from this. + + NOTE: Not all exceptions thrown will be derived from this class. + A variety of other exceptions are possible for example + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initializes a new instance of the SharpZipBaseException class. + + + + + Initializes a new instance of the SharpZipBaseException class with a specified error message. + + A message describing the exception. + + + + Initializes a new instance of the SharpZipBaseException class with a specified + error message and a reference to the inner exception that is the cause of this exception. + + A message describing the exception. + The inner exception + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initializes a new instance of the ZipException class. + + + + + Initializes a new instance of the ZipException class with a specified error message. + + The error message that explains the reason for the exception. + + + + Initialise a new instance of ZipException. + + A message describing the error. + The exception that is the cause of the current exception. + + + + A helper class to simplify compressing and decompressing streams. + + + + + Decompress input writing + decompressed data to the output stream + + The stream containing data to decompress. + The stream to write decompressed data to. + Both streams are closed on completion + + + + Compress input stream sending + result to output stream + + The stream to compress. + The stream to write compressed data to. + The block size to use. + Both streams are closed on completion + + + + Initialise a default instance of this class. + + + + + Determines how entries are tested to see if they should use Zip64 extensions or not. + + + + + Zip64 will not be forced on entries during processing. + + An entry can have this overridden if required + + + + Zip64 should always be used. + + + + + #ZipLib will determine use based on entry values when added to archive. + + + + + The kind of compression used for an entry in an archive + + + + + A direct copy of the file contents is held in the archive + + + + + Common Zip compression method using a sliding dictionary + of up to 32KB and secondary compression from Huffman/Shannon-Fano trees + + + + + An extension to deflate with a 64KB window. Not supported by #Zip currently + + + + + Not supported by #Zip currently + + + + + WinZip special for AES encryption, Not supported by #Zip + + + + + Identifies the encryption algorithm used for an entry + + + + + No encryption has been used. + + + + + Encrypted using PKZIP 2.0 or 'classic' encryption. + + + + + DES encryption has been used. + + + + + RCS encryption has been used for encryption. + + + + + Triple DES encryption with 168 bit keys has been used for this entry. + + + + + Triple DES with 112 bit keys has been used for this entry. + + + + + AES 128 has been used for encryption. + + + + + AES 192 has been used for encryption. + + + + + AES 256 has been used for encryption. + + + + + RC2 corrected has been used for encryption. + + + + + Blowfish has been used for encryption. + + + + + Twofish has been used for encryption. + + + + + RCS has been used for encryption. + + + + + An unknown algorithm has been used for encryption. + + + + + Defines the contents of the general bit flags field for an archive entry. + + + + + Bit 0 if set indicates that the file is encrypted + + + + + Bits 1 and 2 - Two bits defining the compression method (only for Method 6 Imploding and 8,9 Deflating) + + + + + Bit 3 if set indicates a trailing data desciptor is appended to the entry data + + + + + Bit 4 is reserved for use with method 8 for enhanced deflation + + + + + Bit 5 if set indicates the file contains Pkzip compressed patched data. + Requires version 2.7 or greater. + + + + + Bit 6 if set strong encryption has been used for this entry. + + + + + Bit 7 is currently unused + + + + + Bit 8 is currently unused + + + + + Bit 9 is currently unused + + + + + Bit 10 is currently unused + + + + + Bit 11 if set indicates the filename and + comment fields for this file must be encoded using UTF-8. + + + + + Bit 12 is documented as being reserved by PKware for enhanced compression. + + + + + Bit 13 if set indicates that values in the local header are masked to hide + their actual values, and the central directory is encrypted. + + + Used when encrypting the central directory contents. + + + + + Bit 14 is documented as being reserved for use by PKware + + + + + Bit 15 is documented as being reserved for use by PKware + + + + + This class contains constants used for Zip format files + + + + + The version made by field for entries in the central header when created by this library + + + This is also the Zip version for the library when comparing against the version required to extract + for an entry. See . + + + + + The version made by field for entries in the central header when created by this library + + + This is also the Zip version for the library when comparing against the version required to extract + for an entry. See ZipInputStream.CanDecompressEntry. + + + + + The minimum version required to support strong encryption + + + + + The minimum version required to support strong encryption + + + + + The version required for Zip64 extensions + + + + + Size of local entry header (excluding variable length fields at end) + + + + + Size of local entry header (excluding variable length fields at end) + + + + + Size of Zip64 data descriptor + + + + + Size of data descriptor + + + + + Size of data descriptor + + + + + Size of central header entry (excluding variable fields) + + + + + Size of central header entry + + + + + Size of end of central record (excluding variable fields) + + + + + Size of end of central record (excluding variable fields) + + + + + Size of 'classic' cryptographic header stored before any entry data + + + + + Size of cryptographic header stored before entry data + + + + + Signature for local entry header + + + + + Signature for local entry header + + + + + Signature for spanning entry + + + + + Signature for spanning entry + + + + + Signature for temporary spanning entry + + + + + Signature for temporary spanning entry + + + + + Signature for data descriptor + + + This is only used where the length, Crc, or compressed size isnt known when the + entry is created and the output stream doesnt support seeking. + The local entry cannot be 'patched' with the correct values in this case + so the values are recorded after the data prefixed by this header, as well as in the central directory. + + + + + Signature for data descriptor + + + This is only used where the length, Crc, or compressed size isnt known when the + entry is created and the output stream doesnt support seeking. + The local entry cannot be 'patched' with the correct values in this case + so the values are recorded after the data prefixed by this header, as well as in the central directory. + + + + + Signature for central header + + + + + Signature for central header + + + + + Signature for Zip64 central file header + + + + + Signature for Zip64 central file header + + + + + Signature for Zip64 central directory locator + + + + + Signature for archive extra data signature (were headers are encrypted). + + + + + Central header digitial signature + + + + + Central header digitial signature + + + + + End of central directory record signature + + + + + End of central directory record signature + + + + + Convert a portion of a byte array to a string. + + + Data to convert to string + + + Number of bytes to convert starting from index 0 + + + data[0]..data[length - 1] converted to a string + + + + + Convert a byte array to string + + + Byte array to convert + + + dataconverted to a string + + + + + Convert a byte array to string + + The applicable general purpose bits flags + + Byte array to convert + + The number of bytes to convert. + + dataconverted to a string + + + + + Convert a byte array to string + + + Byte array to convert + + The applicable general purpose bits flags + + dataconverted to a string + + + + + Convert a string to a byte array + + + String to convert to an array + + Converted array + + + + Convert a string to a byte array + + The applicable general purpose bits flags + + String to convert to an array + + Converted array + + + + Initialise default instance of ZipConstants + + + Private to prevent instances being created. + + + + + Default encoding used for string conversion. 0 gives the default system OEM code page. + Dont use unicode encodings if you want to be Zip compatible! + Using the default code page isnt the full solution neccessarily + there are many variable factors, codepage 850 is often a good choice for + European users, however be careful about compatability. + + + + + This is a DeflaterOutputStream that writes the files into a zip + archive one after another. It has a special method to start a new + zip entry. The zip entries contains information about the file name + size, compressed size, CRC, etc. + + It includes support for Stored and Deflated entries. + This class is not thread safe. +
+
Author of the original java version : Jochen Hoenicke +
+ This sample shows how to create a zip file + + using System; + using System.IO; + + using ICSharpCode.SharpZipLib.Core; + using ICSharpCode.SharpZipLib.Zip; + + class MainClass + { + public static void Main(string[] args) + { + string[] filenames = Directory.GetFiles(args[0]); + byte[] buffer = new byte[4096]; + + using ( ZipOutputStream s = new ZipOutputStream(File.Create(args[1])) ) { + + s.SetLevel(9); // 0 - store only to 9 - means best compression + + foreach (string file in filenames) { + ZipEntry entry = new ZipEntry(file); + s.PutNextEntry(entry); + + using (FileStream fs = File.OpenRead(file)) { + StreamUtils.Copy(fs, s, buffer); + } + } + } + } + } + + +
+ + + A special stream deflating or compressing the bytes that are + written to it. It uses a Deflater to perform actual deflating.
+ Authors of the original java version : Tom Tromey, Jochen Hoenicke +
+
+ + + Creates a new DeflaterOutputStream with a default Deflater and default buffer size. + + + the output stream where deflated output should be written. + + + + + Creates a new DeflaterOutputStream with the given Deflater and + default buffer size. + + + the output stream where deflated output should be written. + + + the underlying deflater. + + + + + Creates a new DeflaterOutputStream with the given Deflater and + buffer size. + + + The output stream where deflated output is written. + + + The underlying deflater to use + + + The buffer size to use when deflating + + + bufsize is less than or equal to zero. + + + baseOutputStream does not support writing + + + deflater instance is null + + + + + Finishes the stream by calling finish() on the deflater. + + + Not all input is deflated + + + + + Encrypt a block of data + + + Data to encrypt. NOTE the original contents of the buffer are lost + + + Offset of first byte in buffer to encrypt + + + Number of bytes in buffer to encrypt + + + + + Initializes encryption keys based on given password + + The password. + + + + Deflates everything in the input buffers. This will call + def.deflate() until all bytes from the input buffers + are processed. + + + + + Sets the current position of this stream to the given value. Not supported by this class! + + The offset relative to the to seek. + The to seek from. + The new position in the stream. + Any access + + + + Sets the length of this stream to the given value. Not supported by this class! + + The new stream length. + Any access + + + + Read a byte from stream advancing position by one + + The byte read cast to an int. THe value is -1 if at the end of the stream. + Any access + + + + Read a block of bytes from stream + + The buffer to store read data in. + The offset to start storing at. + The maximum number of bytes to read. + The actual number of bytes read. Zero if end of stream is detected. + Any access + + + + Asynchronous reads are not supported a NotSupportedException is always thrown + + The buffer to read into. + The offset to start storing data at. + The number of bytes to read + The async callback to use. + The state to use. + Returns an + Any access + + + + Asynchronous writes arent supported, a NotSupportedException is always thrown + + The buffer to write. + The offset to begin writing at. + The number of bytes to write. + The to use. + The state object. + Returns an IAsyncResult. + Any access + + + + Flushes the stream by calling Flush on the deflater and then + on the underlying stream. This ensures that all bytes are flushed. + + + + + Calls and closes the underlying + stream when is true. + + + + + Writes a single byte to the compressed output stream. + + + The byte value. + + + + + Writes bytes from an array to the compressed stream. + + + The byte array + + + The offset into the byte array where to start. + + + The number of bytes to write. + + + + + This buffer is used temporarily to retrieve the bytes from the + deflater and write them to the underlying output stream. + + + + + The deflater which is used to deflate the stream. + + + + + Base stream the deflater depends on. + + + + + Get/set flag indicating ownership of the underlying stream. + When the flag is true will close the underlying stream also. + + + + + Allows client to determine if an entry can be patched after its added + + + + + Get/set the password used for encryption. + + When set to null or if the password is empty no encryption is performed + + + + Gets value indicating stream can be read from + + + + + Gets a value indicating if seeking is supported for this stream + This property always returns false + + + + + Get value indicating if this stream supports writing + + + + + Get current length of stream + + + + + Gets the current position within the stream. + + Any attempt to set position + + + + Creates a new Zip output stream, writing a zip archive. + + + The output stream to which the archive contents are written. + + + + + Set the zip file comment. + + + The comment text for the entire archive. + + + The converted comment is longer than 0xffff bytes. + + + + + Sets the compression level. The new level will be activated + immediately. + + The new compression level (1 to 9). + + Level specified is not supported. + + + + + + Get the current deflater compression level + + The current compression level + + + + Write an unsigned short in little endian byte order. + + + + + Write an int in little endian byte order. + + + + + Write an int in little endian byte order. + + + + + Starts a new Zip entry. It automatically closes the previous + entry if present. + All entry elements bar name are optional, but must be correct if present. + If the compression method is stored and the output is not patchable + the compression for that entry is automatically changed to deflate level 0 + + + the entry. + + + if entry passed is null. + + + if an I/O error occured. + + + if stream was finished + + + Too many entries in the Zip file
+ Entry name is too long
+ Finish has already been called
+
+
+ + + Closes the current entry, updating header and footer information as required + + + An I/O error occurs. + + + No entry is active. + + + + + Writes the given buffer to the current entry. + + The buffer containing data to write. + The offset of the first byte to write. + The number of bytes to write. + Archive size is invalid + No entry is active. + + + + Finishes the stream. This will write the central directory at the + end of the zip file and flush the stream. + + + This is automatically called when the stream is closed. + + + An I/O error occurs. + + + Comment exceeds the maximum length
+ Entry name exceeds the maximum length +
+
+ + + The entries for the archive. + + + + + Used to track the crc of data added to entries. + + + + + The current entry being added. + + + + + Used to track the size of data for an entry during writing. + + + + + Offset to be recorded for each entry in the central header. + + + + + Comment for the entire archive recorded in central header. + + + + + Flag indicating that header patching is required for the current entry. + + + + + Position to patch crc + + + + + Position to patch size. + + + + + Gets a flag value of true if the central header has been added for this archive; false if it has not been added. + + No further entries can be added once this has been done. + + + + Get / set a value indicating how Zip64 Extension usage is determined when adding entries. + + Older archivers may not understand Zip64 extensions. + If backwards compatability is an issue be careful when adding entries to an archive. + Setting this property to off is workable but less desirable as in those circumstances adding a file + larger then 4GB will fail. + + + + INameTransform defines how file system names are transformed for use with archives. + + + + + Given a file name determine the transformed value. + + The name to transform. + The transformed file name. + + + + Given a directory name determine the transformed value. + + The name to transform. + The transformed directory name + + + + This class contains constants used for deflation. + + + + + Set to true to enable debugging + + + + + Written to Zip file to identify a stored block + + + + + Identifies static tree in Zip file + + + + + Identifies dynamic tree in Zip file + + + + + Header flag indicating a preset dictionary for deflation + + + + + Sets internal buffer sizes for Huffman encoding + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + This class stores the pending output of the Deflater. + + author of the original java version : Jochen Hoenicke + + + + + Construct instance with default buffer size + + + + + PathFilter filters directories and files using a form of regular expressions + by full path name. + See NameFilter for more detail on filtering. + + + + + Initialise a new instance of . + + The filter expression to apply. + + + + Test a name to see if it matches the filter. + + The name to test. + True if the name matches, false otherwise. + + + + ExtendedPathFilter filters based on name, file size, and the last write time of the file. + + Provides an example of how to customise filtering. + + + + Initialise a new instance of ExtendedPathFilter. + + The filter to apply. + The minimum file size to include. + The maximum file size to include. + + + + Initialise a new instance of ExtendedPathFilter. + + The filter to apply. + The minimum to include. + The maximum to include. + + + + Initialise a new instance of ExtendedPathFilter. + + The filter to apply. + The minimum file size to include. + The maximum file size to include. + The minimum to include. + The maximum to include. + + + + Test a filename to see if it matches the filter. + + The filename to test. + True if the filter matches, false otherwise. + + + + Get/set the minimum size for a file that will match this filter. + + + + + Get/set the maximum size for a file that will match this filter. + + + + + Get/set the minimum value that will match for this filter. + + Files with a LastWrite time less than this value are excluded by the filter. + + + + Get/set the maximum value that will match for this filter. + + Files with a LastWrite time greater than this value are excluded by the filter. + + + + NameAndSizeFilter filters based on name and file size. + + A sample showing how filters might be extended. + + + + Initialise a new instance of NameAndSizeFilter. + + The filter to apply. + The minimum file size to include. + The maximum file size to include. + + + + Test a filename to see if it matches the filter. + + The filename to test. + True if the filter matches, false otherwise. + + + + Get/set the minimum size for a file that will match this filter. + + + + + Get/set the maximum size for a file that will match this filter. + + + + + BZip2Exception represents exceptions specific to Bzip2 algorithm + + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initialise a new instance of BZip2Exception. + + + + + Initialise a new instance of BZip2Exception with its message set to message. + + The message describing the error. + + + + Initialise an instance of BZip2Exception + + A message describing the error. + The exception that is the cause of the current exception. + + + + GZipException represents a Gzip specific exception + + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initialise a new instance of GZipException + + + + + Initialise a new instance of GZipException with its message string. + + A that describes the error. + + + + Initialise a new instance of . + + A that describes the error. + The that caused this exception. + + + + Contains the output from the Inflation process. + We need to have a window so that we can refer backwards into the output stream + to repeat stuff.
+ Author of the original java version : John Leuner +
+
+ + + Write a byte to this output window + + value to write + + if window is full + + + + + Append a byte pattern already in the window itself + + length of pattern to copy + distance from end of window pattern occurs + + If the repeated data overflows the window + + + + + Copy from input manipulator to internal window + + source of data + length of data to copy + the number of bytes copied + + + + Copy dictionary to window + + source dictionary + offset of start in source dictionary + length of dictionary + + If window isnt empty + + + + + Get remaining unfilled space in window + + Number of bytes left in window + + + + Get bytes available for output in window + + Number of bytes filled + + + + Copy contents of window to output + + buffer to copy to + offset to start at + number of bytes to count + The number of bytes copied + + If a window underflow occurs + + + + + Reset by clearing window so GetAvailable returns 0 + + + + + Defines internal values for both compression and decompression + + + + + When multiplied by compression parameter (1-9) gives the block size for compression + 9 gives the best compresssion but uses the most memory. + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Random numbers used to randomise repetitive blocks + + + + + This filter stream is used to compress a stream into a "GZIP" stream. + The "GZIP" format is described in RFC 1952. + + author of the original java version : John Leuner + + This sample shows how to gzip a file + + using System; + using System.IO; + + using ICSharpCode.SharpZipLib.GZip; + using ICSharpCode.SharpZipLib.Core; + + class MainClass + { + public static void Main(string[] args) + { + using (Stream s = new GZipOutputStream(File.Create(args[0] + ".gz"))) + using (FileStream fs = File.OpenRead(args[0])) { + byte[] writeData = new byte[4096]; + Streamutils.Copy(s, fs, writeData); + } + } + } + } + + + + + + CRC-32 value for uncompressed data + + + + + Creates a GzipOutputStream with the default buffer size + + + The stream to read data (to be compressed) from + + + + + Creates a GZipOutputStream with the specified buffer size + + + The stream to read data (to be compressed) from + + + Size of the buffer to use + + + + + Sets the active compression level (1-9). The new level will be activated + immediately. + + The compression level to set. + + Level specified is not supported. + + + + + + Get the current compression level. + + The current compression level. + + + + Write given buffer to output updating crc + + Buffer to write + Offset of first byte in buf to write + Number of bytes to write + + + + Writes remaining compressed output data to the output stream + and closes it. + + + + + Finish compression and write any footer information required to stream + + + + + Arguments used with KeysRequiredEvent + + + + + Initialise a new instance of + + The name of the file for which keys are required. + + + + Initialise a new instance of + + The name of the file for which keys are required. + The current key value. + + + + Get the name of the file for which keys are required. + + + + + Get/set the key value + + + + + The strategy to apply to testing. + + + + + Find the first error only. + + + + + Find all possible errors. + + + + + The operation in progress reported by a during testing. + + TestArchive + + + + Setting up testing. + + + + + Testing an individual entries header + + + + + Testing an individual entries data + + + + + Testing an individual entry has completed. + + + + + Running miscellaneous tests + + + + + Testing is complete + + + + + Status returned returned by during testing. + + TestArchive + + + + Initialise a new instance of + + The this status applies to. + + + + Get the current in progress. + + + + + Get the this status is applicable to. + + + + + Get the current/last entry tested. + + + + + Get the number of errors detected so far. + + + + + Get the number of bytes tested so far for the current entry. + + + + + Get a value indicating wether the last entry test was valid. + + + + + Delegate invoked during testing if supplied indicating current progress and status. + + If the message is non-null an error has occured. If the message is null + the operation as found in status has started. + + + + The possible ways of applying updates to an archive. + + + + + Perform all updates on temporary files ensuring that the original file is saved. + + + + + Update the archive directly, which is faster but less safe. + + + + + This class represents a Zip archive. You can ask for the contained + entries, or get an input stream for a file entry. The entry is + automatically decompressed. + + You can also update the archive adding or deleting entries. + + This class is thread safe for input: You can open input streams for arbitrary + entries in different threads. +
+
Author of the original java version : Jochen Hoenicke +
+ + + using System; + using System.Text; + using System.Collections; + using System.IO; + + using ICSharpCode.SharpZipLib.Zip; + + class MainClass + { + static public void Main(string[] args) + { + using (ZipFile zFile = new ZipFile(args[0])) { + Console.WriteLine("Listing of : " + zFile.Name); + Console.WriteLine(""); + Console.WriteLine("Raw Size Size Date Time Name"); + Console.WriteLine("-------- -------- -------- ------ ---------"); + foreach (ZipEntry e in zFile) { + if ( e.IsFile ) { + DateTime d = e.DateTime; + Console.WriteLine("{0, -10}{1, -10}{2} {3} {4}", e.Size, e.CompressedSize, + d.ToString("dd-MM-yy"), d.ToString("HH:mm"), + e.Name); + } + } + } + } + } + + +
+ + + Event handler for handling encryption keys. + + + + + Handles getting of encryption keys when required. + + The file for which encryption keys are required. + + + + Opens a Zip file with the given name for reading. + + The name of the file to open. + + An i/o error occurs + + + The file doesn't contain a valid zip archive. + + + + + Opens a Zip file reading the given . + + The to read archive data from. + + An i/o error occurs. + + + The file doesn't contain a valid zip archive. + + + + + Opens a Zip file reading the given . + + The to read archive data from. + + An i/o error occurs + + + The file doesn't contain a valid zip archive.
+ The stream provided cannot seek +
+
+ + + Initialises a default instance with no entries and no file storage. + + + + + Finalize this instance. + + + + + Closes the ZipFile. If the stream is owned then this also closes the underlying input stream. + Once closed, no further instance methods should be called. + + + An i/o error occurs. + + + + + Create a new whose data will be stored in a file. + + The name of the archive to create. + Returns the newly created + + + + Create a new whose data will be stored on a stream. + + The stream providing data storage. + Returns the newly created + + + + Gets an enumerator for the Zip entries in this Zip file. + + Returns an for this archive. + + The Zip file has been closed. + + + + + Return the index of the entry with a matching name + + Entry name to find + If true the comparison is case insensitive + The index position of the matching entry or -1 if not found + + The Zip file has been closed. + + + + + Searches for a zip entry in this archive with the given name. + String comparisons are case insensitive + + + The name to find. May contain directory components separated by slashes ('/'). + + + A clone of the zip entry, or null if no entry with that name exists. + + + The Zip file has been closed. + + + + + Gets an input stream for reading the given zip entry data in an uncompressed form. + Normally the should be an entry returned by GetEntry(). + + The to obtain a data for + An input containing data for this + + The ZipFile has already been closed + + + The compression method for the entry is unknown + + + The entry is not found in the ZipFile + + + + + Creates an input stream reading a zip entry + + The index of the entry to obtain an input stream for. + + An input containing data for this + + + The ZipFile has already been closed + + + The compression method for the entry is unknown + + + The entry is not found in the ZipFile + + + + + Test an archive for integrity/validity + + Perform low level data Crc check + true if all tests pass, false otherwise + Testing will terminate on the first error found. + + + + Test an archive for integrity/validity + + Perform low level data Crc check + The to apply. + The handler to call during testing. + true if all tests pass, false otherwise + + + + Test a local header against that provided from the central directory + + + The entry to test against + + The type of tests to carry out. + The offset of the entries data in the file + + + + Begin updating this archive. + + The archive storage for use during the update. + The data source to utilise during updating. + + + + Begin updating to this archive. + + The storage to use during the update. + + + + Begin updating this archive. + + + + + + + + Commit current updates, updating this archive. + + + + + + + Abort updating leaving the archive unchanged. + + + + + + + Set the file comment to be recorded when the current update is commited. + + The comment to record. + + + + Add a new entry to the archive. + + The name of the file to add. + The compression method to use. + Ensure Unicode text is used for name and comment for this entry. + + + + Add a new entry to the archive. + + The name of the file to add. + The compression method to use. + + + + Add a file to the archive. + + The name of the file to add. + + + + Add a file entry with data. + + The source of the data for this entry. + The name to give to the entry. + + + + Add a file entry with data. + + The source of the data for this entry. + The name to give to the entry. + The compression method to use. + + + + Add a file entry with data. + + The source of the data for this entry. + The name to give to the entry. + The compression method to use. + Ensure Unicode text is used for name and comments for this entry. + + + + Add a that contains no data. + + The entry to add. + This can be used to add directories, volume labels, or empty file entries. + + + + Add a directory entry to the archive. + + The directory to add. + + + + Delete an entry by name + + The filename to delete + True if the entry was found and deleted; false otherwise. + + + + Delete a from the archive. + + The entry to delete. + + + + Write an unsigned short in little endian byte order. + + + + + Write an int in little endian byte order. + + + + + Write an unsigned int in little endian byte order. + + + + + Write a long in little endian byte order. + + + + + Get a raw memory buffer. + + Returns a raw memory buffer. + + + + Get the size of the source descriptor for a . + + The update to get the size for. + The descriptor size, zero if there isnt one. + + + + Get an output stream for the specified + + The entry to get an output stream for. + The output stream obtained for the entry. + + + + Releases the unmanaged resources used by the this instance and optionally releases the managed resources. + + true to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Read an unsigned short in little endian byte order. + + Returns the value read. + + The stream ends prematurely + + + + + Read a uint in little endian byte order. + + Returns the value read. + + An i/o error occurs. + + + The file ends prematurely + + + + + Search for and read the central directory of a zip file filling the entries array. + + + An i/o error occurs. + + + The central directory is malformed or cannot be found + + + + + Locate the data for a given entry. + + + The start offset of the data. + + + The stream ends prematurely + + + The local header signature is invalid, the entry and central header file name lengths are different + or the local and entry compression methods dont match + + + + + Get/set the encryption key value. + + + + + Password to be used for encrypting/decrypting files. + + Set to null if no password is required. + + + + Get a value indicating wether encryption keys are currently available. + + + + + Get/set a flag indicating if the underlying stream is owned by the ZipFile instance. + If the flag is true then the stream will be closed when Close is called. + + + The default value is true in all cases. + + + + + Get a value indicating wether + this archive is embedded in another file or not. + + + + + Get a value indicating that this archive is a new one. + + + + + Gets the comment for the zip file. + + + + + Gets the name of this zip file. + + + + + Gets the number of entries in this zip file. + + + The Zip file has been closed. + + + + + Get the number of entries contained in this . + + + + + Indexer property for ZipEntries + + + + + Get / set the to apply to names when updating. + + + + + Get/set the used to generate values + during updates. + + + + + Get /set the buffer size to be used when updating this zip file. + + + + + Get a value indicating an update has been started. + + + + + Get / set a value indicating how Zip64 Extension usage is determined when adding entries. + + + + + Delegate for handling keys/password setting during compresion/decompression. + + + + + The kind of update to apply. + + + + + Class used to sort updates. + + + + + Compares two objects and returns a value indicating whether one is + less than, equal to or greater than the other. + + First object to compare + Second object to compare. + Compare result. + + + + Represents a pending update to a Zip file. + + + + + Copy an existing entry. + + The existing entry to copy. + + + + Get the for this update. + + This is the source or original entry. + + + + Get the that will be written to the updated/new file. + + + + + Get the command for this update. + + + + + Get the filename if any for this update. Null if none exists. + + + + + Get/set the location of the size patch for this update. + + + + + Get /set the location of the crc patch for this update. + + + + + Represents a string from a which is stored as an array of bytes. + + + + + Initialise a with a string. + + The textual string form. + + + + Initialise a using a string in its binary 'raw' form. + + + + + + Reset the comment to its initial state. + + + + + Implicit conversion of comment to a string. + + The to convert to a string. + The textual equivalent for the input value. + + + + Get a value indicating the original source of data for this instance. + True if the source was a string; false if the source was binary data. + + + + + Get the length of the comment when represented as raw bytes. + + + + + Get the comment in its 'raw' form as plain bytes. + + + + + An enumerator for Zip entries + + + + + An is a stream that you can write uncompressed data + to and flush, but cannot read, seek or do anything else to. + + + + + Close this stream instance. + + + + + Write any buffered data to underlying storage. + + + + + Gets a value indicating whether the current stream supports reading. + + + + + Gets a value indicating whether the current stream supports writing. + + + + + Gets a value indicating whether the current stream supports seeking. + + + + + Get the length in bytes of the stream. + + + + + Gets or sets the position within the current stream. + + + + + A is an + whose data is only a part or subsection of a file. + + + + + This filter stream is used to decompress data compressed using the "deflate" + format. The "deflate" format is described in RFC 1951. + + This stream may form the basis for other decompression filters, such + as the GZipInputStream. + + Author of the original java version : John Leuner. + + + + + Create an InflaterInputStream with the default decompressor + and a default buffer size of 4KB. + + + The InputStream to read bytes from + + + + + Create an InflaterInputStream with the specified decompressor + and a default buffer size of 4KB. + + + The source of input data + + + The decompressor used to decompress data read from baseInputStream + + + + + Create an InflaterInputStream with the specified decompressor + and the specified buffer size. + + + The InputStream to read bytes from + + + The decompressor to use + + + Size of the buffer to use + + + + + Skip specified number of bytes of uncompressed data + + + Number of bytes to skip + + + The number of bytes skipped, zero if the end of + stream has been reached + + + Number of bytes to skip is less than zero + + + + + Clear any cryptographic state. + + + + + Fills the buffer with more data to decompress. + + + Stream ends early + + + + + Flushes the baseInputStream + + + + + Sets the position within the current stream + Always throws a NotSupportedException + + The relative offset to seek to. + The defining where to seek from. + The new position in the stream. + Any access + + + + Set the length of the current stream + Always throws a NotSupportedException + + The new length value for the stream. + Any access + + + + Writes a sequence of bytes to stream and advances the current position + This method always throws a NotSupportedException + + Thew buffer containing data to write. + The offset of the first byte to write. + The number of bytes to write. + Any access + + + + Writes one byte to the current stream and advances the current position + Always throws a NotSupportedException + + The byte to write. + Any access + + + + Entry point to begin an asynchronous write. Always throws a NotSupportedException. + + The buffer to write data from + Offset of first byte to write + The maximum number of bytes to write + The method to be called when the asynchronous write operation is completed + A user-provided object that distinguishes this particular asynchronous write request from other requests + An IAsyncResult that references the asynchronous write + Any access + + + + Closes the input stream. When + is true the underlying stream is also closed. + + + + + Reads decompressed data into the provided buffer byte array + + + The array to read and decompress data into + + + The offset indicating where the data should be placed + + + The number of bytes to decompress + + The number of bytes read. Zero signals the end of stream + + Inflater needs a dictionary + + + + + Decompressor for this stream + + + + + Input buffer for this stream. + + + + + Base stream the inflater reads from. + + + + + The compressed size + + + + + Flag indicating wether this instance has been closed or not. + + + + + Flag indicating wether this instance is designated the stream owner. + When closing if this flag is true the underlying stream is closed. + + + + + Get/set flag indicating ownership of underlying stream. + When the flag is true will close the underlying stream also. + + + The default value is true. + + + + + Returns 0 once the end of the stream (EOF) has been reached. + Otherwise returns 1. + + + + + Gets a value indicating whether the current stream supports reading + + + + + Gets a value of false indicating seeking is not supported for this stream. + + + + + Gets a value of false indicating that this stream is not writeable. + + + + + A value representing the length of the stream in bytes. + + + + + The current position within the stream. + Throws a NotSupportedException when attempting to set the position + + Attempting to set the position + + + + Initialise a new instance of the class. + + The underlying stream to use for IO. + The start of the partial data. + The length of the partial data. + + + + Skip the specified number of input bytes. + + The maximum number of input bytes to skip. + The actuial number of input bytes skipped. + + + + Read a byte from this stream. + + Returns the byte read or -1 on end of stream. + + + + Close this partial input stream. + + + The underlying stream is not closed. Close the parent ZipFile class to do that. + + + + + Provides a static way to obtain a source of data for an entry. + + + + + Get a source of data by creating a new stream. + + Returns a to use for compression input. + Ideally a new stream is created and opened to achieve this, to avoid locking problems. + + + + Represents a source of data that can dynamically provide + multiple data sources based on the parameters passed. + + + + + Get a data source. + + The to get a source for. + The name for data if known. + Returns a to use for compression input. + Ideally a new stream is created and opened to achieve this, to avoid locking problems. + + + + Default implementation of a for use with files stored on disk. + + + + + Initialise a new instnace of + + The name of the file to obtain data from. + + + + Get a providing data. + + Returns a provising data. + + + + Default implementation of for files stored on disk. + + + + + Initialise a default instance of . + + + + + Get a providing data for an entry. + + The entry to provide data for. + The file name for data if known. + Returns a stream providing data; or null if not available + + + + Defines facilities for data storage when updating Zip Archives. + + + + + Get an empty that can be used for temporary output. + + Returns a temporary output + + + + + Convert a temporary output stream to a final stream. + + The resulting final + + + + + Make a temporary copy of the original stream. + + The to copy. + Returns a temporary output that is a copy of the input. + + + + Return a stream suitable for performing direct updates on the original source. + + The current stream. + Returns a stream suitable for direct updating. + This may be the current stream passed. + + + + Dispose of this instance. + + + + + Get the to apply during updates. + + + + + An abstract suitable for extension by inheritance. + + + + + Initializes a new instance of the class. + + The update mode. + + + + Gets a temporary output + + Returns the temporary output stream. + + + + + Converts the temporary to its final form. + + Returns a that can be used to read + the final storage for the archive. + + + + + Make a temporary copy of a . + + The to make a copy of. + Returns a temporary output that is a copy of the input. + + + + Return a stream suitable for performing direct updates on the original source. + + The to open for direct update. + Returns a stream suitable for direct updating. + + + + Disposes this instance. + + + + + Gets the update mode applicable. + + The update mode. + + + + An implementation suitable for hard disks. + + + + + Initializes a new instance of the class. + + The file. + The update mode. + + + + Initializes a new instance of the class. + + The file. + + + + Gets a temporary output for performing updates on. + + Returns the temporary output stream. + + + + Converts a temporary to its final form. + + Returns a that can be used to read + the final storage for the archive. + + + + Make a temporary copy of a stream. + + The to copy. + Returns a temporary output that is a copy of the input. + + + + Return a stream suitable for performing direct updates on the original source. + + The current stream. + Returns a stream suitable for direct updating. + If the stream is not null this is used as is. + + + + Disposes this instance. + + + + + An implementation suitable for in memory streams. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The to use + This constructor is for testing as memory streams dont really require safe mode. + + + + Gets the temporary output + + Returns the temporary output stream. + + + + Converts the temporary to its final form. + + Returns a that can be used to read + the final storage for the archive. + + + + Make a temporary copy of the original stream. + + The to copy. + Returns a temporary output that is a copy of the input. + + + + Return a stream suitable for performing direct updates on the original source. + + The original source stream + Returns a stream suitable for direct updating. + If the passed is not null this is used; + otherwise a new is returned. + + + + Disposes this instance. + + + + + Get the stream returned by if this was in fact called. + + + + + Generate a table for a byte-wise 32-bit CRC calculation on the polynomial: + x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1. + + Polynomials over GF(2) are represented in binary, one bit per coefficient, + with the lowest powers in the most significant bit. Then adding polynomials + is just exclusive-or, and multiplying a polynomial by x is a right shift by + one. If we call the above polynomial p, and represent a byte as the + polynomial q, also with the lowest power in the most significant bit (so the + byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p, + where a mod b means the remainder after dividing a by b. + + This calculation is done using the shift-register method of multiplying and + taking the remainder. The register is initialized to zero, and for each + incoming bit, x^32 is added mod p to the register if the bit is a one (where + x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by + x (which is shifting right by one and adding x^32 mod p if the bit shifted + out is a one). We start with the highest power (least significant bit) of + q and repeat for all eight bits of q. + + The table is simply the CRC of all possible eight bit values. This is all + the information needed to generate CRC's on data a byte at a time for all + combinations of CRC register values and incoming bytes. + + + + + Interface to compute a data checksum used by checked input/output streams. + A data checksum can be updated by one byte or with a byte array. After each + update the value of the current checksum can be returned by calling + getValue. The complete checksum object can also be reset + so it can be used again with new data. + + + + + Resets the data checksum as if no update was ever called. + + + + + Adds one byte to the data checksum. + + + the data value to add. The high byte of the int is ignored. + + + + + Updates the data checksum with the bytes taken from the array. + + + buffer an array of bytes + + + + + Adds the byte array to the data checksum. + + + The buffer which contains the data + + + The offset in the buffer where the data starts + + + the number of data bytes to add. + + + + + Returns the data checksum computed so far. + + + + + The crc data checksum so far. + + + + + Resets the CRC32 data checksum as if no update was ever called. + + + + + Updates the checksum with the int bval. + + + the byte is taken as the lower 8 bits of value + + + + + Updates the checksum with the bytes taken from the array. + + + buffer an array of bytes + + + + + Adds the byte array to the data checksum. + + + The buffer which contains the data + + + The offset in the buffer where the data starts + + + The number of data bytes to update the CRC with. + + + + + Returns the CRC32 data checksum computed so far. + + + + + Basic implementation of + + + + + Defines factory methods for creating new values. + + + + + Create a for a file given its name + + The name of the file to create an entry for. + Returns a file entry based on the passed. + + + + Create a for a file given its name + + The name of the file to create an entry for. + If true get details from the file system if the file exists. + Returns a file entry based on the passed. + + + + Create a for a directory given its name + + The name of the directory to create an entry for. + Returns a directory entry based on the passed. + + + + Create a for a directory given its name + + The name of the directory to create an entry for. + If true get details from the file system for this directory if it exists. + Returns a directory entry based on the passed. + + + + Get/set the applicable. + + + + + Initialise a new instance of the class. + + A default , and the LastWriteTime for files is used. + + + + Initialise a new instance of using the specified + + The time setting to use when creating Zip entries. + + + + Initialise a new instance of using the specified + + The time to set all values to. + + + + Make a new for a file. + + The name of the file to create a new entry for. + Returns a new based on the . + + + + Make a new from a name. + + The name of the file to create a new entry for. + If true entry detail is retrieved from the file system if the file exists. + Returns a new based on the . + + + + Make a new for a directory. + + The raw untransformed name for the new directory + Returns a new representing a directory. + + + + Make a new for a directory. + + The raw untransformed name for the new directory + If true entry detail is retrieved from the file system if the file exists. + Returns a new representing a directory. + + + + Get / set the to be used when creating new values. + + + Setting this property to null will cause a default name transform to be used. + + + + + Get / set the in use. + + + + + Get / set the value to use when is set to + + + + + A bitmask defining the attributes to be retrieved from the actual file. + + The default is to get all possible attributes from the actual file. + + + + A bitmask defining which attributes are to be set on. + + By default no attributes are set on. + + + + Get set a value indicating wether unidoce text should be set on. + + + + + Defines the possible values to be used for the . + + + + + Use the recorded LastWriteTime value for the file. + + + + + Use the recorded LastWriteTimeUtc value for the file + + + + + Use the recorded CreateTime value for the file. + + + + + Use the recorded CreateTimeUtc value for the file. + + + + + Use the recorded LastAccessTime value for the file. + + + + + Use the recorded LastAccessTimeUtc value for the file. + + + + + Use a fixed value. + + The actual value used can be + specified via the constructor or + using the with the setting set + to which will use the when this class was constructed. + The property can also be used to set this value. + + + + PkzipClassic embodies the classic or original encryption facilities used in Pkzip archives. + While it has been superceded by more recent and more powerful algorithms, its still in use and + is viable for preventing casual snooping + + + + + Generates new encryption keys based on given seed + + The seed value to initialise keys with. + A new key value. + + + + PkzipClassicCryptoBase provides the low level facilities for encryption + and decryption using the PkzipClassic algorithm. + + + + + Transform a single byte + + + The transformed value + + + + + Set the key schedule for encryption/decryption. + + The data use to set the keys from. + + + + Update encryption keys + + + + + Reset the internal state. + + + + + PkzipClassic CryptoTransform for encryption. + + + + + Initialise a new instance of + + The key block to use. + + + + Transforms the specified region of the specified byte array. + + The input for which to compute the transform. + The offset into the byte array from which to begin using data. + The number of bytes in the byte array to use as data. + The computed transform. + + + + Transforms the specified region of the input byte array and copies + the resulting transform to the specified region of the output byte array. + + The input for which to compute the transform. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write the transform. + The offset into the output byte array from which to begin writing data. + The number of bytes written. + + + + Cleanup internal state. + + + + + Gets a value indicating whether the current transform can be reused. + + + + + Gets the size of the input data blocks in bytes. + + + + + Gets the size of the output data blocks in bytes. + + + + + Gets a value indicating whether multiple blocks can be transformed. + + + + + PkzipClassic CryptoTransform for decryption. + + + + + Initialise a new instance of . + + The key block to decrypt with. + + + + Transforms the specified region of the specified byte array. + + The input for which to compute the transform. + The offset into the byte array from which to begin using data. + The number of bytes in the byte array to use as data. + The computed transform. + + + + Transforms the specified region of the input byte array and copies + the resulting transform to the specified region of the output byte array. + + The input for which to compute the transform. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write the transform. + The offset into the output byte array from which to begin writing data. + The number of bytes written. + + + + Cleanup internal state. + + + + + Gets a value indicating whether the current transform can be reused. + + + + + Gets the size of the input data blocks in bytes. + + + + + Gets the size of the output data blocks in bytes. + + + + + Gets a value indicating whether multiple blocks can be transformed. + + + + + Defines a wrapper object to access the Pkzip algorithm. + This class cannot be inherited. + + + + + Generate an initial vector. + + + + + Generate a new random key. + + + + + Create an encryptor. + + The key to use for this encryptor. + Initialisation vector for the new encryptor. + Returns a new PkzipClassic encryptor + + + + Create a decryptor. + + Keys to use for this new decryptor. + Initialisation vector for the new decryptor. + Returns a new decryptor. + + + + Get / set the applicable block size in bits. + + The only valid block size is 8. + + + + Get an array of legal key sizes. + + + + + Get an array of legal block sizes. + + + + + Get / set the key value applicable. + + + + + This class represents an entry in a Tar archive. It consists + of the entry's header, as well as the entry's File. Entries + can be instantiated in one of three ways, depending on how + they are to be used. +

+ TarEntries that are created from the header bytes read from + an archive are instantiated with the TarEntry( byte[] ) + constructor. These entries will be used when extracting from + or listing the contents of an archive. These entries have their + header filled in using the header bytes. They also set the File + to null, since they reference an archive entry not a file.

+

+ TarEntries that are created from files that are to be written + into an archive are instantiated with the CreateEntryFromFile(string) + pseudo constructor. These entries have their header filled in using + the File's information. They also keep a reference to the File + for convenience when writing entries.

+

+ Finally, TarEntries can be constructed from nothing but a name. + This allows the programmer to construct the entry by hand, for + instance when only an InputStream is available for writing to + the archive, and the header information is constructed from + other information. In this case the header fields are set to + defaults and the File is set to null.

+ +
+
+ + + Initialise a default instance of . + + + + + Construct an entry from an archive's header bytes. File is set + to null. + + + The header bytes from a tar archive entry. + + + + + Construct a TarEntry using the header provided + + Header details for entry + + + + Clone this tar entry. + + Returns a clone of this entry. + + + + Construct an entry with only a name. + This allows the programmer to construct the entry's header "by hand". + + The name to use for the entry + Returns the newly created + + + + Construct an entry for a file. File is set to file, and the + header is constructed from information from the file. + + The file name that the entry represents. + Returns the newly created + + + + Determine if the two entries are equal. Equality is determined + by the header names being equal. + + The to compare with the current Object. + + True if the entries are equal; false if not. + + + + + Derive a Hash value for the current + + A Hash code for the current + + + + Determine if the given entry is a descendant of this entry. + Descendancy is determined by the name of the descendant + starting with this entry's name. + + + Entry to be checked as a descendent of this. + + + True if entry is a descendant of this. + + + + + Convenience method to set this entry's group and user ids. + + + This entry's new user id. + + + This entry's new group id. + + + + + Convenience method to set this entry's group and user names. + + + This entry's new user name. + + + This entry's new group name. + + + + + Fill in a TarHeader with information from a File. + + + The TarHeader to fill in. + + + The file from which to get the header information. + + + + + Get entries for all files present in this entries directory. + If this entry doesnt represent a directory zero entries are returned. + + + An array of TarEntry's for this entry's children. + + + + + Write an entry's header information to a header buffer. + + + The tar entry header buffer to fill in. + + + + + Convenience method that will modify an entry's name directly + in place in an entry header buffer byte array. + + + The buffer containing the entry header to modify. + + + The new name to place into the header buffer. + + + + + Fill in a TarHeader given only the entry's name. + + + The TarHeader to fill in. + + + The tar entry name. + + + + + The name of the file this entry represents or null if the entry is not based on a file. + + + + + The entry's header information. + + + + + Get this entry's header. + + + This entry's TarHeader. + + + + + Get/Set this entry's name. + + + + + Get/set this entry's user id. + + + + + Get/set this entry's group id. + + + + + Get/set this entry's user name. + + + + + Get/set this entry's group name. + + + + + Get/Set the modification time for this entry + + + + + Get this entry's file. + + + This entry's file. + + + + + Get/set this entry's recorded file size. + + + + + Return true if this entry represents a directory, false otherwise + + + True if this entry is a directory. + + + + + This filter stream is used to decompress a "GZIP" format stream. + The "GZIP" format is described baseInputStream RFC 1952. + + author of the original java version : John Leuner + + This sample shows how to unzip a gzipped file + + using System; + using System.IO; + + using ICSharpCode.SharpZipLib.Core; + using ICSharpCode.SharpZipLib.GZip; + + class MainClass + { + public static void Main(string[] args) + { + using (Stream inStream = new GZipInputStream(File.OpenRead(args[0]))) + using (FileStream outStream = File.Create(Path.GetFileNameWithoutExtension(args[0]))) { + byte[] buffer = new byte[4096]; + StreamUtils.Copy(inStream, outStream, buffer); + } + } + } + + + + + + CRC-32 value for uncompressed data + + + + + Indicates end of stream + + + + + Creates a GZipInputStream with the default buffer size + + + The stream to read compressed data from (baseInputStream GZIP format) + + + + + Creates a GZIPInputStream with the specified buffer size + + + The stream to read compressed data from (baseInputStream GZIP format) + + + Size of the buffer to use + + + + + Reads uncompressed data into an array of bytes + + + The buffer to read uncompressed data into + + + The offset indicating where the data should be placed + + + The number of uncompressed bytes to be read + + Returns the number of bytes actually read. + + + + Provides simple " utilities. + + + + + Read from a ensuring all the required data is read. + + The stream to read. + The buffer to fill. + + + + Read from a " ensuring all the required data is read. + + The stream to read data from. + The buffer to store data in. + The offset at which to begin storing data. + The number of bytes of data to store. + + + + Copy the contents of one to another. + + The stream to source data from. + The stream to write data to. + The buffer to use during copying. + The progress handler delegate to use. + The minimum between progress updates. + The source for this event. + The name to use with the event. + + + + Copy the contents of one to another. + + The stream to source data from. + The stream to write data to. + The buffer to use during copying. + + + + Initialise an instance of + + + + + This is the DeflaterHuffman class. + + This class is not thread safe. This is inherent in the API, due + to the split of Deflate and SetInput. + + author of the original java version : Jochen Hoenicke + + + + + Pending buffer to use + + + + + Construct instance with pending buffer + + Pending buffer to use + + + + Reset internal state + + + + + Write all trees to pending buffer + + The number/rank of treecodes to send. + + + + Compress current buffer writing data to pending buffer + + + + + Flush block to output with no compression + + Data to write + Index of first byte to write + Count of bytes to write + True if this is the last block + + + + Flush block to output with compression + + Data to flush + Index of first byte to flush + Count of bytes to flush + True if this is the last block + + + + Get value indicating if internal buffer is full + + true if buffer is full + + + + Add literal to buffer + + Literal value to add to buffer. + Value indicating internal buffer is full + + + + Add distance code and length to literal and distance trees + + Distance code + Length + Value indicating if internal buffer is full + + + + Reverse the bits of a 16 bit value. + + Value to reverse bits + Value with bits reversed + + + + Resets the internal state of the tree + + + + + Check that all frequencies are zero + + + At least one frequency is non-zero + + + + + Set static codes and length + + new codes + length for new codes + + + + Build dynamic codes and lengths + + + + + Get encoded length + + Encoded length, the sum of frequencies * lengths + + + + Scan a literal or distance tree to determine the frequencies of the codes + in the bit length tree. + + + + + Write tree values + + Tree to write + + + + This class contains constants used for gzip. + + + + + Magic number found at start of GZIP header + + + + + Flag bit mask for text + + + + + Flag bitmask for Crc + + + + + Flag bit mask for extra + + + + + flag bitmask for name + + + + + flag bit mask indicating comment is present + + + + + Initialise default instance. + + Constructor is private to prevent instances being created. + + + + TarExceptions are used for exceptions specific to tar classes and code. + + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initialises a new instance of the TarException class. + + + + + Initialises a new instance of the TarException class with a specified message. + + The message that describes the error. + + + + + + A message describing the error. + The exception that is the cause of the current exception. + + + + Bzip2 checksum algorithm + + + + + Initialise a default instance of + + + + + Reset the state of Crc. + + + + + Update the Crc value. + + data update is based on + + + + Update Crc based on a block of data + + The buffer containing data to update the crc with. + + + + Update Crc based on a portion of a block of data + + block of data + index of first byte to use + number of bytes to use + + + + Get the current Crc value. + + + + + This is an InflaterInputStream that reads the files baseInputStream an zip archive + one after another. It has a special method to get the zip entry of + the next file. The zip entry contains information about the file name + size, compressed size, Crc, etc. + It includes support for Stored and Deflated entries. +
+
Author of the original java version : Jochen Hoenicke +
+ + This sample shows how to read a zip file + + using System; + using System.Text; + using System.IO; + + using ICSharpCode.SharpZipLib.Zip; + + class MainClass + { + public static void Main(string[] args) + { + using ( ZipInputStream s = new ZipInputStream(File.OpenRead(args[0]))) { + + ZipEntry theEntry; + while ((theEntry = s.GetNextEntry()) != null) { + int size = 2048; + byte[] data = new byte[2048]; + + Console.Write("Show contents (y/n) ?"); + if (Console.ReadLine() == "y") { + while (true) { + size = s.Read(data, 0, data.Length); + if (size > 0) { + Console.Write(new ASCIIEncoding().GetString(data, 0, size)); + } else { + break; + } + } + } + } + } + } + } + + +
+ + + The current reader this instance. + + + + + Creates a new Zip input stream, for reading a zip archive. + + The underlying providing data. + + + + Advances to the next entry in the archive + + + The next entry in the archive or null if there are no more entries. + + + If the previous entry is still open CloseEntry is called. + + + Input stream is closed + + + Password is not set, password is invalid, compression method is invalid, + version required to extract is not supported + + + + + Read data descriptor at the end of compressed data. + + + + + Complete cleanup as the final part of closing. + + True if the crc value should be tested + + + + Closes the current zip entry and moves to the next one. + + + The stream is closed + + + The Zip stream ends early + + + + + Reads a byte from the current zip entry. + + + The byte or -1 if end of stream is reached. + + + + + Handle attempts to read by throwing an . + + The destination array to store data in. + The offset at which data read should be stored. + The maximum number of bytes to read. + Returns the number of bytes actually read. + + + + Handle attempts to read from this entry by throwing an exception + + + + + Perform the initial read on an entry which may include + reading encryption headers and setting up inflation. + + The destination to fill with data read. + The offset to start reading at. + The maximum number of bytes to read. + The actual number of bytes read. + + + + Read a block of bytes from the stream. + + The destination for the bytes. + The index to start storing data. + The number of bytes to attempt to read. + Returns the number of bytes read. + Zero bytes read means end of stream. + + + + Reads a block of bytes from the current zip entry. + + + The number of bytes read (this may be less than the length requested, even before the end of stream), or 0 on end of stream. + + + An i/o error occured. + + + The deflated stream is corrupted. + + + The stream is not open. + + + + + Closes the zip input stream + + + + + Optional password used for encryption when non-null + + A password for all encrypted entries in this + + + + Gets a value indicating if there is a current entry and it can be decompressed + + + The entry can only be decompressed if the library supports the zip features required to extract it. + See the ZipEntry Version property for more details. + + + + + Returns 1 if there is an entry available + Otherwise returns 0. + + + + + Returns the current size that can be read from the current entry if available + + Thrown if the entry size is not known. + Thrown if no entry is currently available. + + + + ZipNameTransform transforms names as per the Zip file naming convention. + + The use of absolute names is supported although its use is not valid + according to Zip naming conventions, and should not be used if maximum compatability is desired. + + + + Initialize a new instance of + + + + + Initialize a new instance of + + The string to trim from front of paths if found. + + + + Static constructor. + + + + + Transform a directory name according to the Zip file naming conventions. + + The directory name to transform. + The transformed name. + + + + Transform a windows file name according to the Zip file naming conventions. + + The file name to transform. + The transformed name. + + + + Force a name to be valid by replacing invalid characters with a fixed value + + The name to force valid + The replacement character to use. + Returns a valid name + + + + Test a name to see if it is a valid name for a zip entry. + + The name to test. + If true checking is relaxed about windows file names and absolute paths. + Returns true if the name is a valid zip name; false otherwise. + Zip path names are actually in Unix format, and should only contain relative paths. + This means that any path stored should not contain a drive or + device letter, or a leading slash. All slashes should forward slashes '/'. + An empty name is valid for a file where the input comes from standard input. + A null name is not considered valid. + + + + + Test a name to see if it is a valid name for a zip entry. + + The name to test. + Returns true if the name is a valid zip name; false otherwise. + Zip path names are actually in unix format, + and should only contain relative paths if a path is present. + This means that the path stored should not contain a drive or + device letter, or a leading slash. All slashes should forward slashes '/'. + An empty name is valid where the input comes from standard input. + A null name is not considered valid. + + + + + Get/set the path prefix to be trimmed from paths if present. + + The prefix is trimmed before any conversion from + a windows path is done. + + + + This exception is used to indicate that there is a problem + with a TAR archive header. + + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initialise a new instance of the InvalidHeaderException class. + + + + + Initialises a new instance of the InvalidHeaderException class with a specified message. + + Message describing the exception cause. + + + + Initialise a new instance of InvalidHeaderException + + Message describing the problem. + The exception that is the cause of the current exception. + + + + This class allows us to retrieve a specified number of bits from + the input buffer, as well as copy big byte blocks. + + It uses an int buffer to store up to 31 bits for direct + manipulation. This guarantees that we can get at least 16 bits, + but we only need at most 15, so this is all safe. + + There are some optimizations in this class, for example, you must + never peek more than 8 bits more than needed, and you must first + peek bits before you may drop them. This is not a general purpose + class but optimized for the behaviour of the Inflater. + + authors of the original java version : John Leuner, Jochen Hoenicke + + + + + Constructs a default StreamManipulator with all buffers empty + + + + + Get the next sequence of bits but don't increase input pointer. bitCount must be + less or equal 16 and if this call succeeds, you must drop + at least n - 8 bits in the next call. + + The number of bits to peek. + + the value of the bits, or -1 if not enough bits available. */ + + + + + Drops the next n bits from the input. You should have called PeekBits + with a bigger or equal n before, to make sure that enough bits are in + the bit buffer. + + The number of bits to drop. + + + + Gets the next n bits and increases input pointer. This is equivalent + to followed by , except for correct error handling. + + The number of bits to retrieve. + + the value of the bits, or -1 if not enough bits available. + + + + + Skips to the next byte boundary. + + + + + Copies bytes from input buffer to output buffer starting + at output[offset]. You have to make sure, that the buffer is + byte aligned. If not enough bytes are available, copies fewer + bytes. + + + The buffer to copy bytes to. + + + The offset in the buffer at which copying starts + + + The length to copy, 0 is allowed. + + + The number of bytes copied, 0 if no bytes were available. + + + Length is less than zero + + + Bit buffer isnt byte aligned + + + + + Resets state and empties internal buffers + + + + + Add more input for consumption. + Only call when IsNeedingInput returns true + + data to be input + offset of first byte of input + number of bytes of input to add. + + + + Gets the number of bits available in the bit buffer. This must be + only called when a previous PeekBits() returned -1. + + + the number of bits available. + + + + + Gets the number of bytes available. + + + The number of bytes available. + + + + + Returns true when SetInput can be called + + + + + Strategies for deflater + + + + + The default strategy + + + + + This strategy will only allow longer string repetitions. It is + useful for random data with a small character set. + + + + + This strategy will not look for string repetitions at all. It + only encodes with Huffman trees (which means, that more common + characters get a smaller encoding. + + + + + Low level compression engine for deflate algorithm which uses a 32K sliding window + with secondary compression from Huffman/Shannon-Fano codes. + + + + + Construct instance with pending buffer + + + Pending buffer to use + > + + + + Deflate drives actual compression of data + + True to flush input buffers + Finish deflation with the current input. + Returns true if progress has been made. + + + + Sets input data to be deflated. Should only be called when NeedsInput() + returns true + + The buffer containing input data. + The offset of the first byte of data. + The number of bytes of data to use as input. + + + + Determines if more input is needed. + + Return true if input is needed via SetInput + + + + Set compression dictionary + + The buffer containing the dictionary data + The offset in the buffer for the first byte of data + The length of the dictionary data. + + + + Reset internal state + + + + + Reset Adler checksum + + + + + Set the deflate level (0-9) + + The value to set the level to. + + + + Fill the window + + + + + Inserts the current string in the head hash and returns the previous + value for this hash. + + The previous hash value + + + + Find the best (longest) string in the window matching the + string starting at strstart. + + Preconditions: + + strstart + MAX_MATCH <= window.length. + + + True if a match greater than the minimum length is found + + + + Hashtable, hashing three characters to an index for window, so + that window[index]..window[index+2] have this hash code. + Note that the array should really be unsigned short, so you need + to and the values with 0xffff. + + + + + prev[index & WMASK] points to the previous index that has the + same hash code as the string starting at index. This way + entries with the same hash code are in a linked list. + Note that the array should really be unsigned short, so you need + to and the values with 0xffff. + + + + + Points to the current character in the window. + + + + + lookahead is the number of characters starting at strstart in + window that are valid. + So window[strstart] until window[strstart+lookahead-1] are valid + characters. + + + + + This array contains the part of the uncompressed stream that + is of relevance. The current character is indexed by strstart. + + + + + The current compression function. + + + + + The input data for compression. + + + + + The total bytes of input read. + + + + + The offset into inputBuf, where input data starts. + + + + + The end offset of the input data. + + + + + The adler checksum + + + + + Get current value of Adler checksum + + + + + Total data processed + + + + + Get/set the deflate strategy + + + + + The TarBuffer class implements the tar archive concept + of a buffered input stream. This concept goes back to the + days of blocked tape drives and special io devices. In the + C# universe, the only real function that this class + performs is to ensure that files have the correct "record" + size, or other tars will complain. +

+ You should never have a need to access this class directly. + TarBuffers are created by Tar IO Streams. +

+
+
+ + + The size of a block in a tar archive in bytes. + + This is 512 bytes. + + + + The number of blocks in a default record. + + + The default value is 20 blocks per record. + + + + + The size in bytes of a default record. + + + The default size is 10KB. + + + + + Get the TAR Buffer's record size. + + The record size in bytes. + This is equal to the multiplied by the + + + + Get the TAR Buffer's block factor + + The block factor; the number of blocks per record. + + + + Construct a default TarBuffer + + + + + Create TarBuffer for reading with default BlockFactor + + Stream to buffer + A new suitable for input. + + + + Construct TarBuffer for reading inputStream setting BlockFactor + + Stream to buffer + Blocking factor to apply + A new suitable for input. + + + + Construct TarBuffer for writing with default BlockFactor + + output stream for buffer + A new suitable for output. + + + + Construct TarBuffer for writing Tar output to streams. + + Output stream to write to. + Blocking factor to apply + A new suitable for output. + + + + Initialization common to all constructors. + + + + + Determine if an archive block indicates End of Archive. End of + archive is indicated by a block that consists entirely of null bytes. + All remaining blocks for the record should also be null's + However some older tars only do a couple of null blocks (Old GNU tar for one) + and also partial records + + The data block to check. + Returns true if the block is an EOF block; false otherwise. + + + + Skip over a block on the input stream. + + + + + Read a block from the input stream. + + + The block of data read. + + + + + Read a record from data stream. + + + false if End-Of-File, else true. + + + + + Get the current block number, within the current record, zero based. + + + The current zero based block number. + + + The absolute block number = (record number * block factor) + block number. + + + + + Get the current record number. + + + The current zero based record number. + + + + + Write a block of data to the archive. + + + The data to write to the archive. + + + + + Write an archive record to the archive, where the record may be + inside of a larger array buffer. The buffer must be "offset plus + record size" long. + + + The buffer containing the record data to write. + + + The offset of the record data within buffer. + + + + + Write a TarBuffer record to the archive. + + + + + Flush the current record if it has any data in it. + + + + + Close the TarBuffer. If this is an output buffer, also flush the + current block before closing. + + + + + Get the record size for this buffer + + The record size in bytes. + This is equal to the multiplied by the + + + + Get the Blocking factor for the buffer + + This is the number of block in each record. + + + + Get the current block number, within the current record, zero based. + + + + + Get the current record number. + + + The current zero based record number. + + + + + This class encapsulates the Tar Entry Header used in Tar Archives. + The class also holds a number of tar constants, used mostly in headers. + + + + + The length of the name field in a header buffer. + + + + + The length of the mode field in a header buffer. + + + + + The length of the user id field in a header buffer. + + + + + The length of the group id field in a header buffer. + + + + + The length of the checksum field in a header buffer. + + + + + Offset of checksum in a header buffer. + + + + + The length of the size field in a header buffer. + + + + + The length of the magic field in a header buffer. + + + + + The length of the version field in a header buffer. + + + + + The length of the modification time field in a header buffer. + + + + + The length of the user name field in a header buffer. + + + + + The length of the group name field in a header buffer. + + + + + The length of the devices field in a header buffer. + + + + + The "old way" of indicating a normal file. + + + + + Normal file type. + + + + + Link file type. + + + + + Symbolic link file type. + + + + + Character device file type. + + + + + Block device file type. + + + + + Directory file type. + + + + + FIFO (pipe) file type. + + + + + Contiguous file type. + + + + + Posix.1 2001 global extended header + + + + + Posix.1 2001 extended header + + + + + Solaris access control list file type + + + + + GNU dir dump file type + This is a dir entry that contains the names of files that were in the + dir at the time the dump was made + + + + + Solaris Extended Attribute File + + + + + Inode (metadata only) no file content + + + + + Identifies the next file on the tape as having a long link name + + + + + Identifies the next file on the tape as having a long name + + + + + Continuation of a file that began on another volume + + + + + For storing filenames that dont fit in the main header (old GNU) + + + + + GNU Sparse file + + + + + GNU Tape/volume header ignore on extraction + + + + + The magic tag representing a POSIX tar archive. (includes trailing NULL) + + + + + The magic tag representing an old GNU tar archive where version is included in magic and overwrites it + + + + + Initialise a default TarHeader instance + + + + + Get the name of this entry. + + The entry's name. + + + + Create a new that is a copy of the current instance. + + A new that is a copy of the current instance. + + + + Parse TarHeader information from a header buffer. + + + The tar entry header buffer to get information from. + + + + + 'Write' header information to buffer provided, updating the check sum. + + output buffer for header information + + + + Get a hash code for the current object. + + A hash code for the current object. + + + + Determines if this instance is equal to the specified object. + + The object to compare with. + true if the objects are equal, false otherwise. + + + + Set defaults for values used when constructing a TarHeader instance. + + Value to apply as a default for userId. + Value to apply as a default for userName. + Value to apply as a default for groupId. + Value to apply as a default for groupName. + + + + Parse an octal string from a header buffer. + + The header buffer from which to parse. + The offset into the buffer from which to parse. + The number of header bytes to parse. + The long equivalent of the octal string. + + + + Parse a name from a header buffer. + + + The header buffer from which to parse. + + + The offset into the buffer from which to parse. + + + The number of header bytes to parse. + + + The name parsed. + + + + + Add name to the buffer as a collection of bytes + + The name to add + The offset of the first character + The buffer to add to + The index of the first byte to add + The number of characters/bytes to add + The next free index in the buffer + + + + Add name to the buffer as a collection of bytes + + The name to add + The offset of the first character + The buffer to add to + The index of the first byte to add + The number of characters/bytes to add + The next free index in the buffer + + + + Add an entry name to the buffer + + + The name to add + + + The buffer to add to + + + The offset into the buffer from which to start adding + + + The number of header bytes to add + + + The index of the next free byte in the buffer + + + + + Add an entry name to the buffer + + The name to add + The buffer to add to + The offset into the buffer from which to start adding + The number of header bytes to add + The index of the next free byte in the buffer + + + + Add a string to a buffer as a collection of ascii bytes. + + The string to add + The offset of the first character to add. + The buffer to add to. + The offset to start adding at. + The number of ascii characters to add. + The next free index in the buffer. + + + + Put an octal representation of a value into a buffer + + + the value to be converted to octal + + + buffer to store the octal string + + + The offset into the buffer where the value starts + + + The length of the octal string to create + + + The offset of the character next byte after the octal string + + + + + Put an octal representation of a value into a buffer + + Value to be convert to octal + The buffer to update + The offset into the buffer to store the value + The length of the octal string + Index of next byte + + + + Add the checksum integer to header buffer. + + + The header buffer to set the checksum for + The offset into the buffer for the checksum + The number of header bytes to update. + It's formatted differently from the other fields: it has 6 digits, a + null, then a space -- rather than digits, a space, then a null. + The final space is already there, from checksumming + + The modified buffer offset + + + + Compute the checksum for a tar entry header. + The checksum field must be all spaces prior to this happening + + The tar entry's header buffer. + The computed checksum. + + + + Make a checksum for a tar entry ignoring the checksum contents. + + The tar entry's header buffer. + The checksum for the buffer + + + + Get/set the name for this tar entry. + + Thrown when attempting to set the property to null. + + + + Get/set the entry's Unix style permission mode. + + + + + The entry's user id. + + + This is only directly relevant to unix systems. + The default is zero. + + + + + Get/set the entry's group id. + + + This is only directly relevant to linux/unix systems. + The default value is zero. + + + + + Get/set the entry's size. + + Thrown when setting the size to less than zero. + + + + Get/set the entry's modification time. + + + The modification time is only accurate to within a second. + + Thrown when setting the date time to less than 1/1/1970. + + + + Get the entry's checksum. This is only valid/updated after writing or reading an entry. + + + + + Get value of true if the header checksum is valid, false otherwise. + + + + + Get/set the entry's type flag. + + + + + The entry's link name. + + Thrown when attempting to set LinkName to null. + + + + Get/set the entry's magic tag. + + Thrown when attempting to set Magic to null. + + + + The entry's version. + + Thrown when attempting to set Version to null. + + + + The entry's user name. + + + + + Get/set the entry's group name. + + + This is only directly relevant to unix systems. + + + + + Get/set the entry's major device number. + + + + + Get/set the entry's minor device number. + + + + + Event arguments for scanning. + + + + + Initialise a new instance of + + The file or directory name. + + + + The fie or directory name for this event. + + + + + Get set a value indicating if scanning should continue or not. + + + + + Event arguments during processing of a single file or directory. + + + + + Initialise a new instance of + + The file or directory name if known. + The number of bytes processed so far + The total number of bytes to process, 0 if not known + + + + The name for this event if known. + + + + + Get set a value indicating wether scanning should continue or not. + + + + + Get a percentage representing how much of the has been processed + + 0.0 to 100.0 percent; 0 if target is not known. + + + + The number of bytes processed so far + + + + + The number of bytes to process. + + Target may be 0 or negative if the value isnt known. + + + + Event arguments for directories. + + + + + Initialize an instance of . + + The name for this directory. + Flag value indicating if any matching files are contained in this directory. + + + + Get a value indicating if the directory contains any matching files or not. + + + + + Arguments passed when scan failures are detected. + + + + + Initialise a new instance of + + The name to apply. + The exception to use. + + + + The applicable name. + + + + + The applicable exception. + + + + + Get / set a value indicating wether scanning should continue. + + + + + Delegate invoked before starting to process a directory. + + + + + Delegate invoked before starting to process a file. + + The source of the event + The event arguments. + + + + Delegate invoked during processing of a file or directory + + The source of the event + The event arguments. + + + + Delegate invoked when a file has been completely processed. + + The source of the event + The event arguments. + + + + Delegate invoked when a directory failure is detected. + + The source of the event + The event arguments. + + + + Delegate invoked when a file failure is detected. + + The source of the event + The event arguments. + + + + FileSystemScanner provides facilities scanning of files and directories. + + + + + Initialise a new instance of + + The file filter to apply when scanning. + + + + Initialise a new instance of + + The file filter to apply. + The directory filter to apply. + + + + Initialise a new instance of + + The file filter to apply. + + + + Initialise a new instance of + + The file filter to apply. + The directory filter to apply. + + + + Delegate to invoke when a directory is processed. + + + + + Delegate to invoke when a file is processed. + + + + + Delegate to invoke when processing for a file has finished. + + + + + Delegate to invoke when a directory failure is detected. + + + + + Delegate to invoke when a file failure is detected. + + + + + Raise the DirectoryFailure event. + + The directory name. + The exception detected. + + + + Raise the FileFailure event. + + The file name. + The exception detected. + + + + Raise the ProcessFile event. + + The file name. + + + + Raise the complete file event + + The file name + + + + Raise the ProcessDirectory event. + + The directory name. + Flag indicating if the directory has matching files. + + + + Scan a directory. + + The base directory to scan. + True to recurse subdirectories, false to scan a single directory. + + + + The file filter currently in use. + + + + + The directory filter currently in use. + + + + + Flag indicating if scanning should continue running. + + + + + An input buffer customised for use by + + + The buffer supports decryption of incoming data. + + + + + Initialise a new instance of with a default buffer size + + The stream to buffer. + + + + Initialise a new instance of + + The stream to buffer. + The size to use for the buffer + A minimum buffer size of 1KB is permitted. Lower sizes are treated as 1KB. + + + + Call passing the current clear text buffer contents. + + The inflater to set input for. + + + + Fill the buffer from the underlying input stream. + + + + + Read a buffer directly from the input stream + + The buffer to fill + Returns the number of bytes read. + + + + Read a buffer directly from the input stream + + The buffer to read into + The offset to start reading data into. + The number of bytes to read. + Returns the number of bytes read. + + + + Read clear text data from the input stream. + + The buffer to add data to. + The offset to start adding data at. + The number of bytes to read. + Returns the number of bytes actually read. + + + + Read a from the input stream. + + Returns the byte read. + + + + Read an in little endian byte order. + + The short value read case to an int. + + + + Read an in little endian byte order. + + The int value read. + + + + Read a in little endian byte order. + + The long value read. + + + + Get the length of bytes bytes in the + + + + + Get the contents of the raw data buffer. + + This may contain encrypted data. + + + + Get the number of useable bytes in + + + + + Get the contents of the clear text buffer. + + + + + Get/set the number of bytes available + + + + + Get/set the to apply to any data. + + Set this value to null to have no transform applied. + + + + The TarOutputStream writes a UNIX tar archive as an OutputStream. + Methods are provided to put entries, and then write their contents + by writing to this stream using write(). + + public + + + + Construct TarOutputStream using default block factor + + stream to write to + + + + Construct TarOutputStream with user specified block factor + + stream to write to + blocking factor + + + + set the position within the current stream + + The offset relative to the to seek to + The to seek from. + The new position in the stream. + + + + Set the length of the current stream + + The new stream length. + + + + Read a byte from the stream and advance the position within the stream + by one byte or returns -1 if at the end of the stream. + + The byte value or -1 if at end of stream + + + + read bytes from the current stream and advance the position within the + stream by the number of bytes read. + + The buffer to store read bytes in. + The index into the buffer to being storing bytes at. + The desired number of bytes to read. + The total number of bytes read, or zero if at the end of the stream. + The number of bytes may be less than the count + requested if data is not avialable. + + + + All buffered data is written to destination + + + + + Ends the TAR archive without closing the underlying OutputStream. + The result is that the EOF block of nulls is written. + + + + + Ends the TAR archive and closes the underlying OutputStream. + + This means that Finish() is called followed by calling the + TarBuffer's Close(). + + + + Get the record size being used by this stream's TarBuffer. + + + The TarBuffer record size. + + + + + Put an entry on the output stream. This writes the entry's + header and positions the output stream for writing + the contents of the entry. Once this method is called, the + stream is ready for calls to write() to write the entry's + contents. Once the contents are written, closeEntry() + MUST be called to ensure that all buffered data + is completely written to the output stream. + + + The TarEntry to be written to the archive. + + + + + Close an entry. This method MUST be called for all file + entries that contain data. The reason is that we must + buffer data written to the stream in order to satisfy + the buffer's block based writes. Thus, there may be + data fragments still being assembled that must be written + to the output stream before this entry is closed and the + next entry written. + + + + + Writes a byte to the current tar archive entry. + This method simply calls Write(byte[], int, int). + + + The byte to be written. + + + + + Writes bytes to the current tar archive entry. This method + is aware of the current entry and will throw an exception if + you attempt to write bytes past the length specified for the + current entry. The method is also (painfully) aware of the + record buffering required by TarBuffer, and manages buffers + that are not a multiple of recordsize in length, including + assembling records from small buffers. + + + The buffer to write to the archive. + + + The offset in the buffer from which to get bytes. + + + The number of bytes to write. + + + + + Write an EOF (end of archive) block to the tar archive. + An EOF block consists of all zeros. + + + + + bytes written for this entry so far + + + + + current 'Assembly' buffer length + + + + + Flag indicating wether this instance has been closed or not. + + + + + Size for the current entry + + + + + single block working buffer + + + + + 'Assembly' buffer used to assemble data before writing + + + + + TarBuffer used to provide correct blocking factor + + + + + the destination stream for the archive contents + + + + + true if the stream supports reading; otherwise, false. + + + + + true if the stream supports seeking; otherwise, false. + + + + + true if stream supports writing; otherwise, false. + + + + + length of stream in bytes + + + + + gets or sets the position within the current stream. + + + + + Get the record size being used by this stream's TarBuffer. + + + + + Get a value indicating wether an entry is open, requiring more data to be written. + + + + + This is the Deflater class. The deflater class compresses input + with the deflate algorithm described in RFC 1951. It has several + compression levels and three different strategies described below. + + This class is not thread safe. This is inherent in the API, due + to the split of deflate and setInput. + + author of the original java version : Jochen Hoenicke + + + + + The best and slowest compression level. This tries to find very + long and distant string repetitions. + + + + + The worst but fastest compression level. + + + + + The default compression level. + + + + + This level won't compress at all but output uncompressed blocks. + + + + + The compression method. This is the only method supported so far. + There is no need to use this constant at all. + + + + + Creates a new deflater with default compression level. + + + + + Creates a new deflater with given compression level. + + + the compression level, a value between NO_COMPRESSION + and BEST_COMPRESSION, or DEFAULT_COMPRESSION. + + if lvl is out of range. + + + + Creates a new deflater with given compression level. + + + the compression level, a value between NO_COMPRESSION + and BEST_COMPRESSION. + + + true, if we should suppress the Zlib/RFC1950 header at the + beginning and the adler checksum at the end of the output. This is + useful for the GZIP/PKZIP formats. + + if lvl is out of range. + + + + Resets the deflater. The deflater acts afterwards as if it was + just created with the same compression level and strategy as it + had before. + + + + + Flushes the current input block. Further calls to deflate() will + produce enough output to inflate everything in the current input + block. This is not part of Sun's JDK so I have made it package + private. It is used by DeflaterOutputStream to implement + flush(). + + + + + Finishes the deflater with the current input block. It is an error + to give more input after this method was called. This method must + be called to force all bytes to be flushed. + + + + + Sets the data which should be compressed next. This should be only + called when needsInput indicates that more input is needed. + If you call setInput when needsInput() returns false, the + previous input that is still pending will be thrown away. + The given byte array should not be changed, before needsInput() returns + true again. + This call is equivalent to setInput(input, 0, input.length). + + + the buffer containing the input data. + + + if the buffer was finished() or ended(). + + + + + Sets the data which should be compressed next. This should be + only called when needsInput indicates that more input is needed. + The given byte array should not be changed, before needsInput() returns + true again. + + + the buffer containing the input data. + + + the start of the data. + + + the number of data bytes of input. + + + if the buffer was Finish()ed or if previous input is still pending. + + + + + Sets the compression level. There is no guarantee of the exact + position of the change, but if you call this when needsInput is + true the change of compression level will occur somewhere near + before the end of the so far given input. + + + the new compression level. + + + + + Get current compression level + + Returns the current compression level + + + + Sets the compression strategy. Strategy is one of + DEFAULT_STRATEGY, HUFFMAN_ONLY and FILTERED. For the exact + position where the strategy is changed, the same as for + SetLevel() applies. + + + The new compression strategy. + + + + + Deflates the current input block with to the given array. + + + The buffer where compressed data is stored + + + The number of compressed bytes added to the output, or 0 if either + IsNeedingInput() or IsFinished returns true or length is zero. + + + + + Deflates the current input block to the given array. + + + Buffer to store the compressed data. + + + Offset into the output array. + + + The maximum number of bytes that may be stored. + + + The number of compressed bytes added to the output, or 0 if either + needsInput() or finished() returns true or length is zero. + + + If Finish() was previously called. + + + If offset or length don't match the array length. + + + + + Sets the dictionary which should be used in the deflate process. + This call is equivalent to setDictionary(dict, 0, dict.Length). + + + the dictionary. + + + if SetInput () or Deflate () were already called or another dictionary was already set. + + + + + Sets the dictionary which should be used in the deflate process. + The dictionary is a byte array containing strings that are + likely to occur in the data which should be compressed. The + dictionary is not stored in the compressed output, only a + checksum. To decompress the output you need to supply the same + dictionary again. + + + The dictionary data + + + The index where dictionary information commences. + + + The number of bytes in the dictionary. + + + If SetInput () or Deflate() were already called or another dictionary was already set. + + + + + Compression level. + + + + + If true no Zlib/RFC1950 headers or footers are generated + + + + + The current state. + + + + + The total bytes of output written. + + + + + The pending output. + + + + + The deflater engine. + + + + + Gets the current adler checksum of the data that was processed so far. + + + + + Gets the number of input bytes processed so far. + + + + + Gets the number of output bytes so far. + + + + + Returns true if the stream was finished and no more output bytes + are available. + + + + + Returns true, if the input buffer is empty. + You should then call setInput(). + NOTE: This method can also return true when the stream + was finished. + + + + + The TarInputStream reads a UNIX tar archive as an InputStream. + methods are provided to position at each successive entry in + the archive, and the read each entry as a normal input stream + using read(). + + + + + Construct a TarInputStream with default block factor + + stream to source data from + + + + Construct a TarInputStream with user specified block factor + + stream to source data from + block factor to apply to archive + + + + Flushes the baseInputStream + + + + + Set the streams position. This operation is not supported and will throw a NotSupportedException + + The offset relative to the origin to seek to. + The to start seeking from. + The new position in the stream. + Any access + + + + Sets the length of the stream + This operation is not supported and will throw a NotSupportedException + + The new stream length. + Any access + + + + Writes a block of bytes to this stream using data from a buffer. + This operation is not supported and will throw a NotSupportedException + + The buffer containing bytes to write. + The offset in the buffer of the frist byte to write. + The number of bytes to write. + Any access + + + + Writes a byte to the current position in the file stream. + This operation is not supported and will throw a NotSupportedException + + The byte value to write. + Any access + + + + Reads a byte from the current tar archive entry. + + A byte cast to an int; -1 if the at the end of the stream. + + + + Reads bytes from the current tar archive entry. + + This method is aware of the boundaries of the current + entry in the archive and will deal with them appropriately + + + The buffer into which to place bytes read. + + + The offset at which to place bytes read. + + + The number of bytes to read. + + + The number of bytes read, or 0 at end of stream/EOF. + + + + + Closes this stream. Calls the TarBuffer's close() method. + The underlying stream is closed by the TarBuffer. + + + + + Set the entry factory for this instance. + + The factory for creating new entries + + + + Get the record size being used by this stream's TarBuffer. + + + TarBuffer record size. + + + + + Skip bytes in the input buffer. This skips bytes in the + current entry's data, not the entire archive, and will + stop at the end of the current entry's data if the number + to skip extends beyond that point. + + + The number of bytes to skip. + + + + + Since we do not support marking just yet, we do nothing. + + + The limit to mark. + + + + + Since we do not support marking just yet, we do nothing. + + + + + Get the next entry in this tar archive. This will skip + over any remaining data in the current entry, if there + is one, and place the input stream at the header of the + next entry, and read the header and instantiate a new + TarEntry from the header bytes and return that entry. + If there are no more entries in the archive, null will + be returned to indicate that the end of the archive has + been reached. + + + The next TarEntry in the archive, or null. + + + + + Copies the contents of the current tar archive entry directly into + an output stream. + + + The OutputStream into which to write the entry's data. + + + + + Flag set when last block has been read + + + + + Size of this entry as recorded in header + + + + + Number of bytes read for this entry so far + + + + + Buffer used with calls to Read() + + + + + Working buffer + + + + + Current entry being read + + + + + Factory used to create TarEntry or descendant class instance + + + + + Stream used as the source of input data. + + + + + Gets a value indicating whether the current stream supports reading + + + + + Gets a value indicating whether the current stream supports seeking + This property always returns false. + + + + + Gets a value indicating if the stream supports writing. + This property always returns false. + + + + + The length in bytes of the stream + + + + + Gets or sets the position within the stream. + Setting the Position is not supported and throws a NotSupportedExceptionNotSupportedException + + Any attempt to set position + + + + Get the record size being used by this stream's TarBuffer. + + + + + Get the available data that can be read from the current + entry in the archive. This does not indicate how much data + is left in the entire archive, only in the current entry. + This value is determined from the entry's size header field + and the amount of data already read from the current entry. + + + The number of available bytes for the current entry. + + + + + Return a value of true if marking is supported; false otherwise. + + Currently marking is not supported, the return value is always false. + + + + This interface is provided, along with the method , to allow + the programmer to have their own subclass instantiated for the + entries return from . + + + + + Create an entry based on name alone + + + Name of the new EntryPointNotFoundException to create + + created TarEntry or descendant class + + + + Create an instance based on an actual file + + + Name of file to represent in the entry + + + Created TarEntry or descendant class + + + + + Create a tar entry based on the header information passed + + + Buffer containing header information to base entry on + + + Created TarEntry or descendant class + + + + + Standard entry factory class creating instances of the class TarEntry + + + + + Create a based on named + + The name to use for the entry + A new + + + + Create a tar entry with details obtained from file + + The name of the file to retrieve details from. + A new + + + + Create an entry based on details in header + + The buffer containing entry details. + A new + + + + Defines known values for the property. + + + + + Host system = MSDOS + + + + + Host system = Amiga + + + + + Host system = Open VMS + + + + + Host system = Unix + + + + + Host system = VMCms + + + + + Host system = Atari ST + + + + + Host system = OS2 + + + + + Host system = Macintosh + + + + + Host system = ZSystem + + + + + Host system = Cpm + + + + + Host system = Windows NT + + + + + Host system = MVS + + + + + Host system = VSE + + + + + Host system = Acorn RISC + + + + + Host system = VFAT + + + + + Host system = Alternate MVS + + + + + Host system = BEOS + + + + + Host system = Tandem + + + + + Host system = OS400 + + + + + Host system = OSX + + + + + Host system = WinZIP AES + + + + + This class represents an entry in a zip archive. This can be a file + or a directory + ZipFile and ZipInputStream will give you instances of this class as + information about the members in an archive. ZipOutputStream + uses an instance of this class when creating an entry in a Zip file. +
+
Author of the original java version : Jochen Hoenicke +
+
+ + + Creates a zip entry with the given name. + + + The name for this entry. Can include directory components. + The convention for names is 'unix' style paths with relative names only. + There are with no device names and path elements are separated by '/' characters. + + + The name passed is null + + + + + Creates a zip entry with the given name and version required to extract + + + The name for this entry. Can include directory components. + The convention for names is 'unix' style paths with no device names and + path elements separated by '/' characters. This is not enforced see CleanName + on how to ensure names are valid if this is desired. + + + The minimum 'feature version' required this entry + + + The name passed is null + + + + + Initializes an entry with the given name and made by information + + Name for this entry + Version and HostSystem Information + Minimum required zip feature version required to extract this entry + Compression method for this entry. + + The name passed is null + + + versionRequiredToExtract should be 0 (auto-calculate) or > 10 + + + This constructor is used by the ZipFile class when reading from the central header + It is not generally useful, use the constructor specifying the name only. + + + + + Creates a deep copy of the given zip entry. + + + The entry to copy. + + + + + Test the external attributes for this to + see if the external attributes are Dos based (including WINNT and variants) + and match the values + + The attributes to test. + Returns true if the external attributes are known to be DOS/Windows + based and have the same attributes set as the value passed. + + + + Force this entry to be recorded using Zip64 extensions. + + + + + Get a value indicating wether Zip64 extensions were forced. + + A value of true if Zip64 extensions have been forced on; false if not. + + + + Process extra data fields updating the entry based on the contents. + + True if the extra data fields should be handled + for a local header, rather than for a central header. + + + + + Test entry to see if data can be extracted. + + Returns true if data can be extracted for this entry; false otherwise. + + + + Creates a copy of this zip entry. + + An that is a copy of the current instance. + + + + Gets a string representation of this ZipEntry. + + A readable textual representation of this + + + + Test a compression method to see if this library + supports extracting data compressed with that method + + The compression method to test. + Returns true if the compression method is supported; false otherwise + + + + Cleans a name making it conform to Zip file conventions. + Devices names ('c:\') and UNC share names ('\\server\share') are removed + and forward slashes ('\') are converted to back slashes ('/'). + Names are made relative by trimming leading slashes which is compatible + with the ZIP naming convention. + + The name to clean + The 'cleaned' name. + + The Zip name transform class is more flexible. + + + + + Get a value indicating wether the entry has a CRC value available. + + + + + Get/Set flag indicating if entry is encrypted. + A simple helper routine to aid interpretation of flags + + This is an assistant that interprets the flags property. + + + + Get / set a flag indicating wether entry name and comment text are + encoded in unicode UTF8. + + This is an assistant that interprets the flags property. + + + + Value used during password checking for PKZIP 2.0 / 'classic' encryption. + + + + + Get/Set general purpose bit flag for entry + + + General purpose bit flag
+
+ Bit 0: If set, indicates the file is encrypted
+ Bit 1-2 Only used for compression type 6 Imploding, and 8, 9 deflating
+ Imploding:
+ Bit 1 if set indicates an 8K sliding dictionary was used. If clear a 4k dictionary was used
+ Bit 2 if set indicates 3 Shannon-Fanno trees were used to encode the sliding dictionary, 2 otherwise
+
+ Deflating:
+ Bit 2 Bit 1
+ 0 0 Normal compression was used
+ 0 1 Maximum compression was used
+ 1 0 Fast compression was used
+ 1 1 Super fast compression was used
+
+ Bit 3: If set, the fields crc-32, compressed size + and uncompressed size are were not able to be written during zip file creation + The correct values are held in a data descriptor immediately following the compressed data.
+ Bit 4: Reserved for use by PKZIP for enhanced deflating
+ Bit 5: If set indicates the file contains compressed patch data
+ Bit 6: If set indicates strong encryption was used.
+ Bit 7-10: Unused or reserved
+ Bit 11: If set the name and comments for this entry are in unicode.
+ Bit 12-15: Unused or reserved
+
+ + +
+ + + Get/Set index of this entry in Zip file + + This is only valid when the entry is part of a + + + + Get/set offset for use in central header + + + + + Get/Set external file attributes as an integer. + The values of this are operating system dependant see + HostSystem for details + + + + + Get the version made by for this entry or zero if unknown. + The value / 10 indicates the major version number, and + the value mod 10 is the minor version number + + + + + Get a value indicating this entry is for a DOS/Windows system. + + + + + Gets the compatability information for the external file attribute + If the external file attributes are compatible with MS-DOS and can be read + by PKZIP for DOS version 2.04g then this value will be zero. Otherwise the value + will be non-zero and identify the host system on which the attributes are compatible. + + + + The values for this as defined in the Zip File format and by others are shown below. The values are somewhat + misleading in some cases as they are not all used as shown. You should consult the relevant documentation + to obtain up to date and correct information. The modified appnote by the infozip group is + particularly helpful as it documents a lot of peculiarities. The document is however a little dated. + + 0 - MS-DOS and OS/2 (FAT / VFAT / FAT32 file systems) + 1 - Amiga + 2 - OpenVMS + 3 - Unix + 4 - VM/CMS + 5 - Atari ST + 6 - OS/2 HPFS + 7 - Macintosh + 8 - Z-System + 9 - CP/M + 10 - Windows NTFS + 11 - MVS (OS/390 - Z/OS) + 12 - VSE + 13 - Acorn Risc + 14 - VFAT + 15 - Alternate MVS + 16 - BeOS + 17 - Tandem + 18 - OS/400 + 19 - OS/X (Darwin) + 99 - WinZip AES + remainder - unused + + + + + + Get minimum Zip feature version required to extract this entry + + + Minimum features are defined as:
+ 1.0 - Default value
+ 1.1 - File is a volume label
+ 2.0 - File is a folder/directory
+ 2.0 - File is compressed using Deflate compression
+ 2.0 - File is encrypted using traditional encryption
+ 2.1 - File is compressed using Deflate64
+ 2.5 - File is compressed using PKWARE DCL Implode
+ 2.7 - File is a patch data set
+ 4.5 - File uses Zip64 format extensions
+ 4.6 - File is compressed using BZIP2 compression
+ 5.0 - File is encrypted using DES
+ 5.0 - File is encrypted using 3DES
+ 5.0 - File is encrypted using original RC2 encryption
+ 5.0 - File is encrypted using RC4 encryption
+ 5.1 - File is encrypted using AES encryption
+ 5.1 - File is encrypted using corrected RC2 encryption
+ 5.1 - File is encrypted using corrected RC2-64 encryption
+ 6.1 - File is encrypted using non-OAEP key wrapping
+ 6.2 - Central directory encryption (not confirmed yet)
+ 6.3 - File is compressed using LZMA
+ 6.3 - File is compressed using PPMD+
+ 6.3 - File is encrypted using Blowfish
+ 6.3 - File is encrypted using Twofish
+
+ +
+ + + Get a value indicating wether this entry can be decompressed by the library. + + This is based on the and + wether the compression method is supported. + + + + Gets a value indicating if the entry requires Zip64 extensions + to store the full entry values. + + A value of true if a local header requires Zip64 extensions; false if not. + + + + Get a value indicating wether the central directory entry requires Zip64 extensions to be stored. + + + + + Get/Set DosTime value. + + + The MS-DOS date format can only represent dates between 1/1/1980 and 12/31/2107. + + + + + Gets/Sets the time of last modification of the entry. + + + The property is updated to match this as far as possible. + + + + + Returns the entry name. + + + The unix naming convention is followed. + Path components in the entry should always separated by forward slashes ('/'). + Dos device names like C: should also be removed. + See the class, or + + + + + Gets/Sets the size of the uncompressed data. + + + The size or -1 if unknown. + + Setting the size before adding an entry to an archive can help + avoid compatability problems with some archivers which dont understand Zip64 extensions. + + + + Gets/Sets the size of the compressed data. + + + The compressed entry size or -1 if unknown. + + + + + Gets/Sets the crc of the uncompressed data. + + + Crc is not in the range 0..0xffffffffL + + + The crc value or -1 if unknown. + + + + + Gets/Sets the compression method. Only Deflated and Stored are supported. + + + The compression method for this entry + + + + + + + Gets/Sets the extra data. + + + Extra data is longer than 64KB (0xffff) bytes. + + + Extra data or null if not set. + + + + + Gets/Sets the entry comment. + + + If comment is longer than 0xffff. + + + The comment or null if not set. + + + A comment is only available for entries when read via the class. + The class doesnt have the comment data available. + + + + + Gets a value indicating if the entry is a directory. + however. + + + A directory is determined by an entry name with a trailing slash '/'. + The external file attributes can also indicate an entry is for a directory. + Currently only dos/windows attributes are tested in this manner. + The trailing slash convention should always be followed. + + + + + Get a value of true if the entry appears to be a file; false otherwise + + + This only takes account of DOS/Windows attributes. Other operating systems are ignored. + For linux and others the result may be incorrect. + + + + + ExtraData tagged value interface. + + + + + Set the contents of this instance from the data passed. + + The data to extract contents from. + The offset to begin extracting data from. + The number of bytes to extract. + + + + Get the data representing this instance. + + Returns the data for this instance. + + + + Get the ID for this tagged data value. + + + + + A raw binary tagged value + + + + + Initialise a new instance. + + The tag ID. + + + + Set the data from the raw values provided. + + The raw data to extract values from. + The index to start extracting values from. + The number of bytes available. + + + + Get the binary data representing this instance. + + The raw binary data representing this instance. + + + + The tag ID for this instance. + + + + + Get the ID for this tagged data value. + + + + + Get /set the binary data representing this instance. + + The raw binary data representing this instance. + + + + Class representing extended unix date time values. + + + + + Set the data from the raw values provided. + + The raw data to extract values from. + The index to start extracting values from. + The number of bytes available. + + + + Get the binary data representing this instance. + + The raw binary data representing this instance. + + + + Test a value to see if is valid and can be represented here. + + The value to test. + Returns true if the value is valid and can be represented; false if not. + The standard Unix time is a signed integer data type, directly encoding the Unix time number, + which is the number of seconds since 1970-01-01. + Being 32 bits means the values here cover a range of about 136 years. + The minimum representable time is 1901-12-13 20:45:52, + and the maximum representable time is 2038-01-19 03:14:07. + + + + + Get the ID + + + + + Get /set the Modification Time + + + + + + + Get / set the Access Time + + + + + + + Get / Set the Create Time + + + + + + + Get/set the values to include. + + + + + Flags indicate which values are included in this instance. + + + + + The modification time is included + + + + + The access time is included + + + + + The create time is included. + + + + + Class handling NT date time values. + + + + + Set the data from the raw values provided. + + The raw data to extract values from. + The index to start extracting values from. + The number of bytes available. + + + + Get the binary data representing this instance. + + The raw binary data representing this instance. + + + + Test a valuie to see if is valid and can be represented here. + + The value to test. + Returns true if the value is valid and can be represented; false if not. + + NTFS filetimes are 64-bit unsigned integers, stored in Intel + (least significant byte first) byte order. They determine the + number of 1.0E-07 seconds (1/10th microseconds!) past WinNT "epoch", + which is "01-Jan-1601 00:00:00 UTC". 28 May 60056 is the upper limit + + + + + Get the ID for this tagged data value. + + + + + Get/set the last modification time. + + + + + Get /set the create time + + + + + Get /set the last access time. + + + + + A factory that creates tagged data instances. + + + + + Get data for a specific tag value. + + The tag ID to find. + The data to search. + The offset to begin extracting data from. + The number of bytes to extract. + The located value found, or null if not found. + + + + + A class to handle the extra data field for Zip entries + + + Extra data contains 0 or more values each prefixed by a header tag and length. + They contain zero or more bytes of actual data. + The data is held internally using a copy on write strategy. This is more efficient but + means that for extra data created by passing in data can have the values modified by the caller + in some circumstances. + + + + + Initialise a default instance. + + + + + Initialise with known extra data. + + The extra data. + + + + Get the raw extra data value + + Returns the raw byte[] extra data this instance represents. + + + + Clear the stored data. + + + + + Get a read-only for the associated tag. + + The tag to locate data for. + Returns a containing tag data or null if no tag was found. + + + + Get the tagged data for a tag. + + The tag to search for. + Returns a tagged value or null if none found. + + + + Find an extra data value + + The identifier for the value to find. + Returns true if the value was found; false otherwise. + + + + Add a new entry to extra data. + + The value to add. + + + + Add a new entry to extra data + + The ID for this entry. + The data to add. + If the ID already exists its contents are replaced. + + + + Start adding a new entry. + + Add data using , , , or . + The new entry is completed and actually added by calling + + + + + Add entry data added since using the ID passed. + + The identifier to use for this entry. + + + + Add a byte of data to the pending new entry. + + The byte to add. + + + + + Add data to a pending new entry. + + The data to add. + + + + + Add a short value in little endian order to the pending new entry. + + The data to add. + + + + + Add an integer value in little endian order to the pending new entry. + + The data to add. + + + + + Add a long value in little endian order to the pending new entry. + + The data to add. + + + + + Delete an extra data field. + + The identifier of the field to delete. + Returns true if the field was found and deleted. + + + + Read a long in little endian form from the last found data value + + Returns the long value read. + + + + Read an integer in little endian form from the last found data value. + + Returns the integer read. + + + + Read a short value in little endian form from the last found data value. + + Returns the short value read. + + + + Read a byte from an extra data + + The byte value read or -1 if the end of data has been reached. + + + + Skip data during reading. + + The number of bytes to skip. + + + + Internal form of that reads data at any location. + + Returns the short value read. + + + + Dispose of this instance. + + + + + Gets the current extra data length. + + + + + Get the length of the last value found by + + This is only value if has previsouly returned true. + + + + Get the index for the current read value. + + This is only valid if has previously returned true. + Initially it will be the index of the first byte of actual data. The value is updated after calls to + , and . + + + + Get the number of bytes remaining to be read for the current value; + + + + + Holds data pertinent to a data descriptor. + + + + + Get /set the compressed size of data. + + + + + Get / set the uncompressed size of data + + + + + Get /set the crc value. + + + + + This class assists with writing/reading from Zip files. + + + + + Initialise an instance of this class. + + The name of the file to open. + + + + Initialise a new instance of . + + The stream to use. + + + + Close the stream. + + + The underlying stream is closed only if is true. + + + + + Locates a block with the desired . + + The signature to find. + Location, marking the end of block. + Minimum size of the block. + The maximum variable data. + Eeturns the offset of the first byte after the signature; -1 if not found + + + + Write Zip64 end of central directory records (File header and locator). + + The number of entries in the central directory. + The size of entries in the central directory. + The offset of the dentral directory. + + + + Write the required records to end the central directory. + + The number of entries in the directory. + The size of the entries in the directory. + The start of the central directory. + The archive comment. (This can be null). + + + + Read an unsigned short in little endian byte order. + + Returns the value read. + + An i/o error occurs. + + + The file ends prematurely + + + + + Read an int in little endian byte order. + + Returns the value read. + + An i/o error occurs. + + + The file ends prematurely + + + + + Read a long in little endian byte order. + + The value read. + + + + Write an unsigned short in little endian byte order. + + The value to write. + + + + Write a ushort in little endian byte order. + + The value to write. + + + + Write an int in little endian byte order. + + The value to write. + + + + Write a uint in little endian byte order. + + The value to write. + + + + Write a long in little endian byte order. + + The value to write. + + + + Write a ulong in little endian byte order. + + The value to write. + + + + Write a data descriptor. + + The entry to write a descriptor for. + Returns the number of descriptor bytes written. + + + + Read data descriptor at the end of compressed data. + + if set to true [zip64]. + The data to fill in. + Returns the number of bytes read in the descriptor. + + + + Get / set a value indicating wether the the underlying stream is owned or not. + + If the stream is owned it is closed when this instance is closed. + + + + Inflater is used to decompress data that has been compressed according + to the "deflate" standard described in rfc1951. + + By default Zlib (rfc1950) headers and footers are expected in the input. + You can use constructor public Inflater(bool noHeader) passing true + if there is no Zlib header information + + The usage is as following. First you have to set some input with + SetInput(), then Inflate() it. If inflate doesn't + inflate any bytes there may be three reasons: +
    +
  • IsNeedingInput() returns true because the input buffer is empty. + You have to provide more input with SetInput(). + NOTE: IsNeedingInput() also returns true when, the stream is finished. +
  • +
  • IsNeedingDictionary() returns true, you have to provide a preset + dictionary with SetDictionary().
  • +
  • IsFinished returns true, the inflater has finished.
  • +
+ Once the first output byte is produced, a dictionary will not be + needed at a later stage. + + author of the original java version : John Leuner, Jochen Hoenicke +
+
+ + + These are the possible states for an inflater + + + + + Copy lengths for literal codes 257..285 + + + + + Extra bits for literal codes 257..285 + + + + + Copy offsets for distance codes 0..29 + + + + + Extra bits for distance codes + + + + + This variable contains the current state. + + + + + The adler checksum of the dictionary or of the decompressed + stream, as it is written in the header resp. footer of the + compressed stream. + Only valid if mode is DECODE_DICT or DECODE_CHKSUM. + + + + + The number of bits needed to complete the current state. This + is valid, if mode is DECODE_DICT, DECODE_CHKSUM, + DECODE_HUFFMAN_LENBITS or DECODE_HUFFMAN_DISTBITS. + + + + + True, if the last block flag was set in the last block of the + inflated stream. This means that the stream ends after the + current block. + + + + + The total number of inflated bytes. + + + + + The total number of bytes set with setInput(). This is not the + value returned by the TotalIn property, since this also includes the + unprocessed input. + + + + + This variable stores the noHeader flag that was given to the constructor. + True means, that the inflated stream doesn't contain a Zlib header or + footer. + + + + + Creates a new inflater or RFC1951 decompressor + RFC1950/Zlib headers and footers will be expected in the input data + + + + + Creates a new inflater. + + + True if no RFC1950/Zlib header and footer fields are expected in the input data + + This is used for GZIPed/Zipped input. + + For compatibility with + Sun JDK you should provide one byte of input more than needed in + this case. + + + + + Resets the inflater so that a new stream can be decompressed. All + pending input and output will be discarded. + + + + + Decodes a zlib/RFC1950 header. + + + False if more input is needed. + + + The header is invalid. + + + + + Decodes the dictionary checksum after the deflate header. + + + False if more input is needed. + + + + + Decodes the huffman encoded symbols in the input stream. + + + false if more input is needed, true if output window is + full or the current block ends. + + + if deflated stream is invalid. + + + + + Decodes the adler checksum after the deflate stream. + + + false if more input is needed. + + + If checksum doesn't match. + + + + + Decodes the deflated stream. + + + false if more input is needed, or if finished. + + + if deflated stream is invalid. + + + + + Sets the preset dictionary. This should only be called, if + needsDictionary() returns true and it should set the same + dictionary, that was used for deflating. The getAdler() + function returns the checksum of the dictionary needed. + + + The dictionary. + + + + + Sets the preset dictionary. This should only be called, if + needsDictionary() returns true and it should set the same + dictionary, that was used for deflating. The getAdler() + function returns the checksum of the dictionary needed. + + + The dictionary. + + + The index into buffer where the dictionary starts. + + + The number of bytes in the dictionary. + + + No dictionary is needed. + + + The adler checksum for the buffer is invalid + + + + + Sets the input. This should only be called, if needsInput() + returns true. + + + the input. + + + + + Sets the input. This should only be called, if needsInput() + returns true. + + + The source of input data + + + The index into buffer where the input starts. + + + The number of bytes of input to use. + + + No input is needed. + + + The index and/or count are wrong. + + + + + Inflates the compressed stream to the output buffer. If this + returns 0, you should check, whether IsNeedingDictionary(), + IsNeedingInput() or IsFinished() returns true, to determine why no + further output is produced. + + + the output buffer. + + + The number of bytes written to the buffer, 0 if no further + output can be produced. + + + if buffer has length 0. + + + if deflated stream is invalid. + + + + + Inflates the compressed stream to the output buffer. If this + returns 0, you should check, whether needsDictionary(), + needsInput() or finished() returns true, to determine why no + further output is produced. + + + the output buffer. + + + the offset in buffer where storing starts. + + + the maximum number of bytes to output. + + + the number of bytes written to the buffer, 0 if no further output can be produced. + + + if count is less than 0. + + + if the index and / or count are wrong. + + + if deflated stream is invalid. + + + + + Returns true, if the input buffer is empty. + You should then call setInput(). + NOTE: This method also returns true when the stream is finished. + + + + + Returns true, if a preset dictionary is needed to inflate the input. + + + + + Returns true, if the inflater has finished. This means, that no + input is needed and no output can be produced. + + + + + Gets the adler checksum. This is either the checksum of all + uncompressed bytes returned by inflate(), or if needsDictionary() + returns true (and thus no output was yet produced) this is the + adler checksum of the expected dictionary. + + + the adler checksum. + + + + + Gets the total number of output bytes returned by Inflate(). + + + the total number of output bytes. + + + + + Gets the total number of processed compressed input bytes. + + + The total number of bytes of processed input bytes. + + + + + Gets the number of unprocessed input bytes. Useful, if the end of the + stream is reached and you want to further process the bytes after + the deflate stream. + + + The number of bytes of the input which have not been processed. + + + + + An input stream that decompresses files in the BZip2 format + + + + + Construct instance for reading from stream + + Data source + + + + Flushes the stream. + + + + + Set the streams position. This operation is not supported and will throw a NotSupportedException + + A byte offset relative to the parameter. + A value of type indicating the reference point used to obtain the new position. + The new position of the stream. + Any access + + + + Sets the length of this stream to the given value. + This operation is not supported and will throw a NotSupportedExceptionortedException + + The new length for the stream. + Any access + + + + Writes a block of bytes to this stream using data from a buffer. + This operation is not supported and will throw a NotSupportedException + + The buffer to source data from. + The offset to start obtaining data from. + The number of bytes of data to write. + Any access + + + + Writes a byte to the current position in the file stream. + This operation is not supported and will throw a NotSupportedException + + The value to write. + Any access + + + + Read a sequence of bytes and advances the read position by one byte. + + Array of bytes to store values in + Offset in array to begin storing data + The maximum number of bytes to read + The total number of bytes read into the buffer. This might be less + than the number of bytes requested if that number of bytes are not + currently available or zero if the end of the stream is reached. + + + + + Closes the stream, releasing any associated resources. + + + + + Read a byte from stream advancing position + + byte read or -1 on end of stream + + + + Get/set flag indicating ownership of underlying stream. + When the flag is true will close the underlying stream also. + + + + + Gets a value indicating if the stream supports reading + + + + + Gets a value indicating whether the current stream supports seeking. + + + + + Gets a value indicating whether the current stream supports writing. + This property always returns false + + + + + Gets the length in bytes of the stream. + + + + + Gets or sets the streams position. + Setting the position is not supported and will throw a NotSupportException + + Any attempt to set the position + + + + Computes Adler32 checksum for a stream of data. An Adler32 + checksum is not as reliable as a CRC32 checksum, but a lot faster to + compute. + + The specification for Adler32 may be found in RFC 1950. + ZLIB Compressed Data Format Specification version 3.3) + + + From that document: + + "ADLER32 (Adler-32 checksum) + This contains a checksum value of the uncompressed data + (excluding any dictionary data) computed according to Adler-32 + algorithm. This algorithm is a 32-bit extension and improvement + of the Fletcher algorithm, used in the ITU-T X.224 / ISO 8073 + standard. + + Adler-32 is composed of two sums accumulated per byte: s1 is + the sum of all bytes, s2 is the sum of all s1 values. Both sums + are done modulo 65521. s1 is initialized to 1, s2 to zero. The + Adler-32 checksum is stored as s2*65536 + s1 in most- + significant-byte first (network) order." + + "8.2. The Adler-32 algorithm + + The Adler-32 algorithm is much faster than the CRC32 algorithm yet + still provides an extremely low probability of undetected errors. + + The modulo on unsigned long accumulators can be delayed for 5552 + bytes, so the modulo operation time is negligible. If the bytes + are a, b, c, the second sum is 3a + 2b + c + 3, and so is position + and order sensitive, unlike the first sum, which is just a + checksum. That 65521 is prime is important to avoid a possible + large class of two-byte errors that leave the check unchanged. + (The Fletcher checksum uses 255, which is not prime and which also + makes the Fletcher check insensitive to single byte changes 0 - + 255.) + + The sum s1 is initialized to 1 instead of zero to make the length + of the sequence part of s2, so that the length does not have to be + checked separately. (Any sequence of zeroes has a Fletcher + checksum of zero.)" + + + + + + + largest prime smaller than 65536 + + + + + Creates a new instance of the Adler32 class. + The checksum starts off with a value of 1. + + + + + Resets the Adler32 checksum to the initial value. + + + + + Updates the checksum with a byte value. + + + The data value to add. The high byte of the int is ignored. + + + + + Updates the checksum with an array of bytes. + + + The source of the data to update with. + + + + + Updates the checksum with the bytes taken from the array. + + + an array of bytes + + + the start of the data used for this update + + + the number of bytes to use for this update + + + + + Returns the Adler32 data checksum computed so far. + + +
+
diff --git a/bin/Org.Mentalis.Security.dll b/bin/Org.Mentalis.Security.dll new file mode 100644 index 0000000..bac39dd Binary files /dev/null and b/bin/Org.Mentalis.Security.dll differ diff --git a/bin/Tamir.SharpSSH.dll b/bin/Tamir.SharpSSH.dll new file mode 100644 index 0000000..c2f67a8 Binary files /dev/null and b/bin/Tamir.SharpSSH.dll differ diff --git a/bin/Winterdom.IO.FileMap.dll b/bin/Winterdom.IO.FileMap.dll new file mode 100644 index 0000000..f3965d6 Binary files /dev/null and b/bin/Winterdom.IO.FileMap.dll differ diff --git a/bin/Winterdom.IO.FileMap.pdb b/bin/Winterdom.IO.FileMap.pdb new file mode 100644 index 0000000..8368cfc Binary files /dev/null and b/bin/Winterdom.IO.FileMap.pdb differ -- cgit v1.1 From e0d533dc4ea95f88ed647fa9243325499e122e45 Mon Sep 17 00:00:00 2001 From: Tom Grimshaw Date: Fri, 25 Jun 2010 12:55:02 -0700 Subject: Add [Git] section to OpenSim.ini.example for Gitminster --- bin/OpenSim.ini.example | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index c21dc98..d08cf1d 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -883,6 +883,9 @@ PriceObjectScaleFactor = 10 PriceParcelRent = 1 +[Git] +Enabled = 1 +RepoPath = "/git" [SVN] Enabled = false -- cgit v1.1 From 3ef70b55e9e8a69afc6dc27e01a294193e03e6d6 Mon Sep 17 00:00:00 2001 From: Tom Grimshaw Date: Fri, 25 Jun 2010 12:58:13 -0700 Subject: Whoops, enabled = true not enabled = 1 --- bin/OpenSim.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index d08cf1d..180c100 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -884,7 +884,7 @@ PriceParcelRent = 1 [Git] -Enabled = 1 +Enabled = true RepoPath = "/git" [SVN] -- cgit v1.1 From 8daa149c367d6d3f51d41663d6e518af3354addd Mon Sep 17 00:00:00 2001 From: Tom Grimshaw Date: Fri, 25 Jun 2010 13:03:00 -0700 Subject: Remove the prepending slash from the default git repo name --- bin/OpenSim.ini.example | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 180c100..6fdfcf2 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -885,7 +885,7 @@ [Git] Enabled = true -RepoPath = "/git" +RepoPath = "git" [SVN] Enabled = false -- cgit v1.1 From d3d63fe553e335adc6d3a0dbd7907ea6733cb428 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sat, 26 Jun 2010 06:21:38 +0200 Subject: remove conflicting pdb debug files --- bin/GitSharp.Core.pdb | Bin 1906176 -> 0 bytes bin/GitSharp.pdb | Bin 347648 -> 0 bytes bin/Winterdom.IO.FileMap.pdb | Bin 24064 -> 0 bytes 3 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 bin/GitSharp.Core.pdb delete mode 100644 bin/GitSharp.pdb delete mode 100644 bin/Winterdom.IO.FileMap.pdb (limited to 'bin') diff --git a/bin/GitSharp.Core.pdb b/bin/GitSharp.Core.pdb deleted file mode 100644 index 32ad5bb..0000000 Binary files a/bin/GitSharp.Core.pdb and /dev/null differ diff --git a/bin/GitSharp.pdb b/bin/GitSharp.pdb deleted file mode 100644 index 4c65b1f..0000000 Binary files a/bin/GitSharp.pdb and /dev/null differ diff --git a/bin/Winterdom.IO.FileMap.pdb b/bin/Winterdom.IO.FileMap.pdb deleted file mode 100644 index 8368cfc..0000000 Binary files a/bin/Winterdom.IO.FileMap.pdb and /dev/null differ -- cgit v1.1 From 6c6c7b09273a465993b7893b235f8ebfd5b0dcf5 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sat, 26 Jun 2010 06:25:03 +0200 Subject: Remove libs from main tree --- bin/DiffieHellman.dll | Bin 53248 -> 0 bytes bin/GitSharp.Core.dll | Bin 558080 -> 0 bytes bin/GitSharp.dll | Bin 219648 -> 0 bytes bin/ICSharpCode.SharpZipLib.dll | Bin 188416 -> 0 bytes bin/ICSharpCode.SharpZipLib.xml | 9055 --------------------------------------- bin/Org.Mentalis.Security.dll | Bin 184320 -> 0 bytes bin/Tamir.SharpSSH.dll | Bin 212992 -> 0 bytes bin/Winterdom.IO.FileMap.dll | Bin 9728 -> 0 bytes 8 files changed, 9055 deletions(-) delete mode 100644 bin/DiffieHellman.dll delete mode 100644 bin/GitSharp.Core.dll delete mode 100644 bin/GitSharp.dll delete mode 100644 bin/ICSharpCode.SharpZipLib.dll delete mode 100644 bin/ICSharpCode.SharpZipLib.xml delete mode 100644 bin/Org.Mentalis.Security.dll delete mode 100644 bin/Tamir.SharpSSH.dll delete mode 100644 bin/Winterdom.IO.FileMap.dll (limited to 'bin') diff --git a/bin/DiffieHellman.dll b/bin/DiffieHellman.dll deleted file mode 100644 index aa31051..0000000 Binary files a/bin/DiffieHellman.dll and /dev/null differ diff --git a/bin/GitSharp.Core.dll b/bin/GitSharp.Core.dll deleted file mode 100644 index 5aad773..0000000 Binary files a/bin/GitSharp.Core.dll and /dev/null differ diff --git a/bin/GitSharp.dll b/bin/GitSharp.dll deleted file mode 100644 index 99a91a7..0000000 Binary files a/bin/GitSharp.dll and /dev/null differ diff --git a/bin/ICSharpCode.SharpZipLib.dll b/bin/ICSharpCode.SharpZipLib.dll deleted file mode 100644 index e565e3a..0000000 Binary files a/bin/ICSharpCode.SharpZipLib.dll and /dev/null differ diff --git a/bin/ICSharpCode.SharpZipLib.xml b/bin/ICSharpCode.SharpZipLib.xml deleted file mode 100644 index 98cb51e..0000000 --- a/bin/ICSharpCode.SharpZipLib.xml +++ /dev/null @@ -1,9055 +0,0 @@ - - - - ICSharpCode.SharpZipLib - - - - - FastZipEvents supports all events applicable to FastZip operations. - - - - - Delegate to invoke when processing directories. - - - - - Delegate to invoke when processing files. - - - - - Delegate to invoke during processing of files. - - - - - Delegate to invoke when processing for a file has been completed. - - - - - Delegate to invoke when processing directory failures. - - - - - Delegate to invoke when processing file failures. - - - - - Raise the directory failure event. - - The directory causing the failure. - The exception for this event. - A boolean indicating if execution should continue or not. - - - - Raises the file failure delegate. - - The file causing the failure. - The exception for this failure. - A boolean indicating if execution should continue or not. - - - - Fires the Process File delegate. - - The file being processed. - A boolean indicating if execution should continue or not. - - - - Fires the CompletedFile delegate - - The file whose processing has been completed. - A boolean indicating if execution should continue or not. - - - - Fires the process directory delegate. - - The directory being processed. - Flag indicating if the directory has matching files as determined by the current filter. - A of true if the operation should continue; false otherwise. - - - - The minimum timespan between events. - - The minimum period of time between events. - - - - - FastZip provides facilities for creating and extracting zip files. - - - - - Initialise a default instance of . - - - - - Initialise a new instance of - - The events to use during operations. - - - - Create a zip file. - - The name of the zip file to create. - The directory to source files from. - True to recurse directories, false for no recursion. - The file filter to apply. - The directory filter to apply. - - - - Create a zip file/archive. - - The name of the zip file to create. - The directory to obtain files and directories from. - True to recurse directories, false for no recursion. - The file filter to apply. - - - - Create a zip archive sending output to the passed. - - The stream to write archive data to. - The directory to source files from. - True to recurse directories, false for no recursion. - The file filter to apply. - The directory filter to apply. - - - - Extract the contents of a zip file. - - The zip file to extract from. - The directory to save extracted information in. - A filter to apply to files. - - - - Extract the contents of a zip file. - - The zip file to extract from. - The directory to save extracted information in. - The style of overwriting to apply. - A delegate to invoke when confirming overwriting. - A filter to apply to files. - A filter to apply to directories. - Flag indicating wether to restore the date and time for extracted files. - - - - Get/set a value indicating wether empty directories should be created. - - - - - Get / set the password value. - - - - - Get or set the active when creating Zip files. - - - - - - Get or set the active when creating Zip files. - - - - - Get/set a value indicating wether file dates and times should - be restored when extracting files from an archive. - - The default value is false. - - - - Get/set a value indicating wether file attributes should - be restored during extract operations - - - - - Defines the desired handling when overwriting files during extraction. - - - - - Prompt the user to confirm overwriting - - - - - Never overwrite files. - - - - - Always overwrite files. - - - - - Delegate called when confirming overwriting of files. - - - - - NameFilter is a string matching class which allows for both positive and negative - matching. - A filter is a sequence of independant regular expressions separated by semi-colons ';' - Each expression can be prefixed by a plus '+' sign or a minus '-' sign to denote the expression - is intended to include or exclude names. If neither a plus or minus sign is found include is the default - A given name is tested for inclusion before checking exclusions. Only names matching an include spec - and not matching an exclude spec are deemed to match the filter. - An empty filter matches any name. - - The following expression includes all name ending in '.dat' with the exception of 'dummy.dat' - "+\.dat$;-^dummy\.dat$" - - - - - Scanning filters support filtering of names. - - - - - Test a name to see if it 'matches' the filter. - - The name to test. - Returns true if the name matches the filter, false if it does not match. - - - - Construct an instance based on the filter expression passed - - The filter expression. - - - - Test a string to see if it is a valid regular expression. - - The expression to test. - True if expression is a valid false otherwise. - - - - Test an expression to see if it is valid as a filter. - - The filter expression to test. - True if the expression is valid, false otherwise. - - - - Convert this filter to its string equivalent. - - The string equivalent for this filter. - - - - Test a value to see if it is included by the filter. - - The value to test. - True if the value is included, false otherwise. - - - - Test a value to see if it is excluded by the filter. - - The value to test. - True if the value is excluded, false otherwise. - - - - Test a value to see if it matches the filter. - - The value to test. - True if the value matches, false otherwise. - - - - Compile this filter. - - - - - Huffman tree used for inflation - - - - - Literal length tree - - - - - Distance tree - - - - - Constructs a Huffman tree from the array of code lengths. - - - the array of code lengths - - - - - Reads the next symbol from input. The symbol is encoded using the - huffman tree. - - - input the input source. - - - the next symbol, or -1 if not enough input is available. - - - - - This class is general purpose class for writing data to a buffer. - - It allows you to write bits as well as bytes - Based on DeflaterPending.java - - author of the original java version : Jochen Hoenicke - - - - - Internal work buffer - - - - - construct instance using default buffer size of 4096 - - - - - construct instance using specified buffer size - - - size to use for internal buffer - - - - - Clear internal state/buffers - - - - - Write a byte to buffer - - - The value to write - - - - - Write a short value to buffer LSB first - - - The value to write. - - - - - write an integer LSB first - - The value to write. - - - - Write a block of data to buffer - - data to write - offset of first byte to write - number of bytes to write - - - - Align internal buffer on a byte boundary - - - - - Write bits to internal buffer - - source of bits - number of bits to write - - - - Write a short value to internal buffer most significant byte first - - value to write - - - - Flushes the pending buffer into the given output array. If the - output array is to small, only a partial flush is done. - - The output array. - The offset into output array. - The maximum number of bytes to store. - The number of bytes flushed. - - - - Convert internal buffer to byte array. - Buffer is empty on completion - - - The internal buffer contents converted to a byte array. - - - - - The number of bits written to the buffer - - - - - Indicates if buffer has been flushed - - - - - Used to advise clients of 'events' while processing archives - - - - - The TarArchive class implements the concept of a - 'Tape Archive'. A tar archive is a series of entries, each of - which represents a file system object. Each entry in - the archive consists of a header block followed by 0 or more data blocks. - Directory entries consist only of the header block, and are followed by entries - for the directory's contents. File entries consist of a - header followed by the number of blocks needed to - contain the file's contents. All entries are written on - block boundaries. Blocks are 512 bytes long. - - TarArchives are instantiated in either read or write mode, - based upon whether they are instantiated with an InputStream - or an OutputStream. Once instantiated TarArchives read/write - mode can not be changed. - - There is currently no support for random access to tar archives. - However, it seems that subclassing TarArchive, and using the - TarBuffer.CurrentRecord and TarBuffer.CurrentBlock - properties, this would be rather trivial. - - - - - Raises the ProgressMessage event - - The TarEntry for this event - message for this event. Null is no message - - - - Constructor for a default . - - - - - Initalise a TarArchive for input. - - The to use for input. - - - - Initialise a TarArchive for output. - - The to use for output. - - - - The InputStream based constructors create a TarArchive for the - purposes of extracting or listing a tar archive. Thus, use - these constructors when you wish to extract files from or list - the contents of an existing tar archive. - - The stream to retrieve archive data from. - Returns a new suitable for reading from. - - - - Create TarArchive for reading setting block factor - - Stream for tar archive contents - The blocking factor to apply - Returns a suitable for reading. - - - - Create a TarArchive for writing to, using the default blocking factor - - The to write to - Returns a suitable for writing. - - - - Create a TarArchive for writing to - - The stream to write to - The blocking factor to use for buffering. - Returns a suitable for writing. - - - - Set the flag that determines whether existing files are - kept, or overwritten during extraction. - - - If true, do not overwrite existing files. - - - - - Set the ascii file translation flag. - - - If true, translate ascii text files. - - - - - Set user and group information that will be used to fill in the - tar archive's entry headers. This information based on that available - for the linux operating system, which is not always available on other - operating systems. TarArchive allows the programmer to specify values - to be used in their place. - is set to true by this call. - - - The user id to use in the headers. - - - The user name to use in the headers. - - - The group id to use in the headers. - - - The group name to use in the headers. - - - - - Close the archive. - - - - - Perform the "list" command for the archive contents. - - NOTE That this method uses the progress event to actually list - the contents. If the progress display event is not set, nothing will be listed! - - - - - Perform the "extract" command and extract the contents of the archive. - - - The destination directory into which to extract. - - - - - Extract an entry from the archive. This method assumes that the - tarIn stream has been properly set with a call to GetNextEntry(). - - - The destination directory into which to extract. - - - The TarEntry returned by tarIn.GetNextEntry(). - - - - - Write an entry to the archive. This method will call the putNextEntry - and then write the contents of the entry, and finally call closeEntry() - for entries that are files. For directories, it will call putNextEntry(), - and then, if the recurse flag is true, process each entry that is a - child of the directory. - - - The TarEntry representing the entry to write to the archive. - - - If true, process the children of directory entries. - - - - - Write an entry to the archive. This method will call the putNextEntry - and then write the contents of the entry, and finally call closeEntry() - for entries that are files. For directories, it will call putNextEntry(), - and then, if the recurse flag is true, process each entry that is a - child of the directory. - - - The TarEntry representing the entry to write to the archive. - - - If true, process the children of directory entries. - - - - - Releases the unmanaged resources used by the FileStream and optionally releases the managed resources. - - true to release both managed and unmanaged resources; - false to release only unmanaged resources. - - - - Closes the archive and releases any associated resources. - - - - - Ensures that resources are freed and other cleanup operations are performed - when the garbage collector reclaims the . - - - - - Client hook allowing detailed information to be reported during processing - - - - - Get/set the ascii file translation flag. If ascii file translation - is true, then the file is checked to see if it a binary file or not. - If the flag is true and the test indicates it is ascii text - file, it will be translated. The translation converts the local - operating system's concept of line ends into the UNIX line end, - '\n', which is the defacto standard for a TAR archive. This makes - text files compatible with UNIX. - - - - - PathPrefix is added to entry names as they are written if the value is not null. - A slash character is appended after PathPrefix - - - - - RootPath is removed from entry names if it is found at the - beginning of the name. - - - - - Get or set a value indicating if overrides defined by SetUserInfo should be applied. - - If overrides are not applied then the values as set in each header will be used. - - - - Get the archive user id. - See ApplyUserInfoOverrides for detail - on how to allow setting values on a per entry basis. - - - The current user id. - - - - - Get the archive user name. - See ApplyUserInfoOverrides for detail - on how to allow setting values on a per entry basis. - - - The current user name. - - - - - Get the archive group id. - See ApplyUserInfoOverrides for detail - on how to allow setting values on a per entry basis. - - - The current group id. - - - - - Get the archive group name. - See ApplyUserInfoOverrides for detail - on how to allow setting values on a per entry basis. - - - The current group name. - - - - - Get the archive's record size. Tar archives are composed of - a series of RECORDS each containing a number of BLOCKS. - This allowed tar archives to match the IO characteristics of - the physical device being used. Archives are expected - to be properly "blocked". - - - The record size this archive is using. - - - - - An output stream that compresses into the BZip2 format - including file header chars into another stream. - - - - - Construct a default output stream with maximum block size - - The stream to write BZip data onto. - - - - Initialise a new instance of the - for the specified stream, using the given blocksize. - - The stream to write compressed data to. - The block size to use. - - Valid block sizes are in the range 1..9, with 1 giving - the lowest compression and 9 the highest. - - - - - Ensures that resources are freed and other cleanup operations - are performed when the garbage collector reclaims the BZip2OutputStream. - - - - - Sets the current position of this stream to the given value. - - The point relative to the offset from which to being seeking. - The reference point from which to begin seeking. - The new position in the stream. - - - - Sets the length of this stream to the given value. - - The new stream length. - - - - Read a byte from the stream advancing the position. - - The byte read cast to an int; -1 if end of stream. - - - - Read a block of bytes - - The buffer to read into. - The offset in the buffer to start storing data at. - The maximum number of bytes to read. - The total number of bytes read. This might be less than the number of bytes - requested if that number of bytes are not currently available, or zero - if the end of the stream is reached. - - - - Write a block of bytes to the stream - - The buffer containing data to write. - The offset of the first byte to write. - The number of bytes to write. - - - - Write a byte to the stream. - - The byte to write to the stream. - - - - End the current block and end compression. - Close the stream and free any resources - - - - - Get the number of bytes written to output. - - - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Flush output buffers - - - - - Get/set flag indicating ownership of underlying stream. - When the flag is true will close the underlying stream also. - - - - - Gets a value indicating whether the current stream supports reading - - - - - Gets a value indicating whether the current stream supports seeking - - - - - Gets a value indicating whether the current stream supports writing - - - - - Gets the length in bytes of the stream - - - - - Gets or sets the current position of this stream. - - - - - Get the number of bytes written to the output. - - - - - Represents exception conditions specific to Zip archive handling - - - - - SharpZipBaseException is the base exception class for the SharpZipLibrary. - All library exceptions are derived from this. - - NOTE: Not all exceptions thrown will be derived from this class. - A variety of other exceptions are possible for example - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initializes a new instance of the SharpZipBaseException class. - - - - - Initializes a new instance of the SharpZipBaseException class with a specified error message. - - A message describing the exception. - - - - Initializes a new instance of the SharpZipBaseException class with a specified - error message and a reference to the inner exception that is the cause of this exception. - - A message describing the exception. - The inner exception - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initializes a new instance of the ZipException class. - - - - - Initializes a new instance of the ZipException class with a specified error message. - - The error message that explains the reason for the exception. - - - - Initialise a new instance of ZipException. - - A message describing the error. - The exception that is the cause of the current exception. - - - - A helper class to simplify compressing and decompressing streams. - - - - - Decompress input writing - decompressed data to the output stream - - The stream containing data to decompress. - The stream to write decompressed data to. - Both streams are closed on completion - - - - Compress input stream sending - result to output stream - - The stream to compress. - The stream to write compressed data to. - The block size to use. - Both streams are closed on completion - - - - Initialise a default instance of this class. - - - - - Determines how entries are tested to see if they should use Zip64 extensions or not. - - - - - Zip64 will not be forced on entries during processing. - - An entry can have this overridden if required - - - - Zip64 should always be used. - - - - - #ZipLib will determine use based on entry values when added to archive. - - - - - The kind of compression used for an entry in an archive - - - - - A direct copy of the file contents is held in the archive - - - - - Common Zip compression method using a sliding dictionary - of up to 32KB and secondary compression from Huffman/Shannon-Fano trees - - - - - An extension to deflate with a 64KB window. Not supported by #Zip currently - - - - - Not supported by #Zip currently - - - - - WinZip special for AES encryption, Not supported by #Zip - - - - - Identifies the encryption algorithm used for an entry - - - - - No encryption has been used. - - - - - Encrypted using PKZIP 2.0 or 'classic' encryption. - - - - - DES encryption has been used. - - - - - RCS encryption has been used for encryption. - - - - - Triple DES encryption with 168 bit keys has been used for this entry. - - - - - Triple DES with 112 bit keys has been used for this entry. - - - - - AES 128 has been used for encryption. - - - - - AES 192 has been used for encryption. - - - - - AES 256 has been used for encryption. - - - - - RC2 corrected has been used for encryption. - - - - - Blowfish has been used for encryption. - - - - - Twofish has been used for encryption. - - - - - RCS has been used for encryption. - - - - - An unknown algorithm has been used for encryption. - - - - - Defines the contents of the general bit flags field for an archive entry. - - - - - Bit 0 if set indicates that the file is encrypted - - - - - Bits 1 and 2 - Two bits defining the compression method (only for Method 6 Imploding and 8,9 Deflating) - - - - - Bit 3 if set indicates a trailing data desciptor is appended to the entry data - - - - - Bit 4 is reserved for use with method 8 for enhanced deflation - - - - - Bit 5 if set indicates the file contains Pkzip compressed patched data. - Requires version 2.7 or greater. - - - - - Bit 6 if set strong encryption has been used for this entry. - - - - - Bit 7 is currently unused - - - - - Bit 8 is currently unused - - - - - Bit 9 is currently unused - - - - - Bit 10 is currently unused - - - - - Bit 11 if set indicates the filename and - comment fields for this file must be encoded using UTF-8. - - - - - Bit 12 is documented as being reserved by PKware for enhanced compression. - - - - - Bit 13 if set indicates that values in the local header are masked to hide - their actual values, and the central directory is encrypted. - - - Used when encrypting the central directory contents. - - - - - Bit 14 is documented as being reserved for use by PKware - - - - - Bit 15 is documented as being reserved for use by PKware - - - - - This class contains constants used for Zip format files - - - - - The version made by field for entries in the central header when created by this library - - - This is also the Zip version for the library when comparing against the version required to extract - for an entry. See . - - - - - The version made by field for entries in the central header when created by this library - - - This is also the Zip version for the library when comparing against the version required to extract - for an entry. See ZipInputStream.CanDecompressEntry. - - - - - The minimum version required to support strong encryption - - - - - The minimum version required to support strong encryption - - - - - The version required for Zip64 extensions - - - - - Size of local entry header (excluding variable length fields at end) - - - - - Size of local entry header (excluding variable length fields at end) - - - - - Size of Zip64 data descriptor - - - - - Size of data descriptor - - - - - Size of data descriptor - - - - - Size of central header entry (excluding variable fields) - - - - - Size of central header entry - - - - - Size of end of central record (excluding variable fields) - - - - - Size of end of central record (excluding variable fields) - - - - - Size of 'classic' cryptographic header stored before any entry data - - - - - Size of cryptographic header stored before entry data - - - - - Signature for local entry header - - - - - Signature for local entry header - - - - - Signature for spanning entry - - - - - Signature for spanning entry - - - - - Signature for temporary spanning entry - - - - - Signature for temporary spanning entry - - - - - Signature for data descriptor - - - This is only used where the length, Crc, or compressed size isnt known when the - entry is created and the output stream doesnt support seeking. - The local entry cannot be 'patched' with the correct values in this case - so the values are recorded after the data prefixed by this header, as well as in the central directory. - - - - - Signature for data descriptor - - - This is only used where the length, Crc, or compressed size isnt known when the - entry is created and the output stream doesnt support seeking. - The local entry cannot be 'patched' with the correct values in this case - so the values are recorded after the data prefixed by this header, as well as in the central directory. - - - - - Signature for central header - - - - - Signature for central header - - - - - Signature for Zip64 central file header - - - - - Signature for Zip64 central file header - - - - - Signature for Zip64 central directory locator - - - - - Signature for archive extra data signature (were headers are encrypted). - - - - - Central header digitial signature - - - - - Central header digitial signature - - - - - End of central directory record signature - - - - - End of central directory record signature - - - - - Convert a portion of a byte array to a string. - - - Data to convert to string - - - Number of bytes to convert starting from index 0 - - - data[0]..data[length - 1] converted to a string - - - - - Convert a byte array to string - - - Byte array to convert - - - dataconverted to a string - - - - - Convert a byte array to string - - The applicable general purpose bits flags - - Byte array to convert - - The number of bytes to convert. - - dataconverted to a string - - - - - Convert a byte array to string - - - Byte array to convert - - The applicable general purpose bits flags - - dataconverted to a string - - - - - Convert a string to a byte array - - - String to convert to an array - - Converted array - - - - Convert a string to a byte array - - The applicable general purpose bits flags - - String to convert to an array - - Converted array - - - - Initialise default instance of ZipConstants - - - Private to prevent instances being created. - - - - - Default encoding used for string conversion. 0 gives the default system OEM code page. - Dont use unicode encodings if you want to be Zip compatible! - Using the default code page isnt the full solution neccessarily - there are many variable factors, codepage 850 is often a good choice for - European users, however be careful about compatability. - - - - - This is a DeflaterOutputStream that writes the files into a zip - archive one after another. It has a special method to start a new - zip entry. The zip entries contains information about the file name - size, compressed size, CRC, etc. - - It includes support for Stored and Deflated entries. - This class is not thread safe. -
-
Author of the original java version : Jochen Hoenicke -
- This sample shows how to create a zip file - - using System; - using System.IO; - - using ICSharpCode.SharpZipLib.Core; - using ICSharpCode.SharpZipLib.Zip; - - class MainClass - { - public static void Main(string[] args) - { - string[] filenames = Directory.GetFiles(args[0]); - byte[] buffer = new byte[4096]; - - using ( ZipOutputStream s = new ZipOutputStream(File.Create(args[1])) ) { - - s.SetLevel(9); // 0 - store only to 9 - means best compression - - foreach (string file in filenames) { - ZipEntry entry = new ZipEntry(file); - s.PutNextEntry(entry); - - using (FileStream fs = File.OpenRead(file)) { - StreamUtils.Copy(fs, s, buffer); - } - } - } - } - } - - -
- - - A special stream deflating or compressing the bytes that are - written to it. It uses a Deflater to perform actual deflating.
- Authors of the original java version : Tom Tromey, Jochen Hoenicke -
-
- - - Creates a new DeflaterOutputStream with a default Deflater and default buffer size. - - - the output stream where deflated output should be written. - - - - - Creates a new DeflaterOutputStream with the given Deflater and - default buffer size. - - - the output stream where deflated output should be written. - - - the underlying deflater. - - - - - Creates a new DeflaterOutputStream with the given Deflater and - buffer size. - - - The output stream where deflated output is written. - - - The underlying deflater to use - - - The buffer size to use when deflating - - - bufsize is less than or equal to zero. - - - baseOutputStream does not support writing - - - deflater instance is null - - - - - Finishes the stream by calling finish() on the deflater. - - - Not all input is deflated - - - - - Encrypt a block of data - - - Data to encrypt. NOTE the original contents of the buffer are lost - - - Offset of first byte in buffer to encrypt - - - Number of bytes in buffer to encrypt - - - - - Initializes encryption keys based on given password - - The password. - - - - Deflates everything in the input buffers. This will call - def.deflate() until all bytes from the input buffers - are processed. - - - - - Sets the current position of this stream to the given value. Not supported by this class! - - The offset relative to the to seek. - The to seek from. - The new position in the stream. - Any access - - - - Sets the length of this stream to the given value. Not supported by this class! - - The new stream length. - Any access - - - - Read a byte from stream advancing position by one - - The byte read cast to an int. THe value is -1 if at the end of the stream. - Any access - - - - Read a block of bytes from stream - - The buffer to store read data in. - The offset to start storing at. - The maximum number of bytes to read. - The actual number of bytes read. Zero if end of stream is detected. - Any access - - - - Asynchronous reads are not supported a NotSupportedException is always thrown - - The buffer to read into. - The offset to start storing data at. - The number of bytes to read - The async callback to use. - The state to use. - Returns an - Any access - - - - Asynchronous writes arent supported, a NotSupportedException is always thrown - - The buffer to write. - The offset to begin writing at. - The number of bytes to write. - The to use. - The state object. - Returns an IAsyncResult. - Any access - - - - Flushes the stream by calling Flush on the deflater and then - on the underlying stream. This ensures that all bytes are flushed. - - - - - Calls and closes the underlying - stream when is true. - - - - - Writes a single byte to the compressed output stream. - - - The byte value. - - - - - Writes bytes from an array to the compressed stream. - - - The byte array - - - The offset into the byte array where to start. - - - The number of bytes to write. - - - - - This buffer is used temporarily to retrieve the bytes from the - deflater and write them to the underlying output stream. - - - - - The deflater which is used to deflate the stream. - - - - - Base stream the deflater depends on. - - - - - Get/set flag indicating ownership of the underlying stream. - When the flag is true will close the underlying stream also. - - - - - Allows client to determine if an entry can be patched after its added - - - - - Get/set the password used for encryption. - - When set to null or if the password is empty no encryption is performed - - - - Gets value indicating stream can be read from - - - - - Gets a value indicating if seeking is supported for this stream - This property always returns false - - - - - Get value indicating if this stream supports writing - - - - - Get current length of stream - - - - - Gets the current position within the stream. - - Any attempt to set position - - - - Creates a new Zip output stream, writing a zip archive. - - - The output stream to which the archive contents are written. - - - - - Set the zip file comment. - - - The comment text for the entire archive. - - - The converted comment is longer than 0xffff bytes. - - - - - Sets the compression level. The new level will be activated - immediately. - - The new compression level (1 to 9). - - Level specified is not supported. - - - - - - Get the current deflater compression level - - The current compression level - - - - Write an unsigned short in little endian byte order. - - - - - Write an int in little endian byte order. - - - - - Write an int in little endian byte order. - - - - - Starts a new Zip entry. It automatically closes the previous - entry if present. - All entry elements bar name are optional, but must be correct if present. - If the compression method is stored and the output is not patchable - the compression for that entry is automatically changed to deflate level 0 - - - the entry. - - - if entry passed is null. - - - if an I/O error occured. - - - if stream was finished - - - Too many entries in the Zip file
- Entry name is too long
- Finish has already been called
-
-
- - - Closes the current entry, updating header and footer information as required - - - An I/O error occurs. - - - No entry is active. - - - - - Writes the given buffer to the current entry. - - The buffer containing data to write. - The offset of the first byte to write. - The number of bytes to write. - Archive size is invalid - No entry is active. - - - - Finishes the stream. This will write the central directory at the - end of the zip file and flush the stream. - - - This is automatically called when the stream is closed. - - - An I/O error occurs. - - - Comment exceeds the maximum length
- Entry name exceeds the maximum length -
-
- - - The entries for the archive. - - - - - Used to track the crc of data added to entries. - - - - - The current entry being added. - - - - - Used to track the size of data for an entry during writing. - - - - - Offset to be recorded for each entry in the central header. - - - - - Comment for the entire archive recorded in central header. - - - - - Flag indicating that header patching is required for the current entry. - - - - - Position to patch crc - - - - - Position to patch size. - - - - - Gets a flag value of true if the central header has been added for this archive; false if it has not been added. - - No further entries can be added once this has been done. - - - - Get / set a value indicating how Zip64 Extension usage is determined when adding entries. - - Older archivers may not understand Zip64 extensions. - If backwards compatability is an issue be careful when adding entries to an archive. - Setting this property to off is workable but less desirable as in those circumstances adding a file - larger then 4GB will fail. - - - - INameTransform defines how file system names are transformed for use with archives. - - - - - Given a file name determine the transformed value. - - The name to transform. - The transformed file name. - - - - Given a directory name determine the transformed value. - - The name to transform. - The transformed directory name - - - - This class contains constants used for deflation. - - - - - Set to true to enable debugging - - - - - Written to Zip file to identify a stored block - - - - - Identifies static tree in Zip file - - - - - Identifies dynamic tree in Zip file - - - - - Header flag indicating a preset dictionary for deflation - - - - - Sets internal buffer sizes for Huffman encoding - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - This class stores the pending output of the Deflater. - - author of the original java version : Jochen Hoenicke - - - - - Construct instance with default buffer size - - - - - PathFilter filters directories and files using a form of regular expressions - by full path name. - See NameFilter for more detail on filtering. - - - - - Initialise a new instance of . - - The filter expression to apply. - - - - Test a name to see if it matches the filter. - - The name to test. - True if the name matches, false otherwise. - - - - ExtendedPathFilter filters based on name, file size, and the last write time of the file. - - Provides an example of how to customise filtering. - - - - Initialise a new instance of ExtendedPathFilter. - - The filter to apply. - The minimum file size to include. - The maximum file size to include. - - - - Initialise a new instance of ExtendedPathFilter. - - The filter to apply. - The minimum to include. - The maximum to include. - - - - Initialise a new instance of ExtendedPathFilter. - - The filter to apply. - The minimum file size to include. - The maximum file size to include. - The minimum to include. - The maximum to include. - - - - Test a filename to see if it matches the filter. - - The filename to test. - True if the filter matches, false otherwise. - - - - Get/set the minimum size for a file that will match this filter. - - - - - Get/set the maximum size for a file that will match this filter. - - - - - Get/set the minimum value that will match for this filter. - - Files with a LastWrite time less than this value are excluded by the filter. - - - - Get/set the maximum value that will match for this filter. - - Files with a LastWrite time greater than this value are excluded by the filter. - - - - NameAndSizeFilter filters based on name and file size. - - A sample showing how filters might be extended. - - - - Initialise a new instance of NameAndSizeFilter. - - The filter to apply. - The minimum file size to include. - The maximum file size to include. - - - - Test a filename to see if it matches the filter. - - The filename to test. - True if the filter matches, false otherwise. - - - - Get/set the minimum size for a file that will match this filter. - - - - - Get/set the maximum size for a file that will match this filter. - - - - - BZip2Exception represents exceptions specific to Bzip2 algorithm - - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initialise a new instance of BZip2Exception. - - - - - Initialise a new instance of BZip2Exception with its message set to message. - - The message describing the error. - - - - Initialise an instance of BZip2Exception - - A message describing the error. - The exception that is the cause of the current exception. - - - - GZipException represents a Gzip specific exception - - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initialise a new instance of GZipException - - - - - Initialise a new instance of GZipException with its message string. - - A that describes the error. - - - - Initialise a new instance of . - - A that describes the error. - The that caused this exception. - - - - Contains the output from the Inflation process. - We need to have a window so that we can refer backwards into the output stream - to repeat stuff.
- Author of the original java version : John Leuner -
-
- - - Write a byte to this output window - - value to write - - if window is full - - - - - Append a byte pattern already in the window itself - - length of pattern to copy - distance from end of window pattern occurs - - If the repeated data overflows the window - - - - - Copy from input manipulator to internal window - - source of data - length of data to copy - the number of bytes copied - - - - Copy dictionary to window - - source dictionary - offset of start in source dictionary - length of dictionary - - If window isnt empty - - - - - Get remaining unfilled space in window - - Number of bytes left in window - - - - Get bytes available for output in window - - Number of bytes filled - - - - Copy contents of window to output - - buffer to copy to - offset to start at - number of bytes to count - The number of bytes copied - - If a window underflow occurs - - - - - Reset by clearing window so GetAvailable returns 0 - - - - - Defines internal values for both compression and decompression - - - - - When multiplied by compression parameter (1-9) gives the block size for compression - 9 gives the best compresssion but uses the most memory. - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Random numbers used to randomise repetitive blocks - - - - - This filter stream is used to compress a stream into a "GZIP" stream. - The "GZIP" format is described in RFC 1952. - - author of the original java version : John Leuner - - This sample shows how to gzip a file - - using System; - using System.IO; - - using ICSharpCode.SharpZipLib.GZip; - using ICSharpCode.SharpZipLib.Core; - - class MainClass - { - public static void Main(string[] args) - { - using (Stream s = new GZipOutputStream(File.Create(args[0] + ".gz"))) - using (FileStream fs = File.OpenRead(args[0])) { - byte[] writeData = new byte[4096]; - Streamutils.Copy(s, fs, writeData); - } - } - } - } - - - - - - CRC-32 value for uncompressed data - - - - - Creates a GzipOutputStream with the default buffer size - - - The stream to read data (to be compressed) from - - - - - Creates a GZipOutputStream with the specified buffer size - - - The stream to read data (to be compressed) from - - - Size of the buffer to use - - - - - Sets the active compression level (1-9). The new level will be activated - immediately. - - The compression level to set. - - Level specified is not supported. - - - - - - Get the current compression level. - - The current compression level. - - - - Write given buffer to output updating crc - - Buffer to write - Offset of first byte in buf to write - Number of bytes to write - - - - Writes remaining compressed output data to the output stream - and closes it. - - - - - Finish compression and write any footer information required to stream - - - - - Arguments used with KeysRequiredEvent - - - - - Initialise a new instance of - - The name of the file for which keys are required. - - - - Initialise a new instance of - - The name of the file for which keys are required. - The current key value. - - - - Get the name of the file for which keys are required. - - - - - Get/set the key value - - - - - The strategy to apply to testing. - - - - - Find the first error only. - - - - - Find all possible errors. - - - - - The operation in progress reported by a during testing. - - TestArchive - - - - Setting up testing. - - - - - Testing an individual entries header - - - - - Testing an individual entries data - - - - - Testing an individual entry has completed. - - - - - Running miscellaneous tests - - - - - Testing is complete - - - - - Status returned returned by during testing. - - TestArchive - - - - Initialise a new instance of - - The this status applies to. - - - - Get the current in progress. - - - - - Get the this status is applicable to. - - - - - Get the current/last entry tested. - - - - - Get the number of errors detected so far. - - - - - Get the number of bytes tested so far for the current entry. - - - - - Get a value indicating wether the last entry test was valid. - - - - - Delegate invoked during testing if supplied indicating current progress and status. - - If the message is non-null an error has occured. If the message is null - the operation as found in status has started. - - - - The possible ways of applying updates to an archive. - - - - - Perform all updates on temporary files ensuring that the original file is saved. - - - - - Update the archive directly, which is faster but less safe. - - - - - This class represents a Zip archive. You can ask for the contained - entries, or get an input stream for a file entry. The entry is - automatically decompressed. - - You can also update the archive adding or deleting entries. - - This class is thread safe for input: You can open input streams for arbitrary - entries in different threads. -
-
Author of the original java version : Jochen Hoenicke -
- - - using System; - using System.Text; - using System.Collections; - using System.IO; - - using ICSharpCode.SharpZipLib.Zip; - - class MainClass - { - static public void Main(string[] args) - { - using (ZipFile zFile = new ZipFile(args[0])) { - Console.WriteLine("Listing of : " + zFile.Name); - Console.WriteLine(""); - Console.WriteLine("Raw Size Size Date Time Name"); - Console.WriteLine("-------- -------- -------- ------ ---------"); - foreach (ZipEntry e in zFile) { - if ( e.IsFile ) { - DateTime d = e.DateTime; - Console.WriteLine("{0, -10}{1, -10}{2} {3} {4}", e.Size, e.CompressedSize, - d.ToString("dd-MM-yy"), d.ToString("HH:mm"), - e.Name); - } - } - } - } - } - - -
- - - Event handler for handling encryption keys. - - - - - Handles getting of encryption keys when required. - - The file for which encryption keys are required. - - - - Opens a Zip file with the given name for reading. - - The name of the file to open. - - An i/o error occurs - - - The file doesn't contain a valid zip archive. - - - - - Opens a Zip file reading the given . - - The to read archive data from. - - An i/o error occurs. - - - The file doesn't contain a valid zip archive. - - - - - Opens a Zip file reading the given . - - The to read archive data from. - - An i/o error occurs - - - The file doesn't contain a valid zip archive.
- The stream provided cannot seek -
-
- - - Initialises a default instance with no entries and no file storage. - - - - - Finalize this instance. - - - - - Closes the ZipFile. If the stream is owned then this also closes the underlying input stream. - Once closed, no further instance methods should be called. - - - An i/o error occurs. - - - - - Create a new whose data will be stored in a file. - - The name of the archive to create. - Returns the newly created - - - - Create a new whose data will be stored on a stream. - - The stream providing data storage. - Returns the newly created - - - - Gets an enumerator for the Zip entries in this Zip file. - - Returns an for this archive. - - The Zip file has been closed. - - - - - Return the index of the entry with a matching name - - Entry name to find - If true the comparison is case insensitive - The index position of the matching entry or -1 if not found - - The Zip file has been closed. - - - - - Searches for a zip entry in this archive with the given name. - String comparisons are case insensitive - - - The name to find. May contain directory components separated by slashes ('/'). - - - A clone of the zip entry, or null if no entry with that name exists. - - - The Zip file has been closed. - - - - - Gets an input stream for reading the given zip entry data in an uncompressed form. - Normally the should be an entry returned by GetEntry(). - - The to obtain a data for - An input containing data for this - - The ZipFile has already been closed - - - The compression method for the entry is unknown - - - The entry is not found in the ZipFile - - - - - Creates an input stream reading a zip entry - - The index of the entry to obtain an input stream for. - - An input containing data for this - - - The ZipFile has already been closed - - - The compression method for the entry is unknown - - - The entry is not found in the ZipFile - - - - - Test an archive for integrity/validity - - Perform low level data Crc check - true if all tests pass, false otherwise - Testing will terminate on the first error found. - - - - Test an archive for integrity/validity - - Perform low level data Crc check - The to apply. - The handler to call during testing. - true if all tests pass, false otherwise - - - - Test a local header against that provided from the central directory - - - The entry to test against - - The type of tests to carry out. - The offset of the entries data in the file - - - - Begin updating this archive. - - The archive storage for use during the update. - The data source to utilise during updating. - - - - Begin updating to this archive. - - The storage to use during the update. - - - - Begin updating this archive. - - - - - - - - Commit current updates, updating this archive. - - - - - - - Abort updating leaving the archive unchanged. - - - - - - - Set the file comment to be recorded when the current update is commited. - - The comment to record. - - - - Add a new entry to the archive. - - The name of the file to add. - The compression method to use. - Ensure Unicode text is used for name and comment for this entry. - - - - Add a new entry to the archive. - - The name of the file to add. - The compression method to use. - - - - Add a file to the archive. - - The name of the file to add. - - - - Add a file entry with data. - - The source of the data for this entry. - The name to give to the entry. - - - - Add a file entry with data. - - The source of the data for this entry. - The name to give to the entry. - The compression method to use. - - - - Add a file entry with data. - - The source of the data for this entry. - The name to give to the entry. - The compression method to use. - Ensure Unicode text is used for name and comments for this entry. - - - - Add a that contains no data. - - The entry to add. - This can be used to add directories, volume labels, or empty file entries. - - - - Add a directory entry to the archive. - - The directory to add. - - - - Delete an entry by name - - The filename to delete - True if the entry was found and deleted; false otherwise. - - - - Delete a from the archive. - - The entry to delete. - - - - Write an unsigned short in little endian byte order. - - - - - Write an int in little endian byte order. - - - - - Write an unsigned int in little endian byte order. - - - - - Write a long in little endian byte order. - - - - - Get a raw memory buffer. - - Returns a raw memory buffer. - - - - Get the size of the source descriptor for a . - - The update to get the size for. - The descriptor size, zero if there isnt one. - - - - Get an output stream for the specified - - The entry to get an output stream for. - The output stream obtained for the entry. - - - - Releases the unmanaged resources used by the this instance and optionally releases the managed resources. - - true to release both managed and unmanaged resources; - false to release only unmanaged resources. - - - - Read an unsigned short in little endian byte order. - - Returns the value read. - - The stream ends prematurely - - - - - Read a uint in little endian byte order. - - Returns the value read. - - An i/o error occurs. - - - The file ends prematurely - - - - - Search for and read the central directory of a zip file filling the entries array. - - - An i/o error occurs. - - - The central directory is malformed or cannot be found - - - - - Locate the data for a given entry. - - - The start offset of the data. - - - The stream ends prematurely - - - The local header signature is invalid, the entry and central header file name lengths are different - or the local and entry compression methods dont match - - - - - Get/set the encryption key value. - - - - - Password to be used for encrypting/decrypting files. - - Set to null if no password is required. - - - - Get a value indicating wether encryption keys are currently available. - - - - - Get/set a flag indicating if the underlying stream is owned by the ZipFile instance. - If the flag is true then the stream will be closed when Close is called. - - - The default value is true in all cases. - - - - - Get a value indicating wether - this archive is embedded in another file or not. - - - - - Get a value indicating that this archive is a new one. - - - - - Gets the comment for the zip file. - - - - - Gets the name of this zip file. - - - - - Gets the number of entries in this zip file. - - - The Zip file has been closed. - - - - - Get the number of entries contained in this . - - - - - Indexer property for ZipEntries - - - - - Get / set the to apply to names when updating. - - - - - Get/set the used to generate values - during updates. - - - - - Get /set the buffer size to be used when updating this zip file. - - - - - Get a value indicating an update has been started. - - - - - Get / set a value indicating how Zip64 Extension usage is determined when adding entries. - - - - - Delegate for handling keys/password setting during compresion/decompression. - - - - - The kind of update to apply. - - - - - Class used to sort updates. - - - - - Compares two objects and returns a value indicating whether one is - less than, equal to or greater than the other. - - First object to compare - Second object to compare. - Compare result. - - - - Represents a pending update to a Zip file. - - - - - Copy an existing entry. - - The existing entry to copy. - - - - Get the for this update. - - This is the source or original entry. - - - - Get the that will be written to the updated/new file. - - - - - Get the command for this update. - - - - - Get the filename if any for this update. Null if none exists. - - - - - Get/set the location of the size patch for this update. - - - - - Get /set the location of the crc patch for this update. - - - - - Represents a string from a which is stored as an array of bytes. - - - - - Initialise a with a string. - - The textual string form. - - - - Initialise a using a string in its binary 'raw' form. - - - - - - Reset the comment to its initial state. - - - - - Implicit conversion of comment to a string. - - The to convert to a string. - The textual equivalent for the input value. - - - - Get a value indicating the original source of data for this instance. - True if the source was a string; false if the source was binary data. - - - - - Get the length of the comment when represented as raw bytes. - - - - - Get the comment in its 'raw' form as plain bytes. - - - - - An enumerator for Zip entries - - - - - An is a stream that you can write uncompressed data - to and flush, but cannot read, seek or do anything else to. - - - - - Close this stream instance. - - - - - Write any buffered data to underlying storage. - - - - - Gets a value indicating whether the current stream supports reading. - - - - - Gets a value indicating whether the current stream supports writing. - - - - - Gets a value indicating whether the current stream supports seeking. - - - - - Get the length in bytes of the stream. - - - - - Gets or sets the position within the current stream. - - - - - A is an - whose data is only a part or subsection of a file. - - - - - This filter stream is used to decompress data compressed using the "deflate" - format. The "deflate" format is described in RFC 1951. - - This stream may form the basis for other decompression filters, such - as the GZipInputStream. - - Author of the original java version : John Leuner. - - - - - Create an InflaterInputStream with the default decompressor - and a default buffer size of 4KB. - - - The InputStream to read bytes from - - - - - Create an InflaterInputStream with the specified decompressor - and a default buffer size of 4KB. - - - The source of input data - - - The decompressor used to decompress data read from baseInputStream - - - - - Create an InflaterInputStream with the specified decompressor - and the specified buffer size. - - - The InputStream to read bytes from - - - The decompressor to use - - - Size of the buffer to use - - - - - Skip specified number of bytes of uncompressed data - - - Number of bytes to skip - - - The number of bytes skipped, zero if the end of - stream has been reached - - - Number of bytes to skip is less than zero - - - - - Clear any cryptographic state. - - - - - Fills the buffer with more data to decompress. - - - Stream ends early - - - - - Flushes the baseInputStream - - - - - Sets the position within the current stream - Always throws a NotSupportedException - - The relative offset to seek to. - The defining where to seek from. - The new position in the stream. - Any access - - - - Set the length of the current stream - Always throws a NotSupportedException - - The new length value for the stream. - Any access - - - - Writes a sequence of bytes to stream and advances the current position - This method always throws a NotSupportedException - - Thew buffer containing data to write. - The offset of the first byte to write. - The number of bytes to write. - Any access - - - - Writes one byte to the current stream and advances the current position - Always throws a NotSupportedException - - The byte to write. - Any access - - - - Entry point to begin an asynchronous write. Always throws a NotSupportedException. - - The buffer to write data from - Offset of first byte to write - The maximum number of bytes to write - The method to be called when the asynchronous write operation is completed - A user-provided object that distinguishes this particular asynchronous write request from other requests - An IAsyncResult that references the asynchronous write - Any access - - - - Closes the input stream. When - is true the underlying stream is also closed. - - - - - Reads decompressed data into the provided buffer byte array - - - The array to read and decompress data into - - - The offset indicating where the data should be placed - - - The number of bytes to decompress - - The number of bytes read. Zero signals the end of stream - - Inflater needs a dictionary - - - - - Decompressor for this stream - - - - - Input buffer for this stream. - - - - - Base stream the inflater reads from. - - - - - The compressed size - - - - - Flag indicating wether this instance has been closed or not. - - - - - Flag indicating wether this instance is designated the stream owner. - When closing if this flag is true the underlying stream is closed. - - - - - Get/set flag indicating ownership of underlying stream. - When the flag is true will close the underlying stream also. - - - The default value is true. - - - - - Returns 0 once the end of the stream (EOF) has been reached. - Otherwise returns 1. - - - - - Gets a value indicating whether the current stream supports reading - - - - - Gets a value of false indicating seeking is not supported for this stream. - - - - - Gets a value of false indicating that this stream is not writeable. - - - - - A value representing the length of the stream in bytes. - - - - - The current position within the stream. - Throws a NotSupportedException when attempting to set the position - - Attempting to set the position - - - - Initialise a new instance of the class. - - The underlying stream to use for IO. - The start of the partial data. - The length of the partial data. - - - - Skip the specified number of input bytes. - - The maximum number of input bytes to skip. - The actuial number of input bytes skipped. - - - - Read a byte from this stream. - - Returns the byte read or -1 on end of stream. - - - - Close this partial input stream. - - - The underlying stream is not closed. Close the parent ZipFile class to do that. - - - - - Provides a static way to obtain a source of data for an entry. - - - - - Get a source of data by creating a new stream. - - Returns a to use for compression input. - Ideally a new stream is created and opened to achieve this, to avoid locking problems. - - - - Represents a source of data that can dynamically provide - multiple data sources based on the parameters passed. - - - - - Get a data source. - - The to get a source for. - The name for data if known. - Returns a to use for compression input. - Ideally a new stream is created and opened to achieve this, to avoid locking problems. - - - - Default implementation of a for use with files stored on disk. - - - - - Initialise a new instnace of - - The name of the file to obtain data from. - - - - Get a providing data. - - Returns a provising data. - - - - Default implementation of for files stored on disk. - - - - - Initialise a default instance of . - - - - - Get a providing data for an entry. - - The entry to provide data for. - The file name for data if known. - Returns a stream providing data; or null if not available - - - - Defines facilities for data storage when updating Zip Archives. - - - - - Get an empty that can be used for temporary output. - - Returns a temporary output - - - - - Convert a temporary output stream to a final stream. - - The resulting final - - - - - Make a temporary copy of the original stream. - - The to copy. - Returns a temporary output that is a copy of the input. - - - - Return a stream suitable for performing direct updates on the original source. - - The current stream. - Returns a stream suitable for direct updating. - This may be the current stream passed. - - - - Dispose of this instance. - - - - - Get the to apply during updates. - - - - - An abstract suitable for extension by inheritance. - - - - - Initializes a new instance of the class. - - The update mode. - - - - Gets a temporary output - - Returns the temporary output stream. - - - - - Converts the temporary to its final form. - - Returns a that can be used to read - the final storage for the archive. - - - - - Make a temporary copy of a . - - The to make a copy of. - Returns a temporary output that is a copy of the input. - - - - Return a stream suitable for performing direct updates on the original source. - - The to open for direct update. - Returns a stream suitable for direct updating. - - - - Disposes this instance. - - - - - Gets the update mode applicable. - - The update mode. - - - - An implementation suitable for hard disks. - - - - - Initializes a new instance of the class. - - The file. - The update mode. - - - - Initializes a new instance of the class. - - The file. - - - - Gets a temporary output for performing updates on. - - Returns the temporary output stream. - - - - Converts a temporary to its final form. - - Returns a that can be used to read - the final storage for the archive. - - - - Make a temporary copy of a stream. - - The to copy. - Returns a temporary output that is a copy of the input. - - - - Return a stream suitable for performing direct updates on the original source. - - The current stream. - Returns a stream suitable for direct updating. - If the stream is not null this is used as is. - - - - Disposes this instance. - - - - - An implementation suitable for in memory streams. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The to use - This constructor is for testing as memory streams dont really require safe mode. - - - - Gets the temporary output - - Returns the temporary output stream. - - - - Converts the temporary to its final form. - - Returns a that can be used to read - the final storage for the archive. - - - - Make a temporary copy of the original stream. - - The to copy. - Returns a temporary output that is a copy of the input. - - - - Return a stream suitable for performing direct updates on the original source. - - The original source stream - Returns a stream suitable for direct updating. - If the passed is not null this is used; - otherwise a new is returned. - - - - Disposes this instance. - - - - - Get the stream returned by if this was in fact called. - - - - - Generate a table for a byte-wise 32-bit CRC calculation on the polynomial: - x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1. - - Polynomials over GF(2) are represented in binary, one bit per coefficient, - with the lowest powers in the most significant bit. Then adding polynomials - is just exclusive-or, and multiplying a polynomial by x is a right shift by - one. If we call the above polynomial p, and represent a byte as the - polynomial q, also with the lowest power in the most significant bit (so the - byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p, - where a mod b means the remainder after dividing a by b. - - This calculation is done using the shift-register method of multiplying and - taking the remainder. The register is initialized to zero, and for each - incoming bit, x^32 is added mod p to the register if the bit is a one (where - x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by - x (which is shifting right by one and adding x^32 mod p if the bit shifted - out is a one). We start with the highest power (least significant bit) of - q and repeat for all eight bits of q. - - The table is simply the CRC of all possible eight bit values. This is all - the information needed to generate CRC's on data a byte at a time for all - combinations of CRC register values and incoming bytes. - - - - - Interface to compute a data checksum used by checked input/output streams. - A data checksum can be updated by one byte or with a byte array. After each - update the value of the current checksum can be returned by calling - getValue. The complete checksum object can also be reset - so it can be used again with new data. - - - - - Resets the data checksum as if no update was ever called. - - - - - Adds one byte to the data checksum. - - - the data value to add. The high byte of the int is ignored. - - - - - Updates the data checksum with the bytes taken from the array. - - - buffer an array of bytes - - - - - Adds the byte array to the data checksum. - - - The buffer which contains the data - - - The offset in the buffer where the data starts - - - the number of data bytes to add. - - - - - Returns the data checksum computed so far. - - - - - The crc data checksum so far. - - - - - Resets the CRC32 data checksum as if no update was ever called. - - - - - Updates the checksum with the int bval. - - - the byte is taken as the lower 8 bits of value - - - - - Updates the checksum with the bytes taken from the array. - - - buffer an array of bytes - - - - - Adds the byte array to the data checksum. - - - The buffer which contains the data - - - The offset in the buffer where the data starts - - - The number of data bytes to update the CRC with. - - - - - Returns the CRC32 data checksum computed so far. - - - - - Basic implementation of - - - - - Defines factory methods for creating new values. - - - - - Create a for a file given its name - - The name of the file to create an entry for. - Returns a file entry based on the passed. - - - - Create a for a file given its name - - The name of the file to create an entry for. - If true get details from the file system if the file exists. - Returns a file entry based on the passed. - - - - Create a for a directory given its name - - The name of the directory to create an entry for. - Returns a directory entry based on the passed. - - - - Create a for a directory given its name - - The name of the directory to create an entry for. - If true get details from the file system for this directory if it exists. - Returns a directory entry based on the passed. - - - - Get/set the applicable. - - - - - Initialise a new instance of the class. - - A default , and the LastWriteTime for files is used. - - - - Initialise a new instance of using the specified - - The time setting to use when creating Zip entries. - - - - Initialise a new instance of using the specified - - The time to set all values to. - - - - Make a new for a file. - - The name of the file to create a new entry for. - Returns a new based on the . - - - - Make a new from a name. - - The name of the file to create a new entry for. - If true entry detail is retrieved from the file system if the file exists. - Returns a new based on the . - - - - Make a new for a directory. - - The raw untransformed name for the new directory - Returns a new representing a directory. - - - - Make a new for a directory. - - The raw untransformed name for the new directory - If true entry detail is retrieved from the file system if the file exists. - Returns a new representing a directory. - - - - Get / set the to be used when creating new values. - - - Setting this property to null will cause a default name transform to be used. - - - - - Get / set the in use. - - - - - Get / set the value to use when is set to - - - - - A bitmask defining the attributes to be retrieved from the actual file. - - The default is to get all possible attributes from the actual file. - - - - A bitmask defining which attributes are to be set on. - - By default no attributes are set on. - - - - Get set a value indicating wether unidoce text should be set on. - - - - - Defines the possible values to be used for the . - - - - - Use the recorded LastWriteTime value for the file. - - - - - Use the recorded LastWriteTimeUtc value for the file - - - - - Use the recorded CreateTime value for the file. - - - - - Use the recorded CreateTimeUtc value for the file. - - - - - Use the recorded LastAccessTime value for the file. - - - - - Use the recorded LastAccessTimeUtc value for the file. - - - - - Use a fixed value. - - The actual value used can be - specified via the constructor or - using the with the setting set - to which will use the when this class was constructed. - The property can also be used to set this value. - - - - PkzipClassic embodies the classic or original encryption facilities used in Pkzip archives. - While it has been superceded by more recent and more powerful algorithms, its still in use and - is viable for preventing casual snooping - - - - - Generates new encryption keys based on given seed - - The seed value to initialise keys with. - A new key value. - - - - PkzipClassicCryptoBase provides the low level facilities for encryption - and decryption using the PkzipClassic algorithm. - - - - - Transform a single byte - - - The transformed value - - - - - Set the key schedule for encryption/decryption. - - The data use to set the keys from. - - - - Update encryption keys - - - - - Reset the internal state. - - - - - PkzipClassic CryptoTransform for encryption. - - - - - Initialise a new instance of - - The key block to use. - - - - Transforms the specified region of the specified byte array. - - The input for which to compute the transform. - The offset into the byte array from which to begin using data. - The number of bytes in the byte array to use as data. - The computed transform. - - - - Transforms the specified region of the input byte array and copies - the resulting transform to the specified region of the output byte array. - - The input for which to compute the transform. - The offset into the input byte array from which to begin using data. - The number of bytes in the input byte array to use as data. - The output to which to write the transform. - The offset into the output byte array from which to begin writing data. - The number of bytes written. - - - - Cleanup internal state. - - - - - Gets a value indicating whether the current transform can be reused. - - - - - Gets the size of the input data blocks in bytes. - - - - - Gets the size of the output data blocks in bytes. - - - - - Gets a value indicating whether multiple blocks can be transformed. - - - - - PkzipClassic CryptoTransform for decryption. - - - - - Initialise a new instance of . - - The key block to decrypt with. - - - - Transforms the specified region of the specified byte array. - - The input for which to compute the transform. - The offset into the byte array from which to begin using data. - The number of bytes in the byte array to use as data. - The computed transform. - - - - Transforms the specified region of the input byte array and copies - the resulting transform to the specified region of the output byte array. - - The input for which to compute the transform. - The offset into the input byte array from which to begin using data. - The number of bytes in the input byte array to use as data. - The output to which to write the transform. - The offset into the output byte array from which to begin writing data. - The number of bytes written. - - - - Cleanup internal state. - - - - - Gets a value indicating whether the current transform can be reused. - - - - - Gets the size of the input data blocks in bytes. - - - - - Gets the size of the output data blocks in bytes. - - - - - Gets a value indicating whether multiple blocks can be transformed. - - - - - Defines a wrapper object to access the Pkzip algorithm. - This class cannot be inherited. - - - - - Generate an initial vector. - - - - - Generate a new random key. - - - - - Create an encryptor. - - The key to use for this encryptor. - Initialisation vector for the new encryptor. - Returns a new PkzipClassic encryptor - - - - Create a decryptor. - - Keys to use for this new decryptor. - Initialisation vector for the new decryptor. - Returns a new decryptor. - - - - Get / set the applicable block size in bits. - - The only valid block size is 8. - - - - Get an array of legal key sizes. - - - - - Get an array of legal block sizes. - - - - - Get / set the key value applicable. - - - - - This class represents an entry in a Tar archive. It consists - of the entry's header, as well as the entry's File. Entries - can be instantiated in one of three ways, depending on how - they are to be used. -

- TarEntries that are created from the header bytes read from - an archive are instantiated with the TarEntry( byte[] ) - constructor. These entries will be used when extracting from - or listing the contents of an archive. These entries have their - header filled in using the header bytes. They also set the File - to null, since they reference an archive entry not a file.

-

- TarEntries that are created from files that are to be written - into an archive are instantiated with the CreateEntryFromFile(string) - pseudo constructor. These entries have their header filled in using - the File's information. They also keep a reference to the File - for convenience when writing entries.

-

- Finally, TarEntries can be constructed from nothing but a name. - This allows the programmer to construct the entry by hand, for - instance when only an InputStream is available for writing to - the archive, and the header information is constructed from - other information. In this case the header fields are set to - defaults and the File is set to null.

- -
-
- - - Initialise a default instance of . - - - - - Construct an entry from an archive's header bytes. File is set - to null. - - - The header bytes from a tar archive entry. - - - - - Construct a TarEntry using the header provided - - Header details for entry - - - - Clone this tar entry. - - Returns a clone of this entry. - - - - Construct an entry with only a name. - This allows the programmer to construct the entry's header "by hand". - - The name to use for the entry - Returns the newly created - - - - Construct an entry for a file. File is set to file, and the - header is constructed from information from the file. - - The file name that the entry represents. - Returns the newly created - - - - Determine if the two entries are equal. Equality is determined - by the header names being equal. - - The to compare with the current Object. - - True if the entries are equal; false if not. - - - - - Derive a Hash value for the current - - A Hash code for the current - - - - Determine if the given entry is a descendant of this entry. - Descendancy is determined by the name of the descendant - starting with this entry's name. - - - Entry to be checked as a descendent of this. - - - True if entry is a descendant of this. - - - - - Convenience method to set this entry's group and user ids. - - - This entry's new user id. - - - This entry's new group id. - - - - - Convenience method to set this entry's group and user names. - - - This entry's new user name. - - - This entry's new group name. - - - - - Fill in a TarHeader with information from a File. - - - The TarHeader to fill in. - - - The file from which to get the header information. - - - - - Get entries for all files present in this entries directory. - If this entry doesnt represent a directory zero entries are returned. - - - An array of TarEntry's for this entry's children. - - - - - Write an entry's header information to a header buffer. - - - The tar entry header buffer to fill in. - - - - - Convenience method that will modify an entry's name directly - in place in an entry header buffer byte array. - - - The buffer containing the entry header to modify. - - - The new name to place into the header buffer. - - - - - Fill in a TarHeader given only the entry's name. - - - The TarHeader to fill in. - - - The tar entry name. - - - - - The name of the file this entry represents or null if the entry is not based on a file. - - - - - The entry's header information. - - - - - Get this entry's header. - - - This entry's TarHeader. - - - - - Get/Set this entry's name. - - - - - Get/set this entry's user id. - - - - - Get/set this entry's group id. - - - - - Get/set this entry's user name. - - - - - Get/set this entry's group name. - - - - - Get/Set the modification time for this entry - - - - - Get this entry's file. - - - This entry's file. - - - - - Get/set this entry's recorded file size. - - - - - Return true if this entry represents a directory, false otherwise - - - True if this entry is a directory. - - - - - This filter stream is used to decompress a "GZIP" format stream. - The "GZIP" format is described baseInputStream RFC 1952. - - author of the original java version : John Leuner - - This sample shows how to unzip a gzipped file - - using System; - using System.IO; - - using ICSharpCode.SharpZipLib.Core; - using ICSharpCode.SharpZipLib.GZip; - - class MainClass - { - public static void Main(string[] args) - { - using (Stream inStream = new GZipInputStream(File.OpenRead(args[0]))) - using (FileStream outStream = File.Create(Path.GetFileNameWithoutExtension(args[0]))) { - byte[] buffer = new byte[4096]; - StreamUtils.Copy(inStream, outStream, buffer); - } - } - } - - - - - - CRC-32 value for uncompressed data - - - - - Indicates end of stream - - - - - Creates a GZipInputStream with the default buffer size - - - The stream to read compressed data from (baseInputStream GZIP format) - - - - - Creates a GZIPInputStream with the specified buffer size - - - The stream to read compressed data from (baseInputStream GZIP format) - - - Size of the buffer to use - - - - - Reads uncompressed data into an array of bytes - - - The buffer to read uncompressed data into - - - The offset indicating where the data should be placed - - - The number of uncompressed bytes to be read - - Returns the number of bytes actually read. - - - - Provides simple " utilities. - - - - - Read from a ensuring all the required data is read. - - The stream to read. - The buffer to fill. - - - - Read from a " ensuring all the required data is read. - - The stream to read data from. - The buffer to store data in. - The offset at which to begin storing data. - The number of bytes of data to store. - - - - Copy the contents of one to another. - - The stream to source data from. - The stream to write data to. - The buffer to use during copying. - The progress handler delegate to use. - The minimum between progress updates. - The source for this event. - The name to use with the event. - - - - Copy the contents of one to another. - - The stream to source data from. - The stream to write data to. - The buffer to use during copying. - - - - Initialise an instance of - - - - - This is the DeflaterHuffman class. - - This class is not thread safe. This is inherent in the API, due - to the split of Deflate and SetInput. - - author of the original java version : Jochen Hoenicke - - - - - Pending buffer to use - - - - - Construct instance with pending buffer - - Pending buffer to use - - - - Reset internal state - - - - - Write all trees to pending buffer - - The number/rank of treecodes to send. - - - - Compress current buffer writing data to pending buffer - - - - - Flush block to output with no compression - - Data to write - Index of first byte to write - Count of bytes to write - True if this is the last block - - - - Flush block to output with compression - - Data to flush - Index of first byte to flush - Count of bytes to flush - True if this is the last block - - - - Get value indicating if internal buffer is full - - true if buffer is full - - - - Add literal to buffer - - Literal value to add to buffer. - Value indicating internal buffer is full - - - - Add distance code and length to literal and distance trees - - Distance code - Length - Value indicating if internal buffer is full - - - - Reverse the bits of a 16 bit value. - - Value to reverse bits - Value with bits reversed - - - - Resets the internal state of the tree - - - - - Check that all frequencies are zero - - - At least one frequency is non-zero - - - - - Set static codes and length - - new codes - length for new codes - - - - Build dynamic codes and lengths - - - - - Get encoded length - - Encoded length, the sum of frequencies * lengths - - - - Scan a literal or distance tree to determine the frequencies of the codes - in the bit length tree. - - - - - Write tree values - - Tree to write - - - - This class contains constants used for gzip. - - - - - Magic number found at start of GZIP header - - - - - Flag bit mask for text - - - - - Flag bitmask for Crc - - - - - Flag bit mask for extra - - - - - flag bitmask for name - - - - - flag bit mask indicating comment is present - - - - - Initialise default instance. - - Constructor is private to prevent instances being created. - - - - TarExceptions are used for exceptions specific to tar classes and code. - - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initialises a new instance of the TarException class. - - - - - Initialises a new instance of the TarException class with a specified message. - - The message that describes the error. - - - - - - A message describing the error. - The exception that is the cause of the current exception. - - - - Bzip2 checksum algorithm - - - - - Initialise a default instance of - - - - - Reset the state of Crc. - - - - - Update the Crc value. - - data update is based on - - - - Update Crc based on a block of data - - The buffer containing data to update the crc with. - - - - Update Crc based on a portion of a block of data - - block of data - index of first byte to use - number of bytes to use - - - - Get the current Crc value. - - - - - This is an InflaterInputStream that reads the files baseInputStream an zip archive - one after another. It has a special method to get the zip entry of - the next file. The zip entry contains information about the file name - size, compressed size, Crc, etc. - It includes support for Stored and Deflated entries. -
-
Author of the original java version : Jochen Hoenicke -
- - This sample shows how to read a zip file - - using System; - using System.Text; - using System.IO; - - using ICSharpCode.SharpZipLib.Zip; - - class MainClass - { - public static void Main(string[] args) - { - using ( ZipInputStream s = new ZipInputStream(File.OpenRead(args[0]))) { - - ZipEntry theEntry; - while ((theEntry = s.GetNextEntry()) != null) { - int size = 2048; - byte[] data = new byte[2048]; - - Console.Write("Show contents (y/n) ?"); - if (Console.ReadLine() == "y") { - while (true) { - size = s.Read(data, 0, data.Length); - if (size > 0) { - Console.Write(new ASCIIEncoding().GetString(data, 0, size)); - } else { - break; - } - } - } - } - } - } - } - - -
- - - The current reader this instance. - - - - - Creates a new Zip input stream, for reading a zip archive. - - The underlying providing data. - - - - Advances to the next entry in the archive - - - The next entry in the archive or null if there are no more entries. - - - If the previous entry is still open CloseEntry is called. - - - Input stream is closed - - - Password is not set, password is invalid, compression method is invalid, - version required to extract is not supported - - - - - Read data descriptor at the end of compressed data. - - - - - Complete cleanup as the final part of closing. - - True if the crc value should be tested - - - - Closes the current zip entry and moves to the next one. - - - The stream is closed - - - The Zip stream ends early - - - - - Reads a byte from the current zip entry. - - - The byte or -1 if end of stream is reached. - - - - - Handle attempts to read by throwing an . - - The destination array to store data in. - The offset at which data read should be stored. - The maximum number of bytes to read. - Returns the number of bytes actually read. - - - - Handle attempts to read from this entry by throwing an exception - - - - - Perform the initial read on an entry which may include - reading encryption headers and setting up inflation. - - The destination to fill with data read. - The offset to start reading at. - The maximum number of bytes to read. - The actual number of bytes read. - - - - Read a block of bytes from the stream. - - The destination for the bytes. - The index to start storing data. - The number of bytes to attempt to read. - Returns the number of bytes read. - Zero bytes read means end of stream. - - - - Reads a block of bytes from the current zip entry. - - - The number of bytes read (this may be less than the length requested, even before the end of stream), or 0 on end of stream. - - - An i/o error occured. - - - The deflated stream is corrupted. - - - The stream is not open. - - - - - Closes the zip input stream - - - - - Optional password used for encryption when non-null - - A password for all encrypted entries in this - - - - Gets a value indicating if there is a current entry and it can be decompressed - - - The entry can only be decompressed if the library supports the zip features required to extract it. - See the ZipEntry Version property for more details. - - - - - Returns 1 if there is an entry available - Otherwise returns 0. - - - - - Returns the current size that can be read from the current entry if available - - Thrown if the entry size is not known. - Thrown if no entry is currently available. - - - - ZipNameTransform transforms names as per the Zip file naming convention. - - The use of absolute names is supported although its use is not valid - according to Zip naming conventions, and should not be used if maximum compatability is desired. - - - - Initialize a new instance of - - - - - Initialize a new instance of - - The string to trim from front of paths if found. - - - - Static constructor. - - - - - Transform a directory name according to the Zip file naming conventions. - - The directory name to transform. - The transformed name. - - - - Transform a windows file name according to the Zip file naming conventions. - - The file name to transform. - The transformed name. - - - - Force a name to be valid by replacing invalid characters with a fixed value - - The name to force valid - The replacement character to use. - Returns a valid name - - - - Test a name to see if it is a valid name for a zip entry. - - The name to test. - If true checking is relaxed about windows file names and absolute paths. - Returns true if the name is a valid zip name; false otherwise. - Zip path names are actually in Unix format, and should only contain relative paths. - This means that any path stored should not contain a drive or - device letter, or a leading slash. All slashes should forward slashes '/'. - An empty name is valid for a file where the input comes from standard input. - A null name is not considered valid. - - - - - Test a name to see if it is a valid name for a zip entry. - - The name to test. - Returns true if the name is a valid zip name; false otherwise. - Zip path names are actually in unix format, - and should only contain relative paths if a path is present. - This means that the path stored should not contain a drive or - device letter, or a leading slash. All slashes should forward slashes '/'. - An empty name is valid where the input comes from standard input. - A null name is not considered valid. - - - - - Get/set the path prefix to be trimmed from paths if present. - - The prefix is trimmed before any conversion from - a windows path is done. - - - - This exception is used to indicate that there is a problem - with a TAR archive header. - - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initialise a new instance of the InvalidHeaderException class. - - - - - Initialises a new instance of the InvalidHeaderException class with a specified message. - - Message describing the exception cause. - - - - Initialise a new instance of InvalidHeaderException - - Message describing the problem. - The exception that is the cause of the current exception. - - - - This class allows us to retrieve a specified number of bits from - the input buffer, as well as copy big byte blocks. - - It uses an int buffer to store up to 31 bits for direct - manipulation. This guarantees that we can get at least 16 bits, - but we only need at most 15, so this is all safe. - - There are some optimizations in this class, for example, you must - never peek more than 8 bits more than needed, and you must first - peek bits before you may drop them. This is not a general purpose - class but optimized for the behaviour of the Inflater. - - authors of the original java version : John Leuner, Jochen Hoenicke - - - - - Constructs a default StreamManipulator with all buffers empty - - - - - Get the next sequence of bits but don't increase input pointer. bitCount must be - less or equal 16 and if this call succeeds, you must drop - at least n - 8 bits in the next call. - - The number of bits to peek. - - the value of the bits, or -1 if not enough bits available. */ - - - - - Drops the next n bits from the input. You should have called PeekBits - with a bigger or equal n before, to make sure that enough bits are in - the bit buffer. - - The number of bits to drop. - - - - Gets the next n bits and increases input pointer. This is equivalent - to followed by , except for correct error handling. - - The number of bits to retrieve. - - the value of the bits, or -1 if not enough bits available. - - - - - Skips to the next byte boundary. - - - - - Copies bytes from input buffer to output buffer starting - at output[offset]. You have to make sure, that the buffer is - byte aligned. If not enough bytes are available, copies fewer - bytes. - - - The buffer to copy bytes to. - - - The offset in the buffer at which copying starts - - - The length to copy, 0 is allowed. - - - The number of bytes copied, 0 if no bytes were available. - - - Length is less than zero - - - Bit buffer isnt byte aligned - - - - - Resets state and empties internal buffers - - - - - Add more input for consumption. - Only call when IsNeedingInput returns true - - data to be input - offset of first byte of input - number of bytes of input to add. - - - - Gets the number of bits available in the bit buffer. This must be - only called when a previous PeekBits() returned -1. - - - the number of bits available. - - - - - Gets the number of bytes available. - - - The number of bytes available. - - - - - Returns true when SetInput can be called - - - - - Strategies for deflater - - - - - The default strategy - - - - - This strategy will only allow longer string repetitions. It is - useful for random data with a small character set. - - - - - This strategy will not look for string repetitions at all. It - only encodes with Huffman trees (which means, that more common - characters get a smaller encoding. - - - - - Low level compression engine for deflate algorithm which uses a 32K sliding window - with secondary compression from Huffman/Shannon-Fano codes. - - - - - Construct instance with pending buffer - - - Pending buffer to use - > - - - - Deflate drives actual compression of data - - True to flush input buffers - Finish deflation with the current input. - Returns true if progress has been made. - - - - Sets input data to be deflated. Should only be called when NeedsInput() - returns true - - The buffer containing input data. - The offset of the first byte of data. - The number of bytes of data to use as input. - - - - Determines if more input is needed. - - Return true if input is needed via SetInput - - - - Set compression dictionary - - The buffer containing the dictionary data - The offset in the buffer for the first byte of data - The length of the dictionary data. - - - - Reset internal state - - - - - Reset Adler checksum - - - - - Set the deflate level (0-9) - - The value to set the level to. - - - - Fill the window - - - - - Inserts the current string in the head hash and returns the previous - value for this hash. - - The previous hash value - - - - Find the best (longest) string in the window matching the - string starting at strstart. - - Preconditions: - - strstart + MAX_MATCH <= window.length. - - - True if a match greater than the minimum length is found - - - - Hashtable, hashing three characters to an index for window, so - that window[index]..window[index+2] have this hash code. - Note that the array should really be unsigned short, so you need - to and the values with 0xffff. - - - - - prev[index & WMASK] points to the previous index that has the - same hash code as the string starting at index. This way - entries with the same hash code are in a linked list. - Note that the array should really be unsigned short, so you need - to and the values with 0xffff. - - - - - Points to the current character in the window. - - - - - lookahead is the number of characters starting at strstart in - window that are valid. - So window[strstart] until window[strstart+lookahead-1] are valid - characters. - - - - - This array contains the part of the uncompressed stream that - is of relevance. The current character is indexed by strstart. - - - - - The current compression function. - - - - - The input data for compression. - - - - - The total bytes of input read. - - - - - The offset into inputBuf, where input data starts. - - - - - The end offset of the input data. - - - - - The adler checksum - - - - - Get current value of Adler checksum - - - - - Total data processed - - - - - Get/set the deflate strategy - - - - - The TarBuffer class implements the tar archive concept - of a buffered input stream. This concept goes back to the - days of blocked tape drives and special io devices. In the - C# universe, the only real function that this class - performs is to ensure that files have the correct "record" - size, or other tars will complain. -

- You should never have a need to access this class directly. - TarBuffers are created by Tar IO Streams. -

-
-
- - - The size of a block in a tar archive in bytes. - - This is 512 bytes. - - - - The number of blocks in a default record. - - - The default value is 20 blocks per record. - - - - - The size in bytes of a default record. - - - The default size is 10KB. - - - - - Get the TAR Buffer's record size. - - The record size in bytes. - This is equal to the multiplied by the - - - - Get the TAR Buffer's block factor - - The block factor; the number of blocks per record. - - - - Construct a default TarBuffer - - - - - Create TarBuffer for reading with default BlockFactor - - Stream to buffer - A new suitable for input. - - - - Construct TarBuffer for reading inputStream setting BlockFactor - - Stream to buffer - Blocking factor to apply - A new suitable for input. - - - - Construct TarBuffer for writing with default BlockFactor - - output stream for buffer - A new suitable for output. - - - - Construct TarBuffer for writing Tar output to streams. - - Output stream to write to. - Blocking factor to apply - A new suitable for output. - - - - Initialization common to all constructors. - - - - - Determine if an archive block indicates End of Archive. End of - archive is indicated by a block that consists entirely of null bytes. - All remaining blocks for the record should also be null's - However some older tars only do a couple of null blocks (Old GNU tar for one) - and also partial records - - The data block to check. - Returns true if the block is an EOF block; false otherwise. - - - - Skip over a block on the input stream. - - - - - Read a block from the input stream. - - - The block of data read. - - - - - Read a record from data stream. - - - false if End-Of-File, else true. - - - - - Get the current block number, within the current record, zero based. - - - The current zero based block number. - - - The absolute block number = (record number * block factor) + block number. - - - - - Get the current record number. - - - The current zero based record number. - - - - - Write a block of data to the archive. - - - The data to write to the archive. - - - - - Write an archive record to the archive, where the record may be - inside of a larger array buffer. The buffer must be "offset plus - record size" long. - - - The buffer containing the record data to write. - - - The offset of the record data within buffer. - - - - - Write a TarBuffer record to the archive. - - - - - Flush the current record if it has any data in it. - - - - - Close the TarBuffer. If this is an output buffer, also flush the - current block before closing. - - - - - Get the record size for this buffer - - The record size in bytes. - This is equal to the multiplied by the - - - - Get the Blocking factor for the buffer - - This is the number of block in each record. - - - - Get the current block number, within the current record, zero based. - - - - - Get the current record number. - - - The current zero based record number. - - - - - This class encapsulates the Tar Entry Header used in Tar Archives. - The class also holds a number of tar constants, used mostly in headers. - - - - - The length of the name field in a header buffer. - - - - - The length of the mode field in a header buffer. - - - - - The length of the user id field in a header buffer. - - - - - The length of the group id field in a header buffer. - - - - - The length of the checksum field in a header buffer. - - - - - Offset of checksum in a header buffer. - - - - - The length of the size field in a header buffer. - - - - - The length of the magic field in a header buffer. - - - - - The length of the version field in a header buffer. - - - - - The length of the modification time field in a header buffer. - - - - - The length of the user name field in a header buffer. - - - - - The length of the group name field in a header buffer. - - - - - The length of the devices field in a header buffer. - - - - - The "old way" of indicating a normal file. - - - - - Normal file type. - - - - - Link file type. - - - - - Symbolic link file type. - - - - - Character device file type. - - - - - Block device file type. - - - - - Directory file type. - - - - - FIFO (pipe) file type. - - - - - Contiguous file type. - - - - - Posix.1 2001 global extended header - - - - - Posix.1 2001 extended header - - - - - Solaris access control list file type - - - - - GNU dir dump file type - This is a dir entry that contains the names of files that were in the - dir at the time the dump was made - - - - - Solaris Extended Attribute File - - - - - Inode (metadata only) no file content - - - - - Identifies the next file on the tape as having a long link name - - - - - Identifies the next file on the tape as having a long name - - - - - Continuation of a file that began on another volume - - - - - For storing filenames that dont fit in the main header (old GNU) - - - - - GNU Sparse file - - - - - GNU Tape/volume header ignore on extraction - - - - - The magic tag representing a POSIX tar archive. (includes trailing NULL) - - - - - The magic tag representing an old GNU tar archive where version is included in magic and overwrites it - - - - - Initialise a default TarHeader instance - - - - - Get the name of this entry. - - The entry's name. - - - - Create a new that is a copy of the current instance. - - A new that is a copy of the current instance. - - - - Parse TarHeader information from a header buffer. - - - The tar entry header buffer to get information from. - - - - - 'Write' header information to buffer provided, updating the check sum. - - output buffer for header information - - - - Get a hash code for the current object. - - A hash code for the current object. - - - - Determines if this instance is equal to the specified object. - - The object to compare with. - true if the objects are equal, false otherwise. - - - - Set defaults for values used when constructing a TarHeader instance. - - Value to apply as a default for userId. - Value to apply as a default for userName. - Value to apply as a default for groupId. - Value to apply as a default for groupName. - - - - Parse an octal string from a header buffer. - - The header buffer from which to parse. - The offset into the buffer from which to parse. - The number of header bytes to parse. - The long equivalent of the octal string. - - - - Parse a name from a header buffer. - - - The header buffer from which to parse. - - - The offset into the buffer from which to parse. - - - The number of header bytes to parse. - - - The name parsed. - - - - - Add name to the buffer as a collection of bytes - - The name to add - The offset of the first character - The buffer to add to - The index of the first byte to add - The number of characters/bytes to add - The next free index in the buffer - - - - Add name to the buffer as a collection of bytes - - The name to add - The offset of the first character - The buffer to add to - The index of the first byte to add - The number of characters/bytes to add - The next free index in the buffer - - - - Add an entry name to the buffer - - - The name to add - - - The buffer to add to - - - The offset into the buffer from which to start adding - - - The number of header bytes to add - - - The index of the next free byte in the buffer - - - - - Add an entry name to the buffer - - The name to add - The buffer to add to - The offset into the buffer from which to start adding - The number of header bytes to add - The index of the next free byte in the buffer - - - - Add a string to a buffer as a collection of ascii bytes. - - The string to add - The offset of the first character to add. - The buffer to add to. - The offset to start adding at. - The number of ascii characters to add. - The next free index in the buffer. - - - - Put an octal representation of a value into a buffer - - - the value to be converted to octal - - - buffer to store the octal string - - - The offset into the buffer where the value starts - - - The length of the octal string to create - - - The offset of the character next byte after the octal string - - - - - Put an octal representation of a value into a buffer - - Value to be convert to octal - The buffer to update - The offset into the buffer to store the value - The length of the octal string - Index of next byte - - - - Add the checksum integer to header buffer. - - - The header buffer to set the checksum for - The offset into the buffer for the checksum - The number of header bytes to update. - It's formatted differently from the other fields: it has 6 digits, a - null, then a space -- rather than digits, a space, then a null. - The final space is already there, from checksumming - - The modified buffer offset - - - - Compute the checksum for a tar entry header. - The checksum field must be all spaces prior to this happening - - The tar entry's header buffer. - The computed checksum. - - - - Make a checksum for a tar entry ignoring the checksum contents. - - The tar entry's header buffer. - The checksum for the buffer - - - - Get/set the name for this tar entry. - - Thrown when attempting to set the property to null. - - - - Get/set the entry's Unix style permission mode. - - - - - The entry's user id. - - - This is only directly relevant to unix systems. - The default is zero. - - - - - Get/set the entry's group id. - - - This is only directly relevant to linux/unix systems. - The default value is zero. - - - - - Get/set the entry's size. - - Thrown when setting the size to less than zero. - - - - Get/set the entry's modification time. - - - The modification time is only accurate to within a second. - - Thrown when setting the date time to less than 1/1/1970. - - - - Get the entry's checksum. This is only valid/updated after writing or reading an entry. - - - - - Get value of true if the header checksum is valid, false otherwise. - - - - - Get/set the entry's type flag. - - - - - The entry's link name. - - Thrown when attempting to set LinkName to null. - - - - Get/set the entry's magic tag. - - Thrown when attempting to set Magic to null. - - - - The entry's version. - - Thrown when attempting to set Version to null. - - - - The entry's user name. - - - - - Get/set the entry's group name. - - - This is only directly relevant to unix systems. - - - - - Get/set the entry's major device number. - - - - - Get/set the entry's minor device number. - - - - - Event arguments for scanning. - - - - - Initialise a new instance of - - The file or directory name. - - - - The fie or directory name for this event. - - - - - Get set a value indicating if scanning should continue or not. - - - - - Event arguments during processing of a single file or directory. - - - - - Initialise a new instance of - - The file or directory name if known. - The number of bytes processed so far - The total number of bytes to process, 0 if not known - - - - The name for this event if known. - - - - - Get set a value indicating wether scanning should continue or not. - - - - - Get a percentage representing how much of the has been processed - - 0.0 to 100.0 percent; 0 if target is not known. - - - - The number of bytes processed so far - - - - - The number of bytes to process. - - Target may be 0 or negative if the value isnt known. - - - - Event arguments for directories. - - - - - Initialize an instance of . - - The name for this directory. - Flag value indicating if any matching files are contained in this directory. - - - - Get a value indicating if the directory contains any matching files or not. - - - - - Arguments passed when scan failures are detected. - - - - - Initialise a new instance of - - The name to apply. - The exception to use. - - - - The applicable name. - - - - - The applicable exception. - - - - - Get / set a value indicating wether scanning should continue. - - - - - Delegate invoked before starting to process a directory. - - - - - Delegate invoked before starting to process a file. - - The source of the event - The event arguments. - - - - Delegate invoked during processing of a file or directory - - The source of the event - The event arguments. - - - - Delegate invoked when a file has been completely processed. - - The source of the event - The event arguments. - - - - Delegate invoked when a directory failure is detected. - - The source of the event - The event arguments. - - - - Delegate invoked when a file failure is detected. - - The source of the event - The event arguments. - - - - FileSystemScanner provides facilities scanning of files and directories. - - - - - Initialise a new instance of - - The file filter to apply when scanning. - - - - Initialise a new instance of - - The file filter to apply. - The directory filter to apply. - - - - Initialise a new instance of - - The file filter to apply. - - - - Initialise a new instance of - - The file filter to apply. - The directory filter to apply. - - - - Delegate to invoke when a directory is processed. - - - - - Delegate to invoke when a file is processed. - - - - - Delegate to invoke when processing for a file has finished. - - - - - Delegate to invoke when a directory failure is detected. - - - - - Delegate to invoke when a file failure is detected. - - - - - Raise the DirectoryFailure event. - - The directory name. - The exception detected. - - - - Raise the FileFailure event. - - The file name. - The exception detected. - - - - Raise the ProcessFile event. - - The file name. - - - - Raise the complete file event - - The file name - - - - Raise the ProcessDirectory event. - - The directory name. - Flag indicating if the directory has matching files. - - - - Scan a directory. - - The base directory to scan. - True to recurse subdirectories, false to scan a single directory. - - - - The file filter currently in use. - - - - - The directory filter currently in use. - - - - - Flag indicating if scanning should continue running. - - - - - An input buffer customised for use by - - - The buffer supports decryption of incoming data. - - - - - Initialise a new instance of with a default buffer size - - The stream to buffer. - - - - Initialise a new instance of - - The stream to buffer. - The size to use for the buffer - A minimum buffer size of 1KB is permitted. Lower sizes are treated as 1KB. - - - - Call passing the current clear text buffer contents. - - The inflater to set input for. - - - - Fill the buffer from the underlying input stream. - - - - - Read a buffer directly from the input stream - - The buffer to fill - Returns the number of bytes read. - - - - Read a buffer directly from the input stream - - The buffer to read into - The offset to start reading data into. - The number of bytes to read. - Returns the number of bytes read. - - - - Read clear text data from the input stream. - - The buffer to add data to. - The offset to start adding data at. - The number of bytes to read. - Returns the number of bytes actually read. - - - - Read a from the input stream. - - Returns the byte read. - - - - Read an in little endian byte order. - - The short value read case to an int. - - - - Read an in little endian byte order. - - The int value read. - - - - Read a in little endian byte order. - - The long value read. - - - - Get the length of bytes bytes in the - - - - - Get the contents of the raw data buffer. - - This may contain encrypted data. - - - - Get the number of useable bytes in - - - - - Get the contents of the clear text buffer. - - - - - Get/set the number of bytes available - - - - - Get/set the to apply to any data. - - Set this value to null to have no transform applied. - - - - The TarOutputStream writes a UNIX tar archive as an OutputStream. - Methods are provided to put entries, and then write their contents - by writing to this stream using write(). - - public - - - - Construct TarOutputStream using default block factor - - stream to write to - - - - Construct TarOutputStream with user specified block factor - - stream to write to - blocking factor - - - - set the position within the current stream - - The offset relative to the to seek to - The to seek from. - The new position in the stream. - - - - Set the length of the current stream - - The new stream length. - - - - Read a byte from the stream and advance the position within the stream - by one byte or returns -1 if at the end of the stream. - - The byte value or -1 if at end of stream - - - - read bytes from the current stream and advance the position within the - stream by the number of bytes read. - - The buffer to store read bytes in. - The index into the buffer to being storing bytes at. - The desired number of bytes to read. - The total number of bytes read, or zero if at the end of the stream. - The number of bytes may be less than the count - requested if data is not avialable. - - - - All buffered data is written to destination - - - - - Ends the TAR archive without closing the underlying OutputStream. - The result is that the EOF block of nulls is written. - - - - - Ends the TAR archive and closes the underlying OutputStream. - - This means that Finish() is called followed by calling the - TarBuffer's Close(). - - - - Get the record size being used by this stream's TarBuffer. - - - The TarBuffer record size. - - - - - Put an entry on the output stream. This writes the entry's - header and positions the output stream for writing - the contents of the entry. Once this method is called, the - stream is ready for calls to write() to write the entry's - contents. Once the contents are written, closeEntry() - MUST be called to ensure that all buffered data - is completely written to the output stream. - - - The TarEntry to be written to the archive. - - - - - Close an entry. This method MUST be called for all file - entries that contain data. The reason is that we must - buffer data written to the stream in order to satisfy - the buffer's block based writes. Thus, there may be - data fragments still being assembled that must be written - to the output stream before this entry is closed and the - next entry written. - - - - - Writes a byte to the current tar archive entry. - This method simply calls Write(byte[], int, int). - - - The byte to be written. - - - - - Writes bytes to the current tar archive entry. This method - is aware of the current entry and will throw an exception if - you attempt to write bytes past the length specified for the - current entry. The method is also (painfully) aware of the - record buffering required by TarBuffer, and manages buffers - that are not a multiple of recordsize in length, including - assembling records from small buffers. - - - The buffer to write to the archive. - - - The offset in the buffer from which to get bytes. - - - The number of bytes to write. - - - - - Write an EOF (end of archive) block to the tar archive. - An EOF block consists of all zeros. - - - - - bytes written for this entry so far - - - - - current 'Assembly' buffer length - - - - - Flag indicating wether this instance has been closed or not. - - - - - Size for the current entry - - - - - single block working buffer - - - - - 'Assembly' buffer used to assemble data before writing - - - - - TarBuffer used to provide correct blocking factor - - - - - the destination stream for the archive contents - - - - - true if the stream supports reading; otherwise, false. - - - - - true if the stream supports seeking; otherwise, false. - - - - - true if stream supports writing; otherwise, false. - - - - - length of stream in bytes - - - - - gets or sets the position within the current stream. - - - - - Get the record size being used by this stream's TarBuffer. - - - - - Get a value indicating wether an entry is open, requiring more data to be written. - - - - - This is the Deflater class. The deflater class compresses input - with the deflate algorithm described in RFC 1951. It has several - compression levels and three different strategies described below. - - This class is not thread safe. This is inherent in the API, due - to the split of deflate and setInput. - - author of the original java version : Jochen Hoenicke - - - - - The best and slowest compression level. This tries to find very - long and distant string repetitions. - - - - - The worst but fastest compression level. - - - - - The default compression level. - - - - - This level won't compress at all but output uncompressed blocks. - - - - - The compression method. This is the only method supported so far. - There is no need to use this constant at all. - - - - - Creates a new deflater with default compression level. - - - - - Creates a new deflater with given compression level. - - - the compression level, a value between NO_COMPRESSION - and BEST_COMPRESSION, or DEFAULT_COMPRESSION. - - if lvl is out of range. - - - - Creates a new deflater with given compression level. - - - the compression level, a value between NO_COMPRESSION - and BEST_COMPRESSION. - - - true, if we should suppress the Zlib/RFC1950 header at the - beginning and the adler checksum at the end of the output. This is - useful for the GZIP/PKZIP formats. - - if lvl is out of range. - - - - Resets the deflater. The deflater acts afterwards as if it was - just created with the same compression level and strategy as it - had before. - - - - - Flushes the current input block. Further calls to deflate() will - produce enough output to inflate everything in the current input - block. This is not part of Sun's JDK so I have made it package - private. It is used by DeflaterOutputStream to implement - flush(). - - - - - Finishes the deflater with the current input block. It is an error - to give more input after this method was called. This method must - be called to force all bytes to be flushed. - - - - - Sets the data which should be compressed next. This should be only - called when needsInput indicates that more input is needed. - If you call setInput when needsInput() returns false, the - previous input that is still pending will be thrown away. - The given byte array should not be changed, before needsInput() returns - true again. - This call is equivalent to setInput(input, 0, input.length). - - - the buffer containing the input data. - - - if the buffer was finished() or ended(). - - - - - Sets the data which should be compressed next. This should be - only called when needsInput indicates that more input is needed. - The given byte array should not be changed, before needsInput() returns - true again. - - - the buffer containing the input data. - - - the start of the data. - - - the number of data bytes of input. - - - if the buffer was Finish()ed or if previous input is still pending. - - - - - Sets the compression level. There is no guarantee of the exact - position of the change, but if you call this when needsInput is - true the change of compression level will occur somewhere near - before the end of the so far given input. - - - the new compression level. - - - - - Get current compression level - - Returns the current compression level - - - - Sets the compression strategy. Strategy is one of - DEFAULT_STRATEGY, HUFFMAN_ONLY and FILTERED. For the exact - position where the strategy is changed, the same as for - SetLevel() applies. - - - The new compression strategy. - - - - - Deflates the current input block with to the given array. - - - The buffer where compressed data is stored - - - The number of compressed bytes added to the output, or 0 if either - IsNeedingInput() or IsFinished returns true or length is zero. - - - - - Deflates the current input block to the given array. - - - Buffer to store the compressed data. - - - Offset into the output array. - - - The maximum number of bytes that may be stored. - - - The number of compressed bytes added to the output, or 0 if either - needsInput() or finished() returns true or length is zero. - - - If Finish() was previously called. - - - If offset or length don't match the array length. - - - - - Sets the dictionary which should be used in the deflate process. - This call is equivalent to setDictionary(dict, 0, dict.Length). - - - the dictionary. - - - if SetInput () or Deflate () were already called or another dictionary was already set. - - - - - Sets the dictionary which should be used in the deflate process. - The dictionary is a byte array containing strings that are - likely to occur in the data which should be compressed. The - dictionary is not stored in the compressed output, only a - checksum. To decompress the output you need to supply the same - dictionary again. - - - The dictionary data - - - The index where dictionary information commences. - - - The number of bytes in the dictionary. - - - If SetInput () or Deflate() were already called or another dictionary was already set. - - - - - Compression level. - - - - - If true no Zlib/RFC1950 headers or footers are generated - - - - - The current state. - - - - - The total bytes of output written. - - - - - The pending output. - - - - - The deflater engine. - - - - - Gets the current adler checksum of the data that was processed so far. - - - - - Gets the number of input bytes processed so far. - - - - - Gets the number of output bytes so far. - - - - - Returns true if the stream was finished and no more output bytes - are available. - - - - - Returns true, if the input buffer is empty. - You should then call setInput(). - NOTE: This method can also return true when the stream - was finished. - - - - - The TarInputStream reads a UNIX tar archive as an InputStream. - methods are provided to position at each successive entry in - the archive, and the read each entry as a normal input stream - using read(). - - - - - Construct a TarInputStream with default block factor - - stream to source data from - - - - Construct a TarInputStream with user specified block factor - - stream to source data from - block factor to apply to archive - - - - Flushes the baseInputStream - - - - - Set the streams position. This operation is not supported and will throw a NotSupportedException - - The offset relative to the origin to seek to. - The to start seeking from. - The new position in the stream. - Any access - - - - Sets the length of the stream - This operation is not supported and will throw a NotSupportedException - - The new stream length. - Any access - - - - Writes a block of bytes to this stream using data from a buffer. - This operation is not supported and will throw a NotSupportedException - - The buffer containing bytes to write. - The offset in the buffer of the frist byte to write. - The number of bytes to write. - Any access - - - - Writes a byte to the current position in the file stream. - This operation is not supported and will throw a NotSupportedException - - The byte value to write. - Any access - - - - Reads a byte from the current tar archive entry. - - A byte cast to an int; -1 if the at the end of the stream. - - - - Reads bytes from the current tar archive entry. - - This method is aware of the boundaries of the current - entry in the archive and will deal with them appropriately - - - The buffer into which to place bytes read. - - - The offset at which to place bytes read. - - - The number of bytes to read. - - - The number of bytes read, or 0 at end of stream/EOF. - - - - - Closes this stream. Calls the TarBuffer's close() method. - The underlying stream is closed by the TarBuffer. - - - - - Set the entry factory for this instance. - - The factory for creating new entries - - - - Get the record size being used by this stream's TarBuffer. - - - TarBuffer record size. - - - - - Skip bytes in the input buffer. This skips bytes in the - current entry's data, not the entire archive, and will - stop at the end of the current entry's data if the number - to skip extends beyond that point. - - - The number of bytes to skip. - - - - - Since we do not support marking just yet, we do nothing. - - - The limit to mark. - - - - - Since we do not support marking just yet, we do nothing. - - - - - Get the next entry in this tar archive. This will skip - over any remaining data in the current entry, if there - is one, and place the input stream at the header of the - next entry, and read the header and instantiate a new - TarEntry from the header bytes and return that entry. - If there are no more entries in the archive, null will - be returned to indicate that the end of the archive has - been reached. - - - The next TarEntry in the archive, or null. - - - - - Copies the contents of the current tar archive entry directly into - an output stream. - - - The OutputStream into which to write the entry's data. - - - - - Flag set when last block has been read - - - - - Size of this entry as recorded in header - - - - - Number of bytes read for this entry so far - - - - - Buffer used with calls to Read() - - - - - Working buffer - - - - - Current entry being read - - - - - Factory used to create TarEntry or descendant class instance - - - - - Stream used as the source of input data. - - - - - Gets a value indicating whether the current stream supports reading - - - - - Gets a value indicating whether the current stream supports seeking - This property always returns false. - - - - - Gets a value indicating if the stream supports writing. - This property always returns false. - - - - - The length in bytes of the stream - - - - - Gets or sets the position within the stream. - Setting the Position is not supported and throws a NotSupportedExceptionNotSupportedException - - Any attempt to set position - - - - Get the record size being used by this stream's TarBuffer. - - - - - Get the available data that can be read from the current - entry in the archive. This does not indicate how much data - is left in the entire archive, only in the current entry. - This value is determined from the entry's size header field - and the amount of data already read from the current entry. - - - The number of available bytes for the current entry. - - - - - Return a value of true if marking is supported; false otherwise. - - Currently marking is not supported, the return value is always false. - - - - This interface is provided, along with the method , to allow - the programmer to have their own subclass instantiated for the - entries return from . - - - - - Create an entry based on name alone - - - Name of the new EntryPointNotFoundException to create - - created TarEntry or descendant class - - - - Create an instance based on an actual file - - - Name of file to represent in the entry - - - Created TarEntry or descendant class - - - - - Create a tar entry based on the header information passed - - - Buffer containing header information to base entry on - - - Created TarEntry or descendant class - - - - - Standard entry factory class creating instances of the class TarEntry - - - - - Create a based on named - - The name to use for the entry - A new - - - - Create a tar entry with details obtained from file - - The name of the file to retrieve details from. - A new - - - - Create an entry based on details in header - - The buffer containing entry details. - A new - - - - Defines known values for the property. - - - - - Host system = MSDOS - - - - - Host system = Amiga - - - - - Host system = Open VMS - - - - - Host system = Unix - - - - - Host system = VMCms - - - - - Host system = Atari ST - - - - - Host system = OS2 - - - - - Host system = Macintosh - - - - - Host system = ZSystem - - - - - Host system = Cpm - - - - - Host system = Windows NT - - - - - Host system = MVS - - - - - Host system = VSE - - - - - Host system = Acorn RISC - - - - - Host system = VFAT - - - - - Host system = Alternate MVS - - - - - Host system = BEOS - - - - - Host system = Tandem - - - - - Host system = OS400 - - - - - Host system = OSX - - - - - Host system = WinZIP AES - - - - - This class represents an entry in a zip archive. This can be a file - or a directory - ZipFile and ZipInputStream will give you instances of this class as - information about the members in an archive. ZipOutputStream - uses an instance of this class when creating an entry in a Zip file. -
-
Author of the original java version : Jochen Hoenicke -
-
- - - Creates a zip entry with the given name. - - - The name for this entry. Can include directory components. - The convention for names is 'unix' style paths with relative names only. - There are with no device names and path elements are separated by '/' characters. - - - The name passed is null - - - - - Creates a zip entry with the given name and version required to extract - - - The name for this entry. Can include directory components. - The convention for names is 'unix' style paths with no device names and - path elements separated by '/' characters. This is not enforced see CleanName - on how to ensure names are valid if this is desired. - - - The minimum 'feature version' required this entry - - - The name passed is null - - - - - Initializes an entry with the given name and made by information - - Name for this entry - Version and HostSystem Information - Minimum required zip feature version required to extract this entry - Compression method for this entry. - - The name passed is null - - - versionRequiredToExtract should be 0 (auto-calculate) or > 10 - - - This constructor is used by the ZipFile class when reading from the central header - It is not generally useful, use the constructor specifying the name only. - - - - - Creates a deep copy of the given zip entry. - - - The entry to copy. - - - - - Test the external attributes for this to - see if the external attributes are Dos based (including WINNT and variants) - and match the values - - The attributes to test. - Returns true if the external attributes are known to be DOS/Windows - based and have the same attributes set as the value passed. - - - - Force this entry to be recorded using Zip64 extensions. - - - - - Get a value indicating wether Zip64 extensions were forced. - - A value of true if Zip64 extensions have been forced on; false if not. - - - - Process extra data fields updating the entry based on the contents. - - True if the extra data fields should be handled - for a local header, rather than for a central header. - - - - - Test entry to see if data can be extracted. - - Returns true if data can be extracted for this entry; false otherwise. - - - - Creates a copy of this zip entry. - - An that is a copy of the current instance. - - - - Gets a string representation of this ZipEntry. - - A readable textual representation of this - - - - Test a compression method to see if this library - supports extracting data compressed with that method - - The compression method to test. - Returns true if the compression method is supported; false otherwise - - - - Cleans a name making it conform to Zip file conventions. - Devices names ('c:\') and UNC share names ('\\server\share') are removed - and forward slashes ('\') are converted to back slashes ('/'). - Names are made relative by trimming leading slashes which is compatible - with the ZIP naming convention. - - The name to clean - The 'cleaned' name. - - The Zip name transform class is more flexible. - - - - - Get a value indicating wether the entry has a CRC value available. - - - - - Get/Set flag indicating if entry is encrypted. - A simple helper routine to aid interpretation of flags - - This is an assistant that interprets the flags property. - - - - Get / set a flag indicating wether entry name and comment text are - encoded in unicode UTF8. - - This is an assistant that interprets the flags property. - - - - Value used during password checking for PKZIP 2.0 / 'classic' encryption. - - - - - Get/Set general purpose bit flag for entry - - - General purpose bit flag
-
- Bit 0: If set, indicates the file is encrypted
- Bit 1-2 Only used for compression type 6 Imploding, and 8, 9 deflating
- Imploding:
- Bit 1 if set indicates an 8K sliding dictionary was used. If clear a 4k dictionary was used
- Bit 2 if set indicates 3 Shannon-Fanno trees were used to encode the sliding dictionary, 2 otherwise
-
- Deflating:
- Bit 2 Bit 1
- 0 0 Normal compression was used
- 0 1 Maximum compression was used
- 1 0 Fast compression was used
- 1 1 Super fast compression was used
-
- Bit 3: If set, the fields crc-32, compressed size - and uncompressed size are were not able to be written during zip file creation - The correct values are held in a data descriptor immediately following the compressed data.
- Bit 4: Reserved for use by PKZIP for enhanced deflating
- Bit 5: If set indicates the file contains compressed patch data
- Bit 6: If set indicates strong encryption was used.
- Bit 7-10: Unused or reserved
- Bit 11: If set the name and comments for this entry are in unicode.
- Bit 12-15: Unused or reserved
-
- - -
- - - Get/Set index of this entry in Zip file - - This is only valid when the entry is part of a - - - - Get/set offset for use in central header - - - - - Get/Set external file attributes as an integer. - The values of this are operating system dependant see - HostSystem for details - - - - - Get the version made by for this entry or zero if unknown. - The value / 10 indicates the major version number, and - the value mod 10 is the minor version number - - - - - Get a value indicating this entry is for a DOS/Windows system. - - - - - Gets the compatability information for the external file attribute - If the external file attributes are compatible with MS-DOS and can be read - by PKZIP for DOS version 2.04g then this value will be zero. Otherwise the value - will be non-zero and identify the host system on which the attributes are compatible. - - - - The values for this as defined in the Zip File format and by others are shown below. The values are somewhat - misleading in some cases as they are not all used as shown. You should consult the relevant documentation - to obtain up to date and correct information. The modified appnote by the infozip group is - particularly helpful as it documents a lot of peculiarities. The document is however a little dated. - - 0 - MS-DOS and OS/2 (FAT / VFAT / FAT32 file systems) - 1 - Amiga - 2 - OpenVMS - 3 - Unix - 4 - VM/CMS - 5 - Atari ST - 6 - OS/2 HPFS - 7 - Macintosh - 8 - Z-System - 9 - CP/M - 10 - Windows NTFS - 11 - MVS (OS/390 - Z/OS) - 12 - VSE - 13 - Acorn Risc - 14 - VFAT - 15 - Alternate MVS - 16 - BeOS - 17 - Tandem - 18 - OS/400 - 19 - OS/X (Darwin) - 99 - WinZip AES - remainder - unused - - - - - - Get minimum Zip feature version required to extract this entry - - - Minimum features are defined as:
- 1.0 - Default value
- 1.1 - File is a volume label
- 2.0 - File is a folder/directory
- 2.0 - File is compressed using Deflate compression
- 2.0 - File is encrypted using traditional encryption
- 2.1 - File is compressed using Deflate64
- 2.5 - File is compressed using PKWARE DCL Implode
- 2.7 - File is a patch data set
- 4.5 - File uses Zip64 format extensions
- 4.6 - File is compressed using BZIP2 compression
- 5.0 - File is encrypted using DES
- 5.0 - File is encrypted using 3DES
- 5.0 - File is encrypted using original RC2 encryption
- 5.0 - File is encrypted using RC4 encryption
- 5.1 - File is encrypted using AES encryption
- 5.1 - File is encrypted using corrected RC2 encryption
- 5.1 - File is encrypted using corrected RC2-64 encryption
- 6.1 - File is encrypted using non-OAEP key wrapping
- 6.2 - Central directory encryption (not confirmed yet)
- 6.3 - File is compressed using LZMA
- 6.3 - File is compressed using PPMD+
- 6.3 - File is encrypted using Blowfish
- 6.3 - File is encrypted using Twofish
-
- -
- - - Get a value indicating wether this entry can be decompressed by the library. - - This is based on the and - wether the compression method is supported. - - - - Gets a value indicating if the entry requires Zip64 extensions - to store the full entry values. - - A value of true if a local header requires Zip64 extensions; false if not. - - - - Get a value indicating wether the central directory entry requires Zip64 extensions to be stored. - - - - - Get/Set DosTime value. - - - The MS-DOS date format can only represent dates between 1/1/1980 and 12/31/2107. - - - - - Gets/Sets the time of last modification of the entry. - - - The property is updated to match this as far as possible. - - - - - Returns the entry name. - - - The unix naming convention is followed. - Path components in the entry should always separated by forward slashes ('/'). - Dos device names like C: should also be removed. - See the class, or - - - - - Gets/Sets the size of the uncompressed data. - - - The size or -1 if unknown. - - Setting the size before adding an entry to an archive can help - avoid compatability problems with some archivers which dont understand Zip64 extensions. - - - - Gets/Sets the size of the compressed data. - - - The compressed entry size or -1 if unknown. - - - - - Gets/Sets the crc of the uncompressed data. - - - Crc is not in the range 0..0xffffffffL - - - The crc value or -1 if unknown. - - - - - Gets/Sets the compression method. Only Deflated and Stored are supported. - - - The compression method for this entry - - - - - - - Gets/Sets the extra data. - - - Extra data is longer than 64KB (0xffff) bytes. - - - Extra data or null if not set. - - - - - Gets/Sets the entry comment. - - - If comment is longer than 0xffff. - - - The comment or null if not set. - - - A comment is only available for entries when read via the class. - The class doesnt have the comment data available. - - - - - Gets a value indicating if the entry is a directory. - however. - - - A directory is determined by an entry name with a trailing slash '/'. - The external file attributes can also indicate an entry is for a directory. - Currently only dos/windows attributes are tested in this manner. - The trailing slash convention should always be followed. - - - - - Get a value of true if the entry appears to be a file; false otherwise - - - This only takes account of DOS/Windows attributes. Other operating systems are ignored. - For linux and others the result may be incorrect. - - - - - ExtraData tagged value interface. - - - - - Set the contents of this instance from the data passed. - - The data to extract contents from. - The offset to begin extracting data from. - The number of bytes to extract. - - - - Get the data representing this instance. - - Returns the data for this instance. - - - - Get the ID for this tagged data value. - - - - - A raw binary tagged value - - - - - Initialise a new instance. - - The tag ID. - - - - Set the data from the raw values provided. - - The raw data to extract values from. - The index to start extracting values from. - The number of bytes available. - - - - Get the binary data representing this instance. - - The raw binary data representing this instance. - - - - The tag ID for this instance. - - - - - Get the ID for this tagged data value. - - - - - Get /set the binary data representing this instance. - - The raw binary data representing this instance. - - - - Class representing extended unix date time values. - - - - - Set the data from the raw values provided. - - The raw data to extract values from. - The index to start extracting values from. - The number of bytes available. - - - - Get the binary data representing this instance. - - The raw binary data representing this instance. - - - - Test a value to see if is valid and can be represented here. - - The value to test. - Returns true if the value is valid and can be represented; false if not. - The standard Unix time is a signed integer data type, directly encoding the Unix time number, - which is the number of seconds since 1970-01-01. - Being 32 bits means the values here cover a range of about 136 years. - The minimum representable time is 1901-12-13 20:45:52, - and the maximum representable time is 2038-01-19 03:14:07. - - - - - Get the ID - - - - - Get /set the Modification Time - - - - - - - Get / set the Access Time - - - - - - - Get / Set the Create Time - - - - - - - Get/set the values to include. - - - - - Flags indicate which values are included in this instance. - - - - - The modification time is included - - - - - The access time is included - - - - - The create time is included. - - - - - Class handling NT date time values. - - - - - Set the data from the raw values provided. - - The raw data to extract values from. - The index to start extracting values from. - The number of bytes available. - - - - Get the binary data representing this instance. - - The raw binary data representing this instance. - - - - Test a valuie to see if is valid and can be represented here. - - The value to test. - Returns true if the value is valid and can be represented; false if not. - - NTFS filetimes are 64-bit unsigned integers, stored in Intel - (least significant byte first) byte order. They determine the - number of 1.0E-07 seconds (1/10th microseconds!) past WinNT "epoch", - which is "01-Jan-1601 00:00:00 UTC". 28 May 60056 is the upper limit - - - - - Get the ID for this tagged data value. - - - - - Get/set the last modification time. - - - - - Get /set the create time - - - - - Get /set the last access time. - - - - - A factory that creates tagged data instances. - - - - - Get data for a specific tag value. - - The tag ID to find. - The data to search. - The offset to begin extracting data from. - The number of bytes to extract. - The located value found, or null if not found. - - - - - A class to handle the extra data field for Zip entries - - - Extra data contains 0 or more values each prefixed by a header tag and length. - They contain zero or more bytes of actual data. - The data is held internally using a copy on write strategy. This is more efficient but - means that for extra data created by passing in data can have the values modified by the caller - in some circumstances. - - - - - Initialise a default instance. - - - - - Initialise with known extra data. - - The extra data. - - - - Get the raw extra data value - - Returns the raw byte[] extra data this instance represents. - - - - Clear the stored data. - - - - - Get a read-only for the associated tag. - - The tag to locate data for. - Returns a containing tag data or null if no tag was found. - - - - Get the tagged data for a tag. - - The tag to search for. - Returns a tagged value or null if none found. - - - - Find an extra data value - - The identifier for the value to find. - Returns true if the value was found; false otherwise. - - - - Add a new entry to extra data. - - The value to add. - - - - Add a new entry to extra data - - The ID for this entry. - The data to add. - If the ID already exists its contents are replaced. - - - - Start adding a new entry. - - Add data using , , , or . - The new entry is completed and actually added by calling - - - - - Add entry data added since using the ID passed. - - The identifier to use for this entry. - - - - Add a byte of data to the pending new entry. - - The byte to add. - - - - - Add data to a pending new entry. - - The data to add. - - - - - Add a short value in little endian order to the pending new entry. - - The data to add. - - - - - Add an integer value in little endian order to the pending new entry. - - The data to add. - - - - - Add a long value in little endian order to the pending new entry. - - The data to add. - - - - - Delete an extra data field. - - The identifier of the field to delete. - Returns true if the field was found and deleted. - - - - Read a long in little endian form from the last found data value - - Returns the long value read. - - - - Read an integer in little endian form from the last found data value. - - Returns the integer read. - - - - Read a short value in little endian form from the last found data value. - - Returns the short value read. - - - - Read a byte from an extra data - - The byte value read or -1 if the end of data has been reached. - - - - Skip data during reading. - - The number of bytes to skip. - - - - Internal form of that reads data at any location. - - Returns the short value read. - - - - Dispose of this instance. - - - - - Gets the current extra data length. - - - - - Get the length of the last value found by - - This is only value if has previsouly returned true. - - - - Get the index for the current read value. - - This is only valid if has previously returned true. - Initially it will be the index of the first byte of actual data. The value is updated after calls to - , and . - - - - Get the number of bytes remaining to be read for the current value; - - - - - Holds data pertinent to a data descriptor. - - - - - Get /set the compressed size of data. - - - - - Get / set the uncompressed size of data - - - - - Get /set the crc value. - - - - - This class assists with writing/reading from Zip files. - - - - - Initialise an instance of this class. - - The name of the file to open. - - - - Initialise a new instance of . - - The stream to use. - - - - Close the stream. - - - The underlying stream is closed only if is true. - - - - - Locates a block with the desired . - - The signature to find. - Location, marking the end of block. - Minimum size of the block. - The maximum variable data. - Eeturns the offset of the first byte after the signature; -1 if not found - - - - Write Zip64 end of central directory records (File header and locator). - - The number of entries in the central directory. - The size of entries in the central directory. - The offset of the dentral directory. - - - - Write the required records to end the central directory. - - The number of entries in the directory. - The size of the entries in the directory. - The start of the central directory. - The archive comment. (This can be null). - - - - Read an unsigned short in little endian byte order. - - Returns the value read. - - An i/o error occurs. - - - The file ends prematurely - - - - - Read an int in little endian byte order. - - Returns the value read. - - An i/o error occurs. - - - The file ends prematurely - - - - - Read a long in little endian byte order. - - The value read. - - - - Write an unsigned short in little endian byte order. - - The value to write. - - - - Write a ushort in little endian byte order. - - The value to write. - - - - Write an int in little endian byte order. - - The value to write. - - - - Write a uint in little endian byte order. - - The value to write. - - - - Write a long in little endian byte order. - - The value to write. - - - - Write a ulong in little endian byte order. - - The value to write. - - - - Write a data descriptor. - - The entry to write a descriptor for. - Returns the number of descriptor bytes written. - - - - Read data descriptor at the end of compressed data. - - if set to true [zip64]. - The data to fill in. - Returns the number of bytes read in the descriptor. - - - - Get / set a value indicating wether the the underlying stream is owned or not. - - If the stream is owned it is closed when this instance is closed. - - - - Inflater is used to decompress data that has been compressed according - to the "deflate" standard described in rfc1951. - - By default Zlib (rfc1950) headers and footers are expected in the input. - You can use constructor public Inflater(bool noHeader) passing true - if there is no Zlib header information - - The usage is as following. First you have to set some input with - SetInput(), then Inflate() it. If inflate doesn't - inflate any bytes there may be three reasons: -
    -
  • IsNeedingInput() returns true because the input buffer is empty. - You have to provide more input with SetInput(). - NOTE: IsNeedingInput() also returns true when, the stream is finished. -
  • -
  • IsNeedingDictionary() returns true, you have to provide a preset - dictionary with SetDictionary().
  • -
  • IsFinished returns true, the inflater has finished.
  • -
- Once the first output byte is produced, a dictionary will not be - needed at a later stage. - - author of the original java version : John Leuner, Jochen Hoenicke -
-
- - - These are the possible states for an inflater - - - - - Copy lengths for literal codes 257..285 - - - - - Extra bits for literal codes 257..285 - - - - - Copy offsets for distance codes 0..29 - - - - - Extra bits for distance codes - - - - - This variable contains the current state. - - - - - The adler checksum of the dictionary or of the decompressed - stream, as it is written in the header resp. footer of the - compressed stream. - Only valid if mode is DECODE_DICT or DECODE_CHKSUM. - - - - - The number of bits needed to complete the current state. This - is valid, if mode is DECODE_DICT, DECODE_CHKSUM, - DECODE_HUFFMAN_LENBITS or DECODE_HUFFMAN_DISTBITS. - - - - - True, if the last block flag was set in the last block of the - inflated stream. This means that the stream ends after the - current block. - - - - - The total number of inflated bytes. - - - - - The total number of bytes set with setInput(). This is not the - value returned by the TotalIn property, since this also includes the - unprocessed input. - - - - - This variable stores the noHeader flag that was given to the constructor. - True means, that the inflated stream doesn't contain a Zlib header or - footer. - - - - - Creates a new inflater or RFC1951 decompressor - RFC1950/Zlib headers and footers will be expected in the input data - - - - - Creates a new inflater. - - - True if no RFC1950/Zlib header and footer fields are expected in the input data - - This is used for GZIPed/Zipped input. - - For compatibility with - Sun JDK you should provide one byte of input more than needed in - this case. - - - - - Resets the inflater so that a new stream can be decompressed. All - pending input and output will be discarded. - - - - - Decodes a zlib/RFC1950 header. - - - False if more input is needed. - - - The header is invalid. - - - - - Decodes the dictionary checksum after the deflate header. - - - False if more input is needed. - - - - - Decodes the huffman encoded symbols in the input stream. - - - false if more input is needed, true if output window is - full or the current block ends. - - - if deflated stream is invalid. - - - - - Decodes the adler checksum after the deflate stream. - - - false if more input is needed. - - - If checksum doesn't match. - - - - - Decodes the deflated stream. - - - false if more input is needed, or if finished. - - - if deflated stream is invalid. - - - - - Sets the preset dictionary. This should only be called, if - needsDictionary() returns true and it should set the same - dictionary, that was used for deflating. The getAdler() - function returns the checksum of the dictionary needed. - - - The dictionary. - - - - - Sets the preset dictionary. This should only be called, if - needsDictionary() returns true and it should set the same - dictionary, that was used for deflating. The getAdler() - function returns the checksum of the dictionary needed. - - - The dictionary. - - - The index into buffer where the dictionary starts. - - - The number of bytes in the dictionary. - - - No dictionary is needed. - - - The adler checksum for the buffer is invalid - - - - - Sets the input. This should only be called, if needsInput() - returns true. - - - the input. - - - - - Sets the input. This should only be called, if needsInput() - returns true. - - - The source of input data - - - The index into buffer where the input starts. - - - The number of bytes of input to use. - - - No input is needed. - - - The index and/or count are wrong. - - - - - Inflates the compressed stream to the output buffer. If this - returns 0, you should check, whether IsNeedingDictionary(), - IsNeedingInput() or IsFinished() returns true, to determine why no - further output is produced. - - - the output buffer. - - - The number of bytes written to the buffer, 0 if no further - output can be produced. - - - if buffer has length 0. - - - if deflated stream is invalid. - - - - - Inflates the compressed stream to the output buffer. If this - returns 0, you should check, whether needsDictionary(), - needsInput() or finished() returns true, to determine why no - further output is produced. - - - the output buffer. - - - the offset in buffer where storing starts. - - - the maximum number of bytes to output. - - - the number of bytes written to the buffer, 0 if no further output can be produced. - - - if count is less than 0. - - - if the index and / or count are wrong. - - - if deflated stream is invalid. - - - - - Returns true, if the input buffer is empty. - You should then call setInput(). - NOTE: This method also returns true when the stream is finished. - - - - - Returns true, if a preset dictionary is needed to inflate the input. - - - - - Returns true, if the inflater has finished. This means, that no - input is needed and no output can be produced. - - - - - Gets the adler checksum. This is either the checksum of all - uncompressed bytes returned by inflate(), or if needsDictionary() - returns true (and thus no output was yet produced) this is the - adler checksum of the expected dictionary. - - - the adler checksum. - - - - - Gets the total number of output bytes returned by Inflate(). - - - the total number of output bytes. - - - - - Gets the total number of processed compressed input bytes. - - - The total number of bytes of processed input bytes. - - - - - Gets the number of unprocessed input bytes. Useful, if the end of the - stream is reached and you want to further process the bytes after - the deflate stream. - - - The number of bytes of the input which have not been processed. - - - - - An input stream that decompresses files in the BZip2 format - - - - - Construct instance for reading from stream - - Data source - - - - Flushes the stream. - - - - - Set the streams position. This operation is not supported and will throw a NotSupportedException - - A byte offset relative to the parameter. - A value of type indicating the reference point used to obtain the new position. - The new position of the stream. - Any access - - - - Sets the length of this stream to the given value. - This operation is not supported and will throw a NotSupportedExceptionortedException - - The new length for the stream. - Any access - - - - Writes a block of bytes to this stream using data from a buffer. - This operation is not supported and will throw a NotSupportedException - - The buffer to source data from. - The offset to start obtaining data from. - The number of bytes of data to write. - Any access - - - - Writes a byte to the current position in the file stream. - This operation is not supported and will throw a NotSupportedException - - The value to write. - Any access - - - - Read a sequence of bytes and advances the read position by one byte. - - Array of bytes to store values in - Offset in array to begin storing data - The maximum number of bytes to read - The total number of bytes read into the buffer. This might be less - than the number of bytes requested if that number of bytes are not - currently available or zero if the end of the stream is reached. - - - - - Closes the stream, releasing any associated resources. - - - - - Read a byte from stream advancing position - - byte read or -1 on end of stream - - - - Get/set flag indicating ownership of underlying stream. - When the flag is true will close the underlying stream also. - - - - - Gets a value indicating if the stream supports reading - - - - - Gets a value indicating whether the current stream supports seeking. - - - - - Gets a value indicating whether the current stream supports writing. - This property always returns false - - - - - Gets the length in bytes of the stream. - - - - - Gets or sets the streams position. - Setting the position is not supported and will throw a NotSupportException - - Any attempt to set the position - - - - Computes Adler32 checksum for a stream of data. An Adler32 - checksum is not as reliable as a CRC32 checksum, but a lot faster to - compute. - - The specification for Adler32 may be found in RFC 1950. - ZLIB Compressed Data Format Specification version 3.3) - - - From that document: - - "ADLER32 (Adler-32 checksum) - This contains a checksum value of the uncompressed data - (excluding any dictionary data) computed according to Adler-32 - algorithm. This algorithm is a 32-bit extension and improvement - of the Fletcher algorithm, used in the ITU-T X.224 / ISO 8073 - standard. - - Adler-32 is composed of two sums accumulated per byte: s1 is - the sum of all bytes, s2 is the sum of all s1 values. Both sums - are done modulo 65521. s1 is initialized to 1, s2 to zero. The - Adler-32 checksum is stored as s2*65536 + s1 in most- - significant-byte first (network) order." - - "8.2. The Adler-32 algorithm - - The Adler-32 algorithm is much faster than the CRC32 algorithm yet - still provides an extremely low probability of undetected errors. - - The modulo on unsigned long accumulators can be delayed for 5552 - bytes, so the modulo operation time is negligible. If the bytes - are a, b, c, the second sum is 3a + 2b + c + 3, and so is position - and order sensitive, unlike the first sum, which is just a - checksum. That 65521 is prime is important to avoid a possible - large class of two-byte errors that leave the check unchanged. - (The Fletcher checksum uses 255, which is not prime and which also - makes the Fletcher check insensitive to single byte changes 0 - - 255.) - - The sum s1 is initialized to 1 instead of zero to make the length - of the sequence part of s2, so that the length does not have to be - checked separately. (Any sequence of zeroes has a Fletcher - checksum of zero.)" - - - - - - - largest prime smaller than 65536 - - - - - Creates a new instance of the Adler32 class. - The checksum starts off with a value of 1. - - - - - Resets the Adler32 checksum to the initial value. - - - - - Updates the checksum with a byte value. - - - The data value to add. The high byte of the int is ignored. - - - - - Updates the checksum with an array of bytes. - - - The source of the data to update with. - - - - - Updates the checksum with the bytes taken from the array. - - - an array of bytes - - - the start of the data used for this update - - - the number of bytes to use for this update - - - - - Returns the Adler32 data checksum computed so far. - - -
-
diff --git a/bin/Org.Mentalis.Security.dll b/bin/Org.Mentalis.Security.dll deleted file mode 100644 index bac39dd..0000000 Binary files a/bin/Org.Mentalis.Security.dll and /dev/null differ diff --git a/bin/Tamir.SharpSSH.dll b/bin/Tamir.SharpSSH.dll deleted file mode 100644 index c2f67a8..0000000 Binary files a/bin/Tamir.SharpSSH.dll and /dev/null differ diff --git a/bin/Winterdom.IO.FileMap.dll b/bin/Winterdom.IO.FileMap.dll deleted file mode 100644 index f3965d6..0000000 Binary files a/bin/Winterdom.IO.FileMap.dll and /dev/null differ -- cgit v1.1 From 5b6485481bbabc2cbe37af00fe55656c12db4b9e Mon Sep 17 00:00:00 2001 From: Tom Grimshaw Date: Sat, 26 Jun 2010 11:02:09 -0700 Subject: Add extra Gitminster config options to ini.example --- bin/OpenSim.ini.example | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 6fdfcf2..a71fe72 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -887,6 +887,13 @@ Enabled = true RepoPath = "git" +;How many frames between the scheduled commits? +CommitFrameInterval = 360000 + +;Should we automatically commit when necessary to avoid objects never making it into the repo? +UseSafetyCommit = true + + [SVN] Enabled = false Directory = SVNmodule\repo -- cgit v1.1 From ef6565470f587a3b5b065c8278ddb9d9b1691250 Mon Sep 17 00:00:00 2001 From: Tom Grimshaw Date: Sat, 17 Jul 2010 06:54:46 -0700 Subject: XGitminster: Update config options; commitFrameInterval -> CommitInterval and a new option DisableNonEssentialCommits --- bin/OpenSim.ini.example | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 559a734..1527334 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -884,8 +884,11 @@ Enabled = true RepoPath = "git" -;How many frames between the scheduled commits? -CommitFrameInterval = 360000 +;How many seconds between the scheduled commits? +CommitInterval = 21600 + +;Disable all except the initial commit? +DisableNonEssentialCommits = false ;Should we automatically commit when necessary to avoid objects never making it into the repo? UseSafetyCommit = true -- cgit v1.1 From d5f497478a371107c568844321a4663bccfbf527 Mon Sep 17 00:00:00 2001 From: Tom Date: Sun, 1 Aug 2010 10:21:56 -0700 Subject: Add config option securePermissionsLoading which will stop the region from loading if the specified permissions modules fail to load. --- bin/OpenSim.ini.example | 3 +++ 1 file changed, 3 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 1527334..2c105bd 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -178,6 +178,9 @@ ;permissionmodules = "DefaultPermissionsModule" + ;If any of the specified permissions modules fail to load, quit? + SecurePermissionsLoading = true + ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy ; any item, etc. This may not yet be implemented uniformally. ; If set to true, then all permissions checks are carried out -- cgit v1.1 From cb3b124df9213bf12383a5625ac4e545fcc91b87 Mon Sep 17 00:00:00 2001 From: Kitto Flora Date: Wed, 4 Aug 2010 21:08:00 +0000 Subject: Fixes fresh hollowed prim collision shape. --- .../storage/SQLiteLegacyStandalone.ini | 16 -------------- bin/config-include/storage/SQLiteStandalone.ini | 25 ---------------------- 2 files changed, 41 deletions(-) delete mode 100644 bin/config-include/storage/SQLiteLegacyStandalone.ini delete mode 100644 bin/config-include/storage/SQLiteStandalone.ini (limited to 'bin') diff --git a/bin/config-include/storage/SQLiteLegacyStandalone.ini b/bin/config-include/storage/SQLiteLegacyStandalone.ini deleted file mode 100644 index 1d4dd29..0000000 --- a/bin/config-include/storage/SQLiteLegacyStandalone.ini +++ /dev/null @@ -1,16 +0,0 @@ -; These are the initialization settings for running OpenSim Standalone with an SQLite database - -[DatabaseService] - StorageProvider = "OpenSim.Data.SQLiteLegacy.dll" - -[AvatarService] - ConnectionString = "URI=file:avatars.db,version=3" - -[AuthenticationService] - ConnectionString = "URI=file:auth.db,version=3" - -[UserAccountService] - ConnectionString = "URI=file:userprofiles.db,version=3" - -[FriendsService] - ConnectionString = "URI=file:friends.db,version=3" diff --git a/bin/config-include/storage/SQLiteStandalone.ini b/bin/config-include/storage/SQLiteStandalone.ini deleted file mode 100644 index fe814d7..0000000 --- a/bin/config-include/storage/SQLiteStandalone.ini +++ /dev/null @@ -1,25 +0,0 @@ -; These are the initialization settings for running OpenSim Standalone with an SQLite database - -[DatabaseService] - StorageProvider = "OpenSim.Data.SQLite.dll" - -[InventoryService] - ;ConnectionString = "URI=file:inventory.db,version=3" - ; if you have a legacy inventory store use the connection string below - ConnectionString = "URI=file:inventory.db,version=3,UseUTF16Encoding=True" - -[AvatarService] - ConnectionString = "URI=file:avatars.db,version=3" - -[AuthenticationService] - ConnectionString = "URI=file:auth.db,version=3" - -[UserAccountService] - ConnectionString = "URI=file:userprofiles.db,version=3" - -[GridUserService] - ConnectionString = "URI=file:griduser.db,version=3" - -[FriendsService] - ConnectionString = "URI=file:friends.db,version=3" - -- cgit v1.1 From 047a4764f22340667ea8c3b11a56ed54011aded9 Mon Sep 17 00:00:00 2001 From: sacha Date: Sat, 7 Aug 2010 13:19:53 +0000 Subject: and another one... --- bin/ICSharpCode.SharpZipLib.xml | 9055 +++++++++++++++++++++++++++++++++++++++ bin/hdfsdll.dll.config | 3 + bin/hdfsdll.so | Bin 0 -> 6557 bytes bin/xmrhelpers.so | Bin 0 -> 18357 bytes 4 files changed, 9058 insertions(+) create mode 100644 bin/ICSharpCode.SharpZipLib.xml create mode 100644 bin/hdfsdll.dll.config create mode 100755 bin/hdfsdll.so create mode 100755 bin/xmrhelpers.so (limited to 'bin') diff --git a/bin/ICSharpCode.SharpZipLib.xml b/bin/ICSharpCode.SharpZipLib.xml new file mode 100644 index 0000000..98cb51e --- /dev/null +++ b/bin/ICSharpCode.SharpZipLib.xml @@ -0,0 +1,9055 @@ + + + + ICSharpCode.SharpZipLib + + + + + FastZipEvents supports all events applicable to FastZip operations. + + + + + Delegate to invoke when processing directories. + + + + + Delegate to invoke when processing files. + + + + + Delegate to invoke during processing of files. + + + + + Delegate to invoke when processing for a file has been completed. + + + + + Delegate to invoke when processing directory failures. + + + + + Delegate to invoke when processing file failures. + + + + + Raise the directory failure event. + + The directory causing the failure. + The exception for this event. + A boolean indicating if execution should continue or not. + + + + Raises the file failure delegate. + + The file causing the failure. + The exception for this failure. + A boolean indicating if execution should continue or not. + + + + Fires the Process File delegate. + + The file being processed. + A boolean indicating if execution should continue or not. + + + + Fires the CompletedFile delegate + + The file whose processing has been completed. + A boolean indicating if execution should continue or not. + + + + Fires the process directory delegate. + + The directory being processed. + Flag indicating if the directory has matching files as determined by the current filter. + A of true if the operation should continue; false otherwise. + + + + The minimum timespan between events. + + The minimum period of time between events. + + + + + FastZip provides facilities for creating and extracting zip files. + + + + + Initialise a default instance of . + + + + + Initialise a new instance of + + The events to use during operations. + + + + Create a zip file. + + The name of the zip file to create. + The directory to source files from. + True to recurse directories, false for no recursion. + The file filter to apply. + The directory filter to apply. + + + + Create a zip file/archive. + + The name of the zip file to create. + The directory to obtain files and directories from. + True to recurse directories, false for no recursion. + The file filter to apply. + + + + Create a zip archive sending output to the passed. + + The stream to write archive data to. + The directory to source files from. + True to recurse directories, false for no recursion. + The file filter to apply. + The directory filter to apply. + + + + Extract the contents of a zip file. + + The zip file to extract from. + The directory to save extracted information in. + A filter to apply to files. + + + + Extract the contents of a zip file. + + The zip file to extract from. + The directory to save extracted information in. + The style of overwriting to apply. + A delegate to invoke when confirming overwriting. + A filter to apply to files. + A filter to apply to directories. + Flag indicating wether to restore the date and time for extracted files. + + + + Get/set a value indicating wether empty directories should be created. + + + + + Get / set the password value. + + + + + Get or set the active when creating Zip files. + + + + + + Get or set the active when creating Zip files. + + + + + Get/set a value indicating wether file dates and times should + be restored when extracting files from an archive. + + The default value is false. + + + + Get/set a value indicating wether file attributes should + be restored during extract operations + + + + + Defines the desired handling when overwriting files during extraction. + + + + + Prompt the user to confirm overwriting + + + + + Never overwrite files. + + + + + Always overwrite files. + + + + + Delegate called when confirming overwriting of files. + + + + + NameFilter is a string matching class which allows for both positive and negative + matching. + A filter is a sequence of independant regular expressions separated by semi-colons ';' + Each expression can be prefixed by a plus '+' sign or a minus '-' sign to denote the expression + is intended to include or exclude names. If neither a plus or minus sign is found include is the default + A given name is tested for inclusion before checking exclusions. Only names matching an include spec + and not matching an exclude spec are deemed to match the filter. + An empty filter matches any name. + + The following expression includes all name ending in '.dat' with the exception of 'dummy.dat' + "+\.dat$;-^dummy\.dat$" + + + + + Scanning filters support filtering of names. + + + + + Test a name to see if it 'matches' the filter. + + The name to test. + Returns true if the name matches the filter, false if it does not match. + + + + Construct an instance based on the filter expression passed + + The filter expression. + + + + Test a string to see if it is a valid regular expression. + + The expression to test. + True if expression is a valid false otherwise. + + + + Test an expression to see if it is valid as a filter. + + The filter expression to test. + True if the expression is valid, false otherwise. + + + + Convert this filter to its string equivalent. + + The string equivalent for this filter. + + + + Test a value to see if it is included by the filter. + + The value to test. + True if the value is included, false otherwise. + + + + Test a value to see if it is excluded by the filter. + + The value to test. + True if the value is excluded, false otherwise. + + + + Test a value to see if it matches the filter. + + The value to test. + True if the value matches, false otherwise. + + + + Compile this filter. + + + + + Huffman tree used for inflation + + + + + Literal length tree + + + + + Distance tree + + + + + Constructs a Huffman tree from the array of code lengths. + + + the array of code lengths + + + + + Reads the next symbol from input. The symbol is encoded using the + huffman tree. + + + input the input source. + + + the next symbol, or -1 if not enough input is available. + + + + + This class is general purpose class for writing data to a buffer. + + It allows you to write bits as well as bytes + Based on DeflaterPending.java + + author of the original java version : Jochen Hoenicke + + + + + Internal work buffer + + + + + construct instance using default buffer size of 4096 + + + + + construct instance using specified buffer size + + + size to use for internal buffer + + + + + Clear internal state/buffers + + + + + Write a byte to buffer + + + The value to write + + + + + Write a short value to buffer LSB first + + + The value to write. + + + + + write an integer LSB first + + The value to write. + + + + Write a block of data to buffer + + data to write + offset of first byte to write + number of bytes to write + + + + Align internal buffer on a byte boundary + + + + + Write bits to internal buffer + + source of bits + number of bits to write + + + + Write a short value to internal buffer most significant byte first + + value to write + + + + Flushes the pending buffer into the given output array. If the + output array is to small, only a partial flush is done. + + The output array. + The offset into output array. + The maximum number of bytes to store. + The number of bytes flushed. + + + + Convert internal buffer to byte array. + Buffer is empty on completion + + + The internal buffer contents converted to a byte array. + + + + + The number of bits written to the buffer + + + + + Indicates if buffer has been flushed + + + + + Used to advise clients of 'events' while processing archives + + + + + The TarArchive class implements the concept of a + 'Tape Archive'. A tar archive is a series of entries, each of + which represents a file system object. Each entry in + the archive consists of a header block followed by 0 or more data blocks. + Directory entries consist only of the header block, and are followed by entries + for the directory's contents. File entries consist of a + header followed by the number of blocks needed to + contain the file's contents. All entries are written on + block boundaries. Blocks are 512 bytes long. + + TarArchives are instantiated in either read or write mode, + based upon whether they are instantiated with an InputStream + or an OutputStream. Once instantiated TarArchives read/write + mode can not be changed. + + There is currently no support for random access to tar archives. + However, it seems that subclassing TarArchive, and using the + TarBuffer.CurrentRecord and TarBuffer.CurrentBlock + properties, this would be rather trivial. + + + + + Raises the ProgressMessage event + + The TarEntry for this event + message for this event. Null is no message + + + + Constructor for a default . + + + + + Initalise a TarArchive for input. + + The to use for input. + + + + Initialise a TarArchive for output. + + The to use for output. + + + + The InputStream based constructors create a TarArchive for the + purposes of extracting or listing a tar archive. Thus, use + these constructors when you wish to extract files from or list + the contents of an existing tar archive. + + The stream to retrieve archive data from. + Returns a new suitable for reading from. + + + + Create TarArchive for reading setting block factor + + Stream for tar archive contents + The blocking factor to apply + Returns a suitable for reading. + + + + Create a TarArchive for writing to, using the default blocking factor + + The to write to + Returns a suitable for writing. + + + + Create a TarArchive for writing to + + The stream to write to + The blocking factor to use for buffering. + Returns a suitable for writing. + + + + Set the flag that determines whether existing files are + kept, or overwritten during extraction. + + + If true, do not overwrite existing files. + + + + + Set the ascii file translation flag. + + + If true, translate ascii text files. + + + + + Set user and group information that will be used to fill in the + tar archive's entry headers. This information based on that available + for the linux operating system, which is not always available on other + operating systems. TarArchive allows the programmer to specify values + to be used in their place. + is set to true by this call. + + + The user id to use in the headers. + + + The user name to use in the headers. + + + The group id to use in the headers. + + + The group name to use in the headers. + + + + + Close the archive. + + + + + Perform the "list" command for the archive contents. + + NOTE That this method uses the progress event to actually list + the contents. If the progress display event is not set, nothing will be listed! + + + + + Perform the "extract" command and extract the contents of the archive. + + + The destination directory into which to extract. + + + + + Extract an entry from the archive. This method assumes that the + tarIn stream has been properly set with a call to GetNextEntry(). + + + The destination directory into which to extract. + + + The TarEntry returned by tarIn.GetNextEntry(). + + + + + Write an entry to the archive. This method will call the putNextEntry + and then write the contents of the entry, and finally call closeEntry() + for entries that are files. For directories, it will call putNextEntry(), + and then, if the recurse flag is true, process each entry that is a + child of the directory. + + + The TarEntry representing the entry to write to the archive. + + + If true, process the children of directory entries. + + + + + Write an entry to the archive. This method will call the putNextEntry + and then write the contents of the entry, and finally call closeEntry() + for entries that are files. For directories, it will call putNextEntry(), + and then, if the recurse flag is true, process each entry that is a + child of the directory. + + + The TarEntry representing the entry to write to the archive. + + + If true, process the children of directory entries. + + + + + Releases the unmanaged resources used by the FileStream and optionally releases the managed resources. + + true to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Closes the archive and releases any associated resources. + + + + + Ensures that resources are freed and other cleanup operations are performed + when the garbage collector reclaims the . + + + + + Client hook allowing detailed information to be reported during processing + + + + + Get/set the ascii file translation flag. If ascii file translation + is true, then the file is checked to see if it a binary file or not. + If the flag is true and the test indicates it is ascii text + file, it will be translated. The translation converts the local + operating system's concept of line ends into the UNIX line end, + '\n', which is the defacto standard for a TAR archive. This makes + text files compatible with UNIX. + + + + + PathPrefix is added to entry names as they are written if the value is not null. + A slash character is appended after PathPrefix + + + + + RootPath is removed from entry names if it is found at the + beginning of the name. + + + + + Get or set a value indicating if overrides defined by SetUserInfo should be applied. + + If overrides are not applied then the values as set in each header will be used. + + + + Get the archive user id. + See ApplyUserInfoOverrides for detail + on how to allow setting values on a per entry basis. + + + The current user id. + + + + + Get the archive user name. + See ApplyUserInfoOverrides for detail + on how to allow setting values on a per entry basis. + + + The current user name. + + + + + Get the archive group id. + See ApplyUserInfoOverrides for detail + on how to allow setting values on a per entry basis. + + + The current group id. + + + + + Get the archive group name. + See ApplyUserInfoOverrides for detail + on how to allow setting values on a per entry basis. + + + The current group name. + + + + + Get the archive's record size. Tar archives are composed of + a series of RECORDS each containing a number of BLOCKS. + This allowed tar archives to match the IO characteristics of + the physical device being used. Archives are expected + to be properly "blocked". + + + The record size this archive is using. + + + + + An output stream that compresses into the BZip2 format + including file header chars into another stream. + + + + + Construct a default output stream with maximum block size + + The stream to write BZip data onto. + + + + Initialise a new instance of the + for the specified stream, using the given blocksize. + + The stream to write compressed data to. + The block size to use. + + Valid block sizes are in the range 1..9, with 1 giving + the lowest compression and 9 the highest. + + + + + Ensures that resources are freed and other cleanup operations + are performed when the garbage collector reclaims the BZip2OutputStream. + + + + + Sets the current position of this stream to the given value. + + The point relative to the offset from which to being seeking. + The reference point from which to begin seeking. + The new position in the stream. + + + + Sets the length of this stream to the given value. + + The new stream length. + + + + Read a byte from the stream advancing the position. + + The byte read cast to an int; -1 if end of stream. + + + + Read a block of bytes + + The buffer to read into. + The offset in the buffer to start storing data at. + The maximum number of bytes to read. + The total number of bytes read. This might be less than the number of bytes + requested if that number of bytes are not currently available, or zero + if the end of the stream is reached. + + + + Write a block of bytes to the stream + + The buffer containing data to write. + The offset of the first byte to write. + The number of bytes to write. + + + + Write a byte to the stream. + + The byte to write to the stream. + + + + End the current block and end compression. + Close the stream and free any resources + + + + + Get the number of bytes written to output. + + + + + Releases the unmanaged resources used by the and optionally releases the managed resources. + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Flush output buffers + + + + + Get/set flag indicating ownership of underlying stream. + When the flag is true will close the underlying stream also. + + + + + Gets a value indicating whether the current stream supports reading + + + + + Gets a value indicating whether the current stream supports seeking + + + + + Gets a value indicating whether the current stream supports writing + + + + + Gets the length in bytes of the stream + + + + + Gets or sets the current position of this stream. + + + + + Get the number of bytes written to the output. + + + + + Represents exception conditions specific to Zip archive handling + + + + + SharpZipBaseException is the base exception class for the SharpZipLibrary. + All library exceptions are derived from this. + + NOTE: Not all exceptions thrown will be derived from this class. + A variety of other exceptions are possible for example + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initializes a new instance of the SharpZipBaseException class. + + + + + Initializes a new instance of the SharpZipBaseException class with a specified error message. + + A message describing the exception. + + + + Initializes a new instance of the SharpZipBaseException class with a specified + error message and a reference to the inner exception that is the cause of this exception. + + A message describing the exception. + The inner exception + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initializes a new instance of the ZipException class. + + + + + Initializes a new instance of the ZipException class with a specified error message. + + The error message that explains the reason for the exception. + + + + Initialise a new instance of ZipException. + + A message describing the error. + The exception that is the cause of the current exception. + + + + A helper class to simplify compressing and decompressing streams. + + + + + Decompress input writing + decompressed data to the output stream + + The stream containing data to decompress. + The stream to write decompressed data to. + Both streams are closed on completion + + + + Compress input stream sending + result to output stream + + The stream to compress. + The stream to write compressed data to. + The block size to use. + Both streams are closed on completion + + + + Initialise a default instance of this class. + + + + + Determines how entries are tested to see if they should use Zip64 extensions or not. + + + + + Zip64 will not be forced on entries during processing. + + An entry can have this overridden if required + + + + Zip64 should always be used. + + + + + #ZipLib will determine use based on entry values when added to archive. + + + + + The kind of compression used for an entry in an archive + + + + + A direct copy of the file contents is held in the archive + + + + + Common Zip compression method using a sliding dictionary + of up to 32KB and secondary compression from Huffman/Shannon-Fano trees + + + + + An extension to deflate with a 64KB window. Not supported by #Zip currently + + + + + Not supported by #Zip currently + + + + + WinZip special for AES encryption, Not supported by #Zip + + + + + Identifies the encryption algorithm used for an entry + + + + + No encryption has been used. + + + + + Encrypted using PKZIP 2.0 or 'classic' encryption. + + + + + DES encryption has been used. + + + + + RCS encryption has been used for encryption. + + + + + Triple DES encryption with 168 bit keys has been used for this entry. + + + + + Triple DES with 112 bit keys has been used for this entry. + + + + + AES 128 has been used for encryption. + + + + + AES 192 has been used for encryption. + + + + + AES 256 has been used for encryption. + + + + + RC2 corrected has been used for encryption. + + + + + Blowfish has been used for encryption. + + + + + Twofish has been used for encryption. + + + + + RCS has been used for encryption. + + + + + An unknown algorithm has been used for encryption. + + + + + Defines the contents of the general bit flags field for an archive entry. + + + + + Bit 0 if set indicates that the file is encrypted + + + + + Bits 1 and 2 - Two bits defining the compression method (only for Method 6 Imploding and 8,9 Deflating) + + + + + Bit 3 if set indicates a trailing data desciptor is appended to the entry data + + + + + Bit 4 is reserved for use with method 8 for enhanced deflation + + + + + Bit 5 if set indicates the file contains Pkzip compressed patched data. + Requires version 2.7 or greater. + + + + + Bit 6 if set strong encryption has been used for this entry. + + + + + Bit 7 is currently unused + + + + + Bit 8 is currently unused + + + + + Bit 9 is currently unused + + + + + Bit 10 is currently unused + + + + + Bit 11 if set indicates the filename and + comment fields for this file must be encoded using UTF-8. + + + + + Bit 12 is documented as being reserved by PKware for enhanced compression. + + + + + Bit 13 if set indicates that values in the local header are masked to hide + their actual values, and the central directory is encrypted. + + + Used when encrypting the central directory contents. + + + + + Bit 14 is documented as being reserved for use by PKware + + + + + Bit 15 is documented as being reserved for use by PKware + + + + + This class contains constants used for Zip format files + + + + + The version made by field for entries in the central header when created by this library + + + This is also the Zip version for the library when comparing against the version required to extract + for an entry. See . + + + + + The version made by field for entries in the central header when created by this library + + + This is also the Zip version for the library when comparing against the version required to extract + for an entry. See ZipInputStream.CanDecompressEntry. + + + + + The minimum version required to support strong encryption + + + + + The minimum version required to support strong encryption + + + + + The version required for Zip64 extensions + + + + + Size of local entry header (excluding variable length fields at end) + + + + + Size of local entry header (excluding variable length fields at end) + + + + + Size of Zip64 data descriptor + + + + + Size of data descriptor + + + + + Size of data descriptor + + + + + Size of central header entry (excluding variable fields) + + + + + Size of central header entry + + + + + Size of end of central record (excluding variable fields) + + + + + Size of end of central record (excluding variable fields) + + + + + Size of 'classic' cryptographic header stored before any entry data + + + + + Size of cryptographic header stored before entry data + + + + + Signature for local entry header + + + + + Signature for local entry header + + + + + Signature for spanning entry + + + + + Signature for spanning entry + + + + + Signature for temporary spanning entry + + + + + Signature for temporary spanning entry + + + + + Signature for data descriptor + + + This is only used where the length, Crc, or compressed size isnt known when the + entry is created and the output stream doesnt support seeking. + The local entry cannot be 'patched' with the correct values in this case + so the values are recorded after the data prefixed by this header, as well as in the central directory. + + + + + Signature for data descriptor + + + This is only used where the length, Crc, or compressed size isnt known when the + entry is created and the output stream doesnt support seeking. + The local entry cannot be 'patched' with the correct values in this case + so the values are recorded after the data prefixed by this header, as well as in the central directory. + + + + + Signature for central header + + + + + Signature for central header + + + + + Signature for Zip64 central file header + + + + + Signature for Zip64 central file header + + + + + Signature for Zip64 central directory locator + + + + + Signature for archive extra data signature (were headers are encrypted). + + + + + Central header digitial signature + + + + + Central header digitial signature + + + + + End of central directory record signature + + + + + End of central directory record signature + + + + + Convert a portion of a byte array to a string. + + + Data to convert to string + + + Number of bytes to convert starting from index 0 + + + data[0]..data[length - 1] converted to a string + + + + + Convert a byte array to string + + + Byte array to convert + + + dataconverted to a string + + + + + Convert a byte array to string + + The applicable general purpose bits flags + + Byte array to convert + + The number of bytes to convert. + + dataconverted to a string + + + + + Convert a byte array to string + + + Byte array to convert + + The applicable general purpose bits flags + + dataconverted to a string + + + + + Convert a string to a byte array + + + String to convert to an array + + Converted array + + + + Convert a string to a byte array + + The applicable general purpose bits flags + + String to convert to an array + + Converted array + + + + Initialise default instance of ZipConstants + + + Private to prevent instances being created. + + + + + Default encoding used for string conversion. 0 gives the default system OEM code page. + Dont use unicode encodings if you want to be Zip compatible! + Using the default code page isnt the full solution neccessarily + there are many variable factors, codepage 850 is often a good choice for + European users, however be careful about compatability. + + + + + This is a DeflaterOutputStream that writes the files into a zip + archive one after another. It has a special method to start a new + zip entry. The zip entries contains information about the file name + size, compressed size, CRC, etc. + + It includes support for Stored and Deflated entries. + This class is not thread safe. +
+
Author of the original java version : Jochen Hoenicke +
+ This sample shows how to create a zip file + + using System; + using System.IO; + + using ICSharpCode.SharpZipLib.Core; + using ICSharpCode.SharpZipLib.Zip; + + class MainClass + { + public static void Main(string[] args) + { + string[] filenames = Directory.GetFiles(args[0]); + byte[] buffer = new byte[4096]; + + using ( ZipOutputStream s = new ZipOutputStream(File.Create(args[1])) ) { + + s.SetLevel(9); // 0 - store only to 9 - means best compression + + foreach (string file in filenames) { + ZipEntry entry = new ZipEntry(file); + s.PutNextEntry(entry); + + using (FileStream fs = File.OpenRead(file)) { + StreamUtils.Copy(fs, s, buffer); + } + } + } + } + } + + +
+ + + A special stream deflating or compressing the bytes that are + written to it. It uses a Deflater to perform actual deflating.
+ Authors of the original java version : Tom Tromey, Jochen Hoenicke +
+
+ + + Creates a new DeflaterOutputStream with a default Deflater and default buffer size. + + + the output stream where deflated output should be written. + + + + + Creates a new DeflaterOutputStream with the given Deflater and + default buffer size. + + + the output stream where deflated output should be written. + + + the underlying deflater. + + + + + Creates a new DeflaterOutputStream with the given Deflater and + buffer size. + + + The output stream where deflated output is written. + + + The underlying deflater to use + + + The buffer size to use when deflating + + + bufsize is less than or equal to zero. + + + baseOutputStream does not support writing + + + deflater instance is null + + + + + Finishes the stream by calling finish() on the deflater. + + + Not all input is deflated + + + + + Encrypt a block of data + + + Data to encrypt. NOTE the original contents of the buffer are lost + + + Offset of first byte in buffer to encrypt + + + Number of bytes in buffer to encrypt + + + + + Initializes encryption keys based on given password + + The password. + + + + Deflates everything in the input buffers. This will call + def.deflate() until all bytes from the input buffers + are processed. + + + + + Sets the current position of this stream to the given value. Not supported by this class! + + The offset relative to the to seek. + The to seek from. + The new position in the stream. + Any access + + + + Sets the length of this stream to the given value. Not supported by this class! + + The new stream length. + Any access + + + + Read a byte from stream advancing position by one + + The byte read cast to an int. THe value is -1 if at the end of the stream. + Any access + + + + Read a block of bytes from stream + + The buffer to store read data in. + The offset to start storing at. + The maximum number of bytes to read. + The actual number of bytes read. Zero if end of stream is detected. + Any access + + + + Asynchronous reads are not supported a NotSupportedException is always thrown + + The buffer to read into. + The offset to start storing data at. + The number of bytes to read + The async callback to use. + The state to use. + Returns an + Any access + + + + Asynchronous writes arent supported, a NotSupportedException is always thrown + + The buffer to write. + The offset to begin writing at. + The number of bytes to write. + The to use. + The state object. + Returns an IAsyncResult. + Any access + + + + Flushes the stream by calling Flush on the deflater and then + on the underlying stream. This ensures that all bytes are flushed. + + + + + Calls and closes the underlying + stream when is true. + + + + + Writes a single byte to the compressed output stream. + + + The byte value. + + + + + Writes bytes from an array to the compressed stream. + + + The byte array + + + The offset into the byte array where to start. + + + The number of bytes to write. + + + + + This buffer is used temporarily to retrieve the bytes from the + deflater and write them to the underlying output stream. + + + + + The deflater which is used to deflate the stream. + + + + + Base stream the deflater depends on. + + + + + Get/set flag indicating ownership of the underlying stream. + When the flag is true will close the underlying stream also. + + + + + Allows client to determine if an entry can be patched after its added + + + + + Get/set the password used for encryption. + + When set to null or if the password is empty no encryption is performed + + + + Gets value indicating stream can be read from + + + + + Gets a value indicating if seeking is supported for this stream + This property always returns false + + + + + Get value indicating if this stream supports writing + + + + + Get current length of stream + + + + + Gets the current position within the stream. + + Any attempt to set position + + + + Creates a new Zip output stream, writing a zip archive. + + + The output stream to which the archive contents are written. + + + + + Set the zip file comment. + + + The comment text for the entire archive. + + + The converted comment is longer than 0xffff bytes. + + + + + Sets the compression level. The new level will be activated + immediately. + + The new compression level (1 to 9). + + Level specified is not supported. + + + + + + Get the current deflater compression level + + The current compression level + + + + Write an unsigned short in little endian byte order. + + + + + Write an int in little endian byte order. + + + + + Write an int in little endian byte order. + + + + + Starts a new Zip entry. It automatically closes the previous + entry if present. + All entry elements bar name are optional, but must be correct if present. + If the compression method is stored and the output is not patchable + the compression for that entry is automatically changed to deflate level 0 + + + the entry. + + + if entry passed is null. + + + if an I/O error occured. + + + if stream was finished + + + Too many entries in the Zip file
+ Entry name is too long
+ Finish has already been called
+
+
+ + + Closes the current entry, updating header and footer information as required + + + An I/O error occurs. + + + No entry is active. + + + + + Writes the given buffer to the current entry. + + The buffer containing data to write. + The offset of the first byte to write. + The number of bytes to write. + Archive size is invalid + No entry is active. + + + + Finishes the stream. This will write the central directory at the + end of the zip file and flush the stream. + + + This is automatically called when the stream is closed. + + + An I/O error occurs. + + + Comment exceeds the maximum length
+ Entry name exceeds the maximum length +
+
+ + + The entries for the archive. + + + + + Used to track the crc of data added to entries. + + + + + The current entry being added. + + + + + Used to track the size of data for an entry during writing. + + + + + Offset to be recorded for each entry in the central header. + + + + + Comment for the entire archive recorded in central header. + + + + + Flag indicating that header patching is required for the current entry. + + + + + Position to patch crc + + + + + Position to patch size. + + + + + Gets a flag value of true if the central header has been added for this archive; false if it has not been added. + + No further entries can be added once this has been done. + + + + Get / set a value indicating how Zip64 Extension usage is determined when adding entries. + + Older archivers may not understand Zip64 extensions. + If backwards compatability is an issue be careful when adding entries to an archive. + Setting this property to off is workable but less desirable as in those circumstances adding a file + larger then 4GB will fail. + + + + INameTransform defines how file system names are transformed for use with archives. + + + + + Given a file name determine the transformed value. + + The name to transform. + The transformed file name. + + + + Given a directory name determine the transformed value. + + The name to transform. + The transformed directory name + + + + This class contains constants used for deflation. + + + + + Set to true to enable debugging + + + + + Written to Zip file to identify a stored block + + + + + Identifies static tree in Zip file + + + + + Identifies dynamic tree in Zip file + + + + + Header flag indicating a preset dictionary for deflation + + + + + Sets internal buffer sizes for Huffman encoding + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + Internal compression engine constant + + + + + This class stores the pending output of the Deflater. + + author of the original java version : Jochen Hoenicke + + + + + Construct instance with default buffer size + + + + + PathFilter filters directories and files using a form of regular expressions + by full path name. + See NameFilter for more detail on filtering. + + + + + Initialise a new instance of . + + The filter expression to apply. + + + + Test a name to see if it matches the filter. + + The name to test. + True if the name matches, false otherwise. + + + + ExtendedPathFilter filters based on name, file size, and the last write time of the file. + + Provides an example of how to customise filtering. + + + + Initialise a new instance of ExtendedPathFilter. + + The filter to apply. + The minimum file size to include. + The maximum file size to include. + + + + Initialise a new instance of ExtendedPathFilter. + + The filter to apply. + The minimum to include. + The maximum to include. + + + + Initialise a new instance of ExtendedPathFilter. + + The filter to apply. + The minimum file size to include. + The maximum file size to include. + The minimum to include. + The maximum to include. + + + + Test a filename to see if it matches the filter. + + The filename to test. + True if the filter matches, false otherwise. + + + + Get/set the minimum size for a file that will match this filter. + + + + + Get/set the maximum size for a file that will match this filter. + + + + + Get/set the minimum value that will match for this filter. + + Files with a LastWrite time less than this value are excluded by the filter. + + + + Get/set the maximum value that will match for this filter. + + Files with a LastWrite time greater than this value are excluded by the filter. + + + + NameAndSizeFilter filters based on name and file size. + + A sample showing how filters might be extended. + + + + Initialise a new instance of NameAndSizeFilter. + + The filter to apply. + The minimum file size to include. + The maximum file size to include. + + + + Test a filename to see if it matches the filter. + + The filename to test. + True if the filter matches, false otherwise. + + + + Get/set the minimum size for a file that will match this filter. + + + + + Get/set the maximum size for a file that will match this filter. + + + + + BZip2Exception represents exceptions specific to Bzip2 algorithm + + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initialise a new instance of BZip2Exception. + + + + + Initialise a new instance of BZip2Exception with its message set to message. + + The message describing the error. + + + + Initialise an instance of BZip2Exception + + A message describing the error. + The exception that is the cause of the current exception. + + + + GZipException represents a Gzip specific exception + + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initialise a new instance of GZipException + + + + + Initialise a new instance of GZipException with its message string. + + A that describes the error. + + + + Initialise a new instance of . + + A that describes the error. + The that caused this exception. + + + + Contains the output from the Inflation process. + We need to have a window so that we can refer backwards into the output stream + to repeat stuff.
+ Author of the original java version : John Leuner +
+
+ + + Write a byte to this output window + + value to write + + if window is full + + + + + Append a byte pattern already in the window itself + + length of pattern to copy + distance from end of window pattern occurs + + If the repeated data overflows the window + + + + + Copy from input manipulator to internal window + + source of data + length of data to copy + the number of bytes copied + + + + Copy dictionary to window + + source dictionary + offset of start in source dictionary + length of dictionary + + If window isnt empty + + + + + Get remaining unfilled space in window + + Number of bytes left in window + + + + Get bytes available for output in window + + Number of bytes filled + + + + Copy contents of window to output + + buffer to copy to + offset to start at + number of bytes to count + The number of bytes copied + + If a window underflow occurs + + + + + Reset by clearing window so GetAvailable returns 0 + + + + + Defines internal values for both compression and decompression + + + + + When multiplied by compression parameter (1-9) gives the block size for compression + 9 gives the best compresssion but uses the most memory. + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Backend constant + + + + + Random numbers used to randomise repetitive blocks + + + + + This filter stream is used to compress a stream into a "GZIP" stream. + The "GZIP" format is described in RFC 1952. + + author of the original java version : John Leuner + + This sample shows how to gzip a file + + using System; + using System.IO; + + using ICSharpCode.SharpZipLib.GZip; + using ICSharpCode.SharpZipLib.Core; + + class MainClass + { + public static void Main(string[] args) + { + using (Stream s = new GZipOutputStream(File.Create(args[0] + ".gz"))) + using (FileStream fs = File.OpenRead(args[0])) { + byte[] writeData = new byte[4096]; + Streamutils.Copy(s, fs, writeData); + } + } + } + } + + + + + + CRC-32 value for uncompressed data + + + + + Creates a GzipOutputStream with the default buffer size + + + The stream to read data (to be compressed) from + + + + + Creates a GZipOutputStream with the specified buffer size + + + The stream to read data (to be compressed) from + + + Size of the buffer to use + + + + + Sets the active compression level (1-9). The new level will be activated + immediately. + + The compression level to set. + + Level specified is not supported. + + + + + + Get the current compression level. + + The current compression level. + + + + Write given buffer to output updating crc + + Buffer to write + Offset of first byte in buf to write + Number of bytes to write + + + + Writes remaining compressed output data to the output stream + and closes it. + + + + + Finish compression and write any footer information required to stream + + + + + Arguments used with KeysRequiredEvent + + + + + Initialise a new instance of + + The name of the file for which keys are required. + + + + Initialise a new instance of + + The name of the file for which keys are required. + The current key value. + + + + Get the name of the file for which keys are required. + + + + + Get/set the key value + + + + + The strategy to apply to testing. + + + + + Find the first error only. + + + + + Find all possible errors. + + + + + The operation in progress reported by a during testing. + + TestArchive + + + + Setting up testing. + + + + + Testing an individual entries header + + + + + Testing an individual entries data + + + + + Testing an individual entry has completed. + + + + + Running miscellaneous tests + + + + + Testing is complete + + + + + Status returned returned by during testing. + + TestArchive + + + + Initialise a new instance of + + The this status applies to. + + + + Get the current in progress. + + + + + Get the this status is applicable to. + + + + + Get the current/last entry tested. + + + + + Get the number of errors detected so far. + + + + + Get the number of bytes tested so far for the current entry. + + + + + Get a value indicating wether the last entry test was valid. + + + + + Delegate invoked during testing if supplied indicating current progress and status. + + If the message is non-null an error has occured. If the message is null + the operation as found in status has started. + + + + The possible ways of applying updates to an archive. + + + + + Perform all updates on temporary files ensuring that the original file is saved. + + + + + Update the archive directly, which is faster but less safe. + + + + + This class represents a Zip archive. You can ask for the contained + entries, or get an input stream for a file entry. The entry is + automatically decompressed. + + You can also update the archive adding or deleting entries. + + This class is thread safe for input: You can open input streams for arbitrary + entries in different threads. +
+
Author of the original java version : Jochen Hoenicke +
+ + + using System; + using System.Text; + using System.Collections; + using System.IO; + + using ICSharpCode.SharpZipLib.Zip; + + class MainClass + { + static public void Main(string[] args) + { + using (ZipFile zFile = new ZipFile(args[0])) { + Console.WriteLine("Listing of : " + zFile.Name); + Console.WriteLine(""); + Console.WriteLine("Raw Size Size Date Time Name"); + Console.WriteLine("-------- -------- -------- ------ ---------"); + foreach (ZipEntry e in zFile) { + if ( e.IsFile ) { + DateTime d = e.DateTime; + Console.WriteLine("{0, -10}{1, -10}{2} {3} {4}", e.Size, e.CompressedSize, + d.ToString("dd-MM-yy"), d.ToString("HH:mm"), + e.Name); + } + } + } + } + } + + +
+ + + Event handler for handling encryption keys. + + + + + Handles getting of encryption keys when required. + + The file for which encryption keys are required. + + + + Opens a Zip file with the given name for reading. + + The name of the file to open. + + An i/o error occurs + + + The file doesn't contain a valid zip archive. + + + + + Opens a Zip file reading the given . + + The to read archive data from. + + An i/o error occurs. + + + The file doesn't contain a valid zip archive. + + + + + Opens a Zip file reading the given . + + The to read archive data from. + + An i/o error occurs + + + The file doesn't contain a valid zip archive.
+ The stream provided cannot seek +
+
+ + + Initialises a default instance with no entries and no file storage. + + + + + Finalize this instance. + + + + + Closes the ZipFile. If the stream is owned then this also closes the underlying input stream. + Once closed, no further instance methods should be called. + + + An i/o error occurs. + + + + + Create a new whose data will be stored in a file. + + The name of the archive to create. + Returns the newly created + + + + Create a new whose data will be stored on a stream. + + The stream providing data storage. + Returns the newly created + + + + Gets an enumerator for the Zip entries in this Zip file. + + Returns an for this archive. + + The Zip file has been closed. + + + + + Return the index of the entry with a matching name + + Entry name to find + If true the comparison is case insensitive + The index position of the matching entry or -1 if not found + + The Zip file has been closed. + + + + + Searches for a zip entry in this archive with the given name. + String comparisons are case insensitive + + + The name to find. May contain directory components separated by slashes ('/'). + + + A clone of the zip entry, or null if no entry with that name exists. + + + The Zip file has been closed. + + + + + Gets an input stream for reading the given zip entry data in an uncompressed form. + Normally the should be an entry returned by GetEntry(). + + The to obtain a data for + An input containing data for this + + The ZipFile has already been closed + + + The compression method for the entry is unknown + + + The entry is not found in the ZipFile + + + + + Creates an input stream reading a zip entry + + The index of the entry to obtain an input stream for. + + An input containing data for this + + + The ZipFile has already been closed + + + The compression method for the entry is unknown + + + The entry is not found in the ZipFile + + + + + Test an archive for integrity/validity + + Perform low level data Crc check + true if all tests pass, false otherwise + Testing will terminate on the first error found. + + + + Test an archive for integrity/validity + + Perform low level data Crc check + The to apply. + The handler to call during testing. + true if all tests pass, false otherwise + + + + Test a local header against that provided from the central directory + + + The entry to test against + + The type of tests to carry out. + The offset of the entries data in the file + + + + Begin updating this archive. + + The archive storage for use during the update. + The data source to utilise during updating. + + + + Begin updating to this archive. + + The storage to use during the update. + + + + Begin updating this archive. + + + + + + + + Commit current updates, updating this archive. + + + + + + + Abort updating leaving the archive unchanged. + + + + + + + Set the file comment to be recorded when the current update is commited. + + The comment to record. + + + + Add a new entry to the archive. + + The name of the file to add. + The compression method to use. + Ensure Unicode text is used for name and comment for this entry. + + + + Add a new entry to the archive. + + The name of the file to add. + The compression method to use. + + + + Add a file to the archive. + + The name of the file to add. + + + + Add a file entry with data. + + The source of the data for this entry. + The name to give to the entry. + + + + Add a file entry with data. + + The source of the data for this entry. + The name to give to the entry. + The compression method to use. + + + + Add a file entry with data. + + The source of the data for this entry. + The name to give to the entry. + The compression method to use. + Ensure Unicode text is used for name and comments for this entry. + + + + Add a that contains no data. + + The entry to add. + This can be used to add directories, volume labels, or empty file entries. + + + + Add a directory entry to the archive. + + The directory to add. + + + + Delete an entry by name + + The filename to delete + True if the entry was found and deleted; false otherwise. + + + + Delete a from the archive. + + The entry to delete. + + + + Write an unsigned short in little endian byte order. + + + + + Write an int in little endian byte order. + + + + + Write an unsigned int in little endian byte order. + + + + + Write a long in little endian byte order. + + + + + Get a raw memory buffer. + + Returns a raw memory buffer. + + + + Get the size of the source descriptor for a . + + The update to get the size for. + The descriptor size, zero if there isnt one. + + + + Get an output stream for the specified + + The entry to get an output stream for. + The output stream obtained for the entry. + + + + Releases the unmanaged resources used by the this instance and optionally releases the managed resources. + + true to release both managed and unmanaged resources; + false to release only unmanaged resources. + + + + Read an unsigned short in little endian byte order. + + Returns the value read. + + The stream ends prematurely + + + + + Read a uint in little endian byte order. + + Returns the value read. + + An i/o error occurs. + + + The file ends prematurely + + + + + Search for and read the central directory of a zip file filling the entries array. + + + An i/o error occurs. + + + The central directory is malformed or cannot be found + + + + + Locate the data for a given entry. + + + The start offset of the data. + + + The stream ends prematurely + + + The local header signature is invalid, the entry and central header file name lengths are different + or the local and entry compression methods dont match + + + + + Get/set the encryption key value. + + + + + Password to be used for encrypting/decrypting files. + + Set to null if no password is required. + + + + Get a value indicating wether encryption keys are currently available. + + + + + Get/set a flag indicating if the underlying stream is owned by the ZipFile instance. + If the flag is true then the stream will be closed when Close is called. + + + The default value is true in all cases. + + + + + Get a value indicating wether + this archive is embedded in another file or not. + + + + + Get a value indicating that this archive is a new one. + + + + + Gets the comment for the zip file. + + + + + Gets the name of this zip file. + + + + + Gets the number of entries in this zip file. + + + The Zip file has been closed. + + + + + Get the number of entries contained in this . + + + + + Indexer property for ZipEntries + + + + + Get / set the to apply to names when updating. + + + + + Get/set the used to generate values + during updates. + + + + + Get /set the buffer size to be used when updating this zip file. + + + + + Get a value indicating an update has been started. + + + + + Get / set a value indicating how Zip64 Extension usage is determined when adding entries. + + + + + Delegate for handling keys/password setting during compresion/decompression. + + + + + The kind of update to apply. + + + + + Class used to sort updates. + + + + + Compares two objects and returns a value indicating whether one is + less than, equal to or greater than the other. + + First object to compare + Second object to compare. + Compare result. + + + + Represents a pending update to a Zip file. + + + + + Copy an existing entry. + + The existing entry to copy. + + + + Get the for this update. + + This is the source or original entry. + + + + Get the that will be written to the updated/new file. + + + + + Get the command for this update. + + + + + Get the filename if any for this update. Null if none exists. + + + + + Get/set the location of the size patch for this update. + + + + + Get /set the location of the crc patch for this update. + + + + + Represents a string from a which is stored as an array of bytes. + + + + + Initialise a with a string. + + The textual string form. + + + + Initialise a using a string in its binary 'raw' form. + + + + + + Reset the comment to its initial state. + + + + + Implicit conversion of comment to a string. + + The to convert to a string. + The textual equivalent for the input value. + + + + Get a value indicating the original source of data for this instance. + True if the source was a string; false if the source was binary data. + + + + + Get the length of the comment when represented as raw bytes. + + + + + Get the comment in its 'raw' form as plain bytes. + + + + + An enumerator for Zip entries + + + + + An is a stream that you can write uncompressed data + to and flush, but cannot read, seek or do anything else to. + + + + + Close this stream instance. + + + + + Write any buffered data to underlying storage. + + + + + Gets a value indicating whether the current stream supports reading. + + + + + Gets a value indicating whether the current stream supports writing. + + + + + Gets a value indicating whether the current stream supports seeking. + + + + + Get the length in bytes of the stream. + + + + + Gets or sets the position within the current stream. + + + + + A is an + whose data is only a part or subsection of a file. + + + + + This filter stream is used to decompress data compressed using the "deflate" + format. The "deflate" format is described in RFC 1951. + + This stream may form the basis for other decompression filters, such + as the GZipInputStream. + + Author of the original java version : John Leuner. + + + + + Create an InflaterInputStream with the default decompressor + and a default buffer size of 4KB. + + + The InputStream to read bytes from + + + + + Create an InflaterInputStream with the specified decompressor + and a default buffer size of 4KB. + + + The source of input data + + + The decompressor used to decompress data read from baseInputStream + + + + + Create an InflaterInputStream with the specified decompressor + and the specified buffer size. + + + The InputStream to read bytes from + + + The decompressor to use + + + Size of the buffer to use + + + + + Skip specified number of bytes of uncompressed data + + + Number of bytes to skip + + + The number of bytes skipped, zero if the end of + stream has been reached + + + Number of bytes to skip is less than zero + + + + + Clear any cryptographic state. + + + + + Fills the buffer with more data to decompress. + + + Stream ends early + + + + + Flushes the baseInputStream + + + + + Sets the position within the current stream + Always throws a NotSupportedException + + The relative offset to seek to. + The defining where to seek from. + The new position in the stream. + Any access + + + + Set the length of the current stream + Always throws a NotSupportedException + + The new length value for the stream. + Any access + + + + Writes a sequence of bytes to stream and advances the current position + This method always throws a NotSupportedException + + Thew buffer containing data to write. + The offset of the first byte to write. + The number of bytes to write. + Any access + + + + Writes one byte to the current stream and advances the current position + Always throws a NotSupportedException + + The byte to write. + Any access + + + + Entry point to begin an asynchronous write. Always throws a NotSupportedException. + + The buffer to write data from + Offset of first byte to write + The maximum number of bytes to write + The method to be called when the asynchronous write operation is completed + A user-provided object that distinguishes this particular asynchronous write request from other requests + An IAsyncResult that references the asynchronous write + Any access + + + + Closes the input stream. When + is true the underlying stream is also closed. + + + + + Reads decompressed data into the provided buffer byte array + + + The array to read and decompress data into + + + The offset indicating where the data should be placed + + + The number of bytes to decompress + + The number of bytes read. Zero signals the end of stream + + Inflater needs a dictionary + + + + + Decompressor for this stream + + + + + Input buffer for this stream. + + + + + Base stream the inflater reads from. + + + + + The compressed size + + + + + Flag indicating wether this instance has been closed or not. + + + + + Flag indicating wether this instance is designated the stream owner. + When closing if this flag is true the underlying stream is closed. + + + + + Get/set flag indicating ownership of underlying stream. + When the flag is true will close the underlying stream also. + + + The default value is true. + + + + + Returns 0 once the end of the stream (EOF) has been reached. + Otherwise returns 1. + + + + + Gets a value indicating whether the current stream supports reading + + + + + Gets a value of false indicating seeking is not supported for this stream. + + + + + Gets a value of false indicating that this stream is not writeable. + + + + + A value representing the length of the stream in bytes. + + + + + The current position within the stream. + Throws a NotSupportedException when attempting to set the position + + Attempting to set the position + + + + Initialise a new instance of the class. + + The underlying stream to use for IO. + The start of the partial data. + The length of the partial data. + + + + Skip the specified number of input bytes. + + The maximum number of input bytes to skip. + The actuial number of input bytes skipped. + + + + Read a byte from this stream. + + Returns the byte read or -1 on end of stream. + + + + Close this partial input stream. + + + The underlying stream is not closed. Close the parent ZipFile class to do that. + + + + + Provides a static way to obtain a source of data for an entry. + + + + + Get a source of data by creating a new stream. + + Returns a to use for compression input. + Ideally a new stream is created and opened to achieve this, to avoid locking problems. + + + + Represents a source of data that can dynamically provide + multiple data sources based on the parameters passed. + + + + + Get a data source. + + The to get a source for. + The name for data if known. + Returns a to use for compression input. + Ideally a new stream is created and opened to achieve this, to avoid locking problems. + + + + Default implementation of a for use with files stored on disk. + + + + + Initialise a new instnace of + + The name of the file to obtain data from. + + + + Get a providing data. + + Returns a provising data. + + + + Default implementation of for files stored on disk. + + + + + Initialise a default instance of . + + + + + Get a providing data for an entry. + + The entry to provide data for. + The file name for data if known. + Returns a stream providing data; or null if not available + + + + Defines facilities for data storage when updating Zip Archives. + + + + + Get an empty that can be used for temporary output. + + Returns a temporary output + + + + + Convert a temporary output stream to a final stream. + + The resulting final + + + + + Make a temporary copy of the original stream. + + The to copy. + Returns a temporary output that is a copy of the input. + + + + Return a stream suitable for performing direct updates on the original source. + + The current stream. + Returns a stream suitable for direct updating. + This may be the current stream passed. + + + + Dispose of this instance. + + + + + Get the to apply during updates. + + + + + An abstract suitable for extension by inheritance. + + + + + Initializes a new instance of the class. + + The update mode. + + + + Gets a temporary output + + Returns the temporary output stream. + + + + + Converts the temporary to its final form. + + Returns a that can be used to read + the final storage for the archive. + + + + + Make a temporary copy of a . + + The to make a copy of. + Returns a temporary output that is a copy of the input. + + + + Return a stream suitable for performing direct updates on the original source. + + The to open for direct update. + Returns a stream suitable for direct updating. + + + + Disposes this instance. + + + + + Gets the update mode applicable. + + The update mode. + + + + An implementation suitable for hard disks. + + + + + Initializes a new instance of the class. + + The file. + The update mode. + + + + Initializes a new instance of the class. + + The file. + + + + Gets a temporary output for performing updates on. + + Returns the temporary output stream. + + + + Converts a temporary to its final form. + + Returns a that can be used to read + the final storage for the archive. + + + + Make a temporary copy of a stream. + + The to copy. + Returns a temporary output that is a copy of the input. + + + + Return a stream suitable for performing direct updates on the original source. + + The current stream. + Returns a stream suitable for direct updating. + If the stream is not null this is used as is. + + + + Disposes this instance. + + + + + An implementation suitable for in memory streams. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + The to use + This constructor is for testing as memory streams dont really require safe mode. + + + + Gets the temporary output + + Returns the temporary output stream. + + + + Converts the temporary to its final form. + + Returns a that can be used to read + the final storage for the archive. + + + + Make a temporary copy of the original stream. + + The to copy. + Returns a temporary output that is a copy of the input. + + + + Return a stream suitable for performing direct updates on the original source. + + The original source stream + Returns a stream suitable for direct updating. + If the passed is not null this is used; + otherwise a new is returned. + + + + Disposes this instance. + + + + + Get the stream returned by if this was in fact called. + + + + + Generate a table for a byte-wise 32-bit CRC calculation on the polynomial: + x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1. + + Polynomials over GF(2) are represented in binary, one bit per coefficient, + with the lowest powers in the most significant bit. Then adding polynomials + is just exclusive-or, and multiplying a polynomial by x is a right shift by + one. If we call the above polynomial p, and represent a byte as the + polynomial q, also with the lowest power in the most significant bit (so the + byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p, + where a mod b means the remainder after dividing a by b. + + This calculation is done using the shift-register method of multiplying and + taking the remainder. The register is initialized to zero, and for each + incoming bit, x^32 is added mod p to the register if the bit is a one (where + x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by + x (which is shifting right by one and adding x^32 mod p if the bit shifted + out is a one). We start with the highest power (least significant bit) of + q and repeat for all eight bits of q. + + The table is simply the CRC of all possible eight bit values. This is all + the information needed to generate CRC's on data a byte at a time for all + combinations of CRC register values and incoming bytes. + + + + + Interface to compute a data checksum used by checked input/output streams. + A data checksum can be updated by one byte or with a byte array. After each + update the value of the current checksum can be returned by calling + getValue. The complete checksum object can also be reset + so it can be used again with new data. + + + + + Resets the data checksum as if no update was ever called. + + + + + Adds one byte to the data checksum. + + + the data value to add. The high byte of the int is ignored. + + + + + Updates the data checksum with the bytes taken from the array. + + + buffer an array of bytes + + + + + Adds the byte array to the data checksum. + + + The buffer which contains the data + + + The offset in the buffer where the data starts + + + the number of data bytes to add. + + + + + Returns the data checksum computed so far. + + + + + The crc data checksum so far. + + + + + Resets the CRC32 data checksum as if no update was ever called. + + + + + Updates the checksum with the int bval. + + + the byte is taken as the lower 8 bits of value + + + + + Updates the checksum with the bytes taken from the array. + + + buffer an array of bytes + + + + + Adds the byte array to the data checksum. + + + The buffer which contains the data + + + The offset in the buffer where the data starts + + + The number of data bytes to update the CRC with. + + + + + Returns the CRC32 data checksum computed so far. + + + + + Basic implementation of + + + + + Defines factory methods for creating new values. + + + + + Create a for a file given its name + + The name of the file to create an entry for. + Returns a file entry based on the passed. + + + + Create a for a file given its name + + The name of the file to create an entry for. + If true get details from the file system if the file exists. + Returns a file entry based on the passed. + + + + Create a for a directory given its name + + The name of the directory to create an entry for. + Returns a directory entry based on the passed. + + + + Create a for a directory given its name + + The name of the directory to create an entry for. + If true get details from the file system for this directory if it exists. + Returns a directory entry based on the passed. + + + + Get/set the applicable. + + + + + Initialise a new instance of the class. + + A default , and the LastWriteTime for files is used. + + + + Initialise a new instance of using the specified + + The time setting to use when creating Zip entries. + + + + Initialise a new instance of using the specified + + The time to set all values to. + + + + Make a new for a file. + + The name of the file to create a new entry for. + Returns a new based on the . + + + + Make a new from a name. + + The name of the file to create a new entry for. + If true entry detail is retrieved from the file system if the file exists. + Returns a new based on the . + + + + Make a new for a directory. + + The raw untransformed name for the new directory + Returns a new representing a directory. + + + + Make a new for a directory. + + The raw untransformed name for the new directory + If true entry detail is retrieved from the file system if the file exists. + Returns a new representing a directory. + + + + Get / set the to be used when creating new values. + + + Setting this property to null will cause a default name transform to be used. + + + + + Get / set the in use. + + + + + Get / set the value to use when is set to + + + + + A bitmask defining the attributes to be retrieved from the actual file. + + The default is to get all possible attributes from the actual file. + + + + A bitmask defining which attributes are to be set on. + + By default no attributes are set on. + + + + Get set a value indicating wether unidoce text should be set on. + + + + + Defines the possible values to be used for the . + + + + + Use the recorded LastWriteTime value for the file. + + + + + Use the recorded LastWriteTimeUtc value for the file + + + + + Use the recorded CreateTime value for the file. + + + + + Use the recorded CreateTimeUtc value for the file. + + + + + Use the recorded LastAccessTime value for the file. + + + + + Use the recorded LastAccessTimeUtc value for the file. + + + + + Use a fixed value. + + The actual value used can be + specified via the constructor or + using the with the setting set + to which will use the when this class was constructed. + The property can also be used to set this value. + + + + PkzipClassic embodies the classic or original encryption facilities used in Pkzip archives. + While it has been superceded by more recent and more powerful algorithms, its still in use and + is viable for preventing casual snooping + + + + + Generates new encryption keys based on given seed + + The seed value to initialise keys with. + A new key value. + + + + PkzipClassicCryptoBase provides the low level facilities for encryption + and decryption using the PkzipClassic algorithm. + + + + + Transform a single byte + + + The transformed value + + + + + Set the key schedule for encryption/decryption. + + The data use to set the keys from. + + + + Update encryption keys + + + + + Reset the internal state. + + + + + PkzipClassic CryptoTransform for encryption. + + + + + Initialise a new instance of + + The key block to use. + + + + Transforms the specified region of the specified byte array. + + The input for which to compute the transform. + The offset into the byte array from which to begin using data. + The number of bytes in the byte array to use as data. + The computed transform. + + + + Transforms the specified region of the input byte array and copies + the resulting transform to the specified region of the output byte array. + + The input for which to compute the transform. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write the transform. + The offset into the output byte array from which to begin writing data. + The number of bytes written. + + + + Cleanup internal state. + + + + + Gets a value indicating whether the current transform can be reused. + + + + + Gets the size of the input data blocks in bytes. + + + + + Gets the size of the output data blocks in bytes. + + + + + Gets a value indicating whether multiple blocks can be transformed. + + + + + PkzipClassic CryptoTransform for decryption. + + + + + Initialise a new instance of . + + The key block to decrypt with. + + + + Transforms the specified region of the specified byte array. + + The input for which to compute the transform. + The offset into the byte array from which to begin using data. + The number of bytes in the byte array to use as data. + The computed transform. + + + + Transforms the specified region of the input byte array and copies + the resulting transform to the specified region of the output byte array. + + The input for which to compute the transform. + The offset into the input byte array from which to begin using data. + The number of bytes in the input byte array to use as data. + The output to which to write the transform. + The offset into the output byte array from which to begin writing data. + The number of bytes written. + + + + Cleanup internal state. + + + + + Gets a value indicating whether the current transform can be reused. + + + + + Gets the size of the input data blocks in bytes. + + + + + Gets the size of the output data blocks in bytes. + + + + + Gets a value indicating whether multiple blocks can be transformed. + + + + + Defines a wrapper object to access the Pkzip algorithm. + This class cannot be inherited. + + + + + Generate an initial vector. + + + + + Generate a new random key. + + + + + Create an encryptor. + + The key to use for this encryptor. + Initialisation vector for the new encryptor. + Returns a new PkzipClassic encryptor + + + + Create a decryptor. + + Keys to use for this new decryptor. + Initialisation vector for the new decryptor. + Returns a new decryptor. + + + + Get / set the applicable block size in bits. + + The only valid block size is 8. + + + + Get an array of legal key sizes. + + + + + Get an array of legal block sizes. + + + + + Get / set the key value applicable. + + + + + This class represents an entry in a Tar archive. It consists + of the entry's header, as well as the entry's File. Entries + can be instantiated in one of three ways, depending on how + they are to be used. +

+ TarEntries that are created from the header bytes read from + an archive are instantiated with the TarEntry( byte[] ) + constructor. These entries will be used when extracting from + or listing the contents of an archive. These entries have their + header filled in using the header bytes. They also set the File + to null, since they reference an archive entry not a file.

+

+ TarEntries that are created from files that are to be written + into an archive are instantiated with the CreateEntryFromFile(string) + pseudo constructor. These entries have their header filled in using + the File's information. They also keep a reference to the File + for convenience when writing entries.

+

+ Finally, TarEntries can be constructed from nothing but a name. + This allows the programmer to construct the entry by hand, for + instance when only an InputStream is available for writing to + the archive, and the header information is constructed from + other information. In this case the header fields are set to + defaults and the File is set to null.

+ +
+
+ + + Initialise a default instance of . + + + + + Construct an entry from an archive's header bytes. File is set + to null. + + + The header bytes from a tar archive entry. + + + + + Construct a TarEntry using the header provided + + Header details for entry + + + + Clone this tar entry. + + Returns a clone of this entry. + + + + Construct an entry with only a name. + This allows the programmer to construct the entry's header "by hand". + + The name to use for the entry + Returns the newly created + + + + Construct an entry for a file. File is set to file, and the + header is constructed from information from the file. + + The file name that the entry represents. + Returns the newly created + + + + Determine if the two entries are equal. Equality is determined + by the header names being equal. + + The to compare with the current Object. + + True if the entries are equal; false if not. + + + + + Derive a Hash value for the current + + A Hash code for the current + + + + Determine if the given entry is a descendant of this entry. + Descendancy is determined by the name of the descendant + starting with this entry's name. + + + Entry to be checked as a descendent of this. + + + True if entry is a descendant of this. + + + + + Convenience method to set this entry's group and user ids. + + + This entry's new user id. + + + This entry's new group id. + + + + + Convenience method to set this entry's group and user names. + + + This entry's new user name. + + + This entry's new group name. + + + + + Fill in a TarHeader with information from a File. + + + The TarHeader to fill in. + + + The file from which to get the header information. + + + + + Get entries for all files present in this entries directory. + If this entry doesnt represent a directory zero entries are returned. + + + An array of TarEntry's for this entry's children. + + + + + Write an entry's header information to a header buffer. + + + The tar entry header buffer to fill in. + + + + + Convenience method that will modify an entry's name directly + in place in an entry header buffer byte array. + + + The buffer containing the entry header to modify. + + + The new name to place into the header buffer. + + + + + Fill in a TarHeader given only the entry's name. + + + The TarHeader to fill in. + + + The tar entry name. + + + + + The name of the file this entry represents or null if the entry is not based on a file. + + + + + The entry's header information. + + + + + Get this entry's header. + + + This entry's TarHeader. + + + + + Get/Set this entry's name. + + + + + Get/set this entry's user id. + + + + + Get/set this entry's group id. + + + + + Get/set this entry's user name. + + + + + Get/set this entry's group name. + + + + + Get/Set the modification time for this entry + + + + + Get this entry's file. + + + This entry's file. + + + + + Get/set this entry's recorded file size. + + + + + Return true if this entry represents a directory, false otherwise + + + True if this entry is a directory. + + + + + This filter stream is used to decompress a "GZIP" format stream. + The "GZIP" format is described baseInputStream RFC 1952. + + author of the original java version : John Leuner + + This sample shows how to unzip a gzipped file + + using System; + using System.IO; + + using ICSharpCode.SharpZipLib.Core; + using ICSharpCode.SharpZipLib.GZip; + + class MainClass + { + public static void Main(string[] args) + { + using (Stream inStream = new GZipInputStream(File.OpenRead(args[0]))) + using (FileStream outStream = File.Create(Path.GetFileNameWithoutExtension(args[0]))) { + byte[] buffer = new byte[4096]; + StreamUtils.Copy(inStream, outStream, buffer); + } + } + } + + + + + + CRC-32 value for uncompressed data + + + + + Indicates end of stream + + + + + Creates a GZipInputStream with the default buffer size + + + The stream to read compressed data from (baseInputStream GZIP format) + + + + + Creates a GZIPInputStream with the specified buffer size + + + The stream to read compressed data from (baseInputStream GZIP format) + + + Size of the buffer to use + + + + + Reads uncompressed data into an array of bytes + + + The buffer to read uncompressed data into + + + The offset indicating where the data should be placed + + + The number of uncompressed bytes to be read + + Returns the number of bytes actually read. + + + + Provides simple " utilities. + + + + + Read from a ensuring all the required data is read. + + The stream to read. + The buffer to fill. + + + + Read from a " ensuring all the required data is read. + + The stream to read data from. + The buffer to store data in. + The offset at which to begin storing data. + The number of bytes of data to store. + + + + Copy the contents of one to another. + + The stream to source data from. + The stream to write data to. + The buffer to use during copying. + The progress handler delegate to use. + The minimum between progress updates. + The source for this event. + The name to use with the event. + + + + Copy the contents of one to another. + + The stream to source data from. + The stream to write data to. + The buffer to use during copying. + + + + Initialise an instance of + + + + + This is the DeflaterHuffman class. + + This class is not thread safe. This is inherent in the API, due + to the split of Deflate and SetInput. + + author of the original java version : Jochen Hoenicke + + + + + Pending buffer to use + + + + + Construct instance with pending buffer + + Pending buffer to use + + + + Reset internal state + + + + + Write all trees to pending buffer + + The number/rank of treecodes to send. + + + + Compress current buffer writing data to pending buffer + + + + + Flush block to output with no compression + + Data to write + Index of first byte to write + Count of bytes to write + True if this is the last block + + + + Flush block to output with compression + + Data to flush + Index of first byte to flush + Count of bytes to flush + True if this is the last block + + + + Get value indicating if internal buffer is full + + true if buffer is full + + + + Add literal to buffer + + Literal value to add to buffer. + Value indicating internal buffer is full + + + + Add distance code and length to literal and distance trees + + Distance code + Length + Value indicating if internal buffer is full + + + + Reverse the bits of a 16 bit value. + + Value to reverse bits + Value with bits reversed + + + + Resets the internal state of the tree + + + + + Check that all frequencies are zero + + + At least one frequency is non-zero + + + + + Set static codes and length + + new codes + length for new codes + + + + Build dynamic codes and lengths + + + + + Get encoded length + + Encoded length, the sum of frequencies * lengths + + + + Scan a literal or distance tree to determine the frequencies of the codes + in the bit length tree. + + + + + Write tree values + + Tree to write + + + + This class contains constants used for gzip. + + + + + Magic number found at start of GZIP header + + + + + Flag bit mask for text + + + + + Flag bitmask for Crc + + + + + Flag bit mask for extra + + + + + flag bitmask for name + + + + + flag bit mask indicating comment is present + + + + + Initialise default instance. + + Constructor is private to prevent instances being created. + + + + TarExceptions are used for exceptions specific to tar classes and code. + + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initialises a new instance of the TarException class. + + + + + Initialises a new instance of the TarException class with a specified message. + + The message that describes the error. + + + + + + A message describing the error. + The exception that is the cause of the current exception. + + + + Bzip2 checksum algorithm + + + + + Initialise a default instance of + + + + + Reset the state of Crc. + + + + + Update the Crc value. + + data update is based on + + + + Update Crc based on a block of data + + The buffer containing data to update the crc with. + + + + Update Crc based on a portion of a block of data + + block of data + index of first byte to use + number of bytes to use + + + + Get the current Crc value. + + + + + This is an InflaterInputStream that reads the files baseInputStream an zip archive + one after another. It has a special method to get the zip entry of + the next file. The zip entry contains information about the file name + size, compressed size, Crc, etc. + It includes support for Stored and Deflated entries. +
+
Author of the original java version : Jochen Hoenicke +
+ + This sample shows how to read a zip file + + using System; + using System.Text; + using System.IO; + + using ICSharpCode.SharpZipLib.Zip; + + class MainClass + { + public static void Main(string[] args) + { + using ( ZipInputStream s = new ZipInputStream(File.OpenRead(args[0]))) { + + ZipEntry theEntry; + while ((theEntry = s.GetNextEntry()) != null) { + int size = 2048; + byte[] data = new byte[2048]; + + Console.Write("Show contents (y/n) ?"); + if (Console.ReadLine() == "y") { + while (true) { + size = s.Read(data, 0, data.Length); + if (size > 0) { + Console.Write(new ASCIIEncoding().GetString(data, 0, size)); + } else { + break; + } + } + } + } + } + } + } + + +
+ + + The current reader this instance. + + + + + Creates a new Zip input stream, for reading a zip archive. + + The underlying providing data. + + + + Advances to the next entry in the archive + + + The next entry in the archive or null if there are no more entries. + + + If the previous entry is still open CloseEntry is called. + + + Input stream is closed + + + Password is not set, password is invalid, compression method is invalid, + version required to extract is not supported + + + + + Read data descriptor at the end of compressed data. + + + + + Complete cleanup as the final part of closing. + + True if the crc value should be tested + + + + Closes the current zip entry and moves to the next one. + + + The stream is closed + + + The Zip stream ends early + + + + + Reads a byte from the current zip entry. + + + The byte or -1 if end of stream is reached. + + + + + Handle attempts to read by throwing an . + + The destination array to store data in. + The offset at which data read should be stored. + The maximum number of bytes to read. + Returns the number of bytes actually read. + + + + Handle attempts to read from this entry by throwing an exception + + + + + Perform the initial read on an entry which may include + reading encryption headers and setting up inflation. + + The destination to fill with data read. + The offset to start reading at. + The maximum number of bytes to read. + The actual number of bytes read. + + + + Read a block of bytes from the stream. + + The destination for the bytes. + The index to start storing data. + The number of bytes to attempt to read. + Returns the number of bytes read. + Zero bytes read means end of stream. + + + + Reads a block of bytes from the current zip entry. + + + The number of bytes read (this may be less than the length requested, even before the end of stream), or 0 on end of stream. + + + An i/o error occured. + + + The deflated stream is corrupted. + + + The stream is not open. + + + + + Closes the zip input stream + + + + + Optional password used for encryption when non-null + + A password for all encrypted entries in this + + + + Gets a value indicating if there is a current entry and it can be decompressed + + + The entry can only be decompressed if the library supports the zip features required to extract it. + See the ZipEntry Version property for more details. + + + + + Returns 1 if there is an entry available + Otherwise returns 0. + + + + + Returns the current size that can be read from the current entry if available + + Thrown if the entry size is not known. + Thrown if no entry is currently available. + + + + ZipNameTransform transforms names as per the Zip file naming convention. + + The use of absolute names is supported although its use is not valid + according to Zip naming conventions, and should not be used if maximum compatability is desired. + + + + Initialize a new instance of + + + + + Initialize a new instance of + + The string to trim from front of paths if found. + + + + Static constructor. + + + + + Transform a directory name according to the Zip file naming conventions. + + The directory name to transform. + The transformed name. + + + + Transform a windows file name according to the Zip file naming conventions. + + The file name to transform. + The transformed name. + + + + Force a name to be valid by replacing invalid characters with a fixed value + + The name to force valid + The replacement character to use. + Returns a valid name + + + + Test a name to see if it is a valid name for a zip entry. + + The name to test. + If true checking is relaxed about windows file names and absolute paths. + Returns true if the name is a valid zip name; false otherwise. + Zip path names are actually in Unix format, and should only contain relative paths. + This means that any path stored should not contain a drive or + device letter, or a leading slash. All slashes should forward slashes '/'. + An empty name is valid for a file where the input comes from standard input. + A null name is not considered valid. + + + + + Test a name to see if it is a valid name for a zip entry. + + The name to test. + Returns true if the name is a valid zip name; false otherwise. + Zip path names are actually in unix format, + and should only contain relative paths if a path is present. + This means that the path stored should not contain a drive or + device letter, or a leading slash. All slashes should forward slashes '/'. + An empty name is valid where the input comes from standard input. + A null name is not considered valid. + + + + + Get/set the path prefix to be trimmed from paths if present. + + The prefix is trimmed before any conversion from + a windows path is done. + + + + This exception is used to indicate that there is a problem + with a TAR archive header. + + + + + Deserialization constructor + + for this constructor + for this constructor + + + + Initialise a new instance of the InvalidHeaderException class. + + + + + Initialises a new instance of the InvalidHeaderException class with a specified message. + + Message describing the exception cause. + + + + Initialise a new instance of InvalidHeaderException + + Message describing the problem. + The exception that is the cause of the current exception. + + + + This class allows us to retrieve a specified number of bits from + the input buffer, as well as copy big byte blocks. + + It uses an int buffer to store up to 31 bits for direct + manipulation. This guarantees that we can get at least 16 bits, + but we only need at most 15, so this is all safe. + + There are some optimizations in this class, for example, you must + never peek more than 8 bits more than needed, and you must first + peek bits before you may drop them. This is not a general purpose + class but optimized for the behaviour of the Inflater. + + authors of the original java version : John Leuner, Jochen Hoenicke + + + + + Constructs a default StreamManipulator with all buffers empty + + + + + Get the next sequence of bits but don't increase input pointer. bitCount must be + less or equal 16 and if this call succeeds, you must drop + at least n - 8 bits in the next call. + + The number of bits to peek. + + the value of the bits, or -1 if not enough bits available. */ + + + + + Drops the next n bits from the input. You should have called PeekBits + with a bigger or equal n before, to make sure that enough bits are in + the bit buffer. + + The number of bits to drop. + + + + Gets the next n bits and increases input pointer. This is equivalent + to followed by , except for correct error handling. + + The number of bits to retrieve. + + the value of the bits, or -1 if not enough bits available. + + + + + Skips to the next byte boundary. + + + + + Copies bytes from input buffer to output buffer starting + at output[offset]. You have to make sure, that the buffer is + byte aligned. If not enough bytes are available, copies fewer + bytes. + + + The buffer to copy bytes to. + + + The offset in the buffer at which copying starts + + + The length to copy, 0 is allowed. + + + The number of bytes copied, 0 if no bytes were available. + + + Length is less than zero + + + Bit buffer isnt byte aligned + + + + + Resets state and empties internal buffers + + + + + Add more input for consumption. + Only call when IsNeedingInput returns true + + data to be input + offset of first byte of input + number of bytes of input to add. + + + + Gets the number of bits available in the bit buffer. This must be + only called when a previous PeekBits() returned -1. + + + the number of bits available. + + + + + Gets the number of bytes available. + + + The number of bytes available. + + + + + Returns true when SetInput can be called + + + + + Strategies for deflater + + + + + The default strategy + + + + + This strategy will only allow longer string repetitions. It is + useful for random data with a small character set. + + + + + This strategy will not look for string repetitions at all. It + only encodes with Huffman trees (which means, that more common + characters get a smaller encoding. + + + + + Low level compression engine for deflate algorithm which uses a 32K sliding window + with secondary compression from Huffman/Shannon-Fano codes. + + + + + Construct instance with pending buffer + + + Pending buffer to use + > + + + + Deflate drives actual compression of data + + True to flush input buffers + Finish deflation with the current input. + Returns true if progress has been made. + + + + Sets input data to be deflated. Should only be called when NeedsInput() + returns true + + The buffer containing input data. + The offset of the first byte of data. + The number of bytes of data to use as input. + + + + Determines if more input is needed. + + Return true if input is needed via SetInput + + + + Set compression dictionary + + The buffer containing the dictionary data + The offset in the buffer for the first byte of data + The length of the dictionary data. + + + + Reset internal state + + + + + Reset Adler checksum + + + + + Set the deflate level (0-9) + + The value to set the level to. + + + + Fill the window + + + + + Inserts the current string in the head hash and returns the previous + value for this hash. + + The previous hash value + + + + Find the best (longest) string in the window matching the + string starting at strstart. + + Preconditions: + + strstart + MAX_MATCH <= window.length. + + + True if a match greater than the minimum length is found + + + + Hashtable, hashing three characters to an index for window, so + that window[index]..window[index+2] have this hash code. + Note that the array should really be unsigned short, so you need + to and the values with 0xffff. + + + + + prev[index & WMASK] points to the previous index that has the + same hash code as the string starting at index. This way + entries with the same hash code are in a linked list. + Note that the array should really be unsigned short, so you need + to and the values with 0xffff. + + + + + Points to the current character in the window. + + + + + lookahead is the number of characters starting at strstart in + window that are valid. + So window[strstart] until window[strstart+lookahead-1] are valid + characters. + + + + + This array contains the part of the uncompressed stream that + is of relevance. The current character is indexed by strstart. + + + + + The current compression function. + + + + + The input data for compression. + + + + + The total bytes of input read. + + + + + The offset into inputBuf, where input data starts. + + + + + The end offset of the input data. + + + + + The adler checksum + + + + + Get current value of Adler checksum + + + + + Total data processed + + + + + Get/set the deflate strategy + + + + + The TarBuffer class implements the tar archive concept + of a buffered input stream. This concept goes back to the + days of blocked tape drives and special io devices. In the + C# universe, the only real function that this class + performs is to ensure that files have the correct "record" + size, or other tars will complain. +

+ You should never have a need to access this class directly. + TarBuffers are created by Tar IO Streams. +

+
+
+ + + The size of a block in a tar archive in bytes. + + This is 512 bytes. + + + + The number of blocks in a default record. + + + The default value is 20 blocks per record. + + + + + The size in bytes of a default record. + + + The default size is 10KB. + + + + + Get the TAR Buffer's record size. + + The record size in bytes. + This is equal to the multiplied by the + + + + Get the TAR Buffer's block factor + + The block factor; the number of blocks per record. + + + + Construct a default TarBuffer + + + + + Create TarBuffer for reading with default BlockFactor + + Stream to buffer + A new suitable for input. + + + + Construct TarBuffer for reading inputStream setting BlockFactor + + Stream to buffer + Blocking factor to apply + A new suitable for input. + + + + Construct TarBuffer for writing with default BlockFactor + + output stream for buffer + A new suitable for output. + + + + Construct TarBuffer for writing Tar output to streams. + + Output stream to write to. + Blocking factor to apply + A new suitable for output. + + + + Initialization common to all constructors. + + + + + Determine if an archive block indicates End of Archive. End of + archive is indicated by a block that consists entirely of null bytes. + All remaining blocks for the record should also be null's + However some older tars only do a couple of null blocks (Old GNU tar for one) + and also partial records + + The data block to check. + Returns true if the block is an EOF block; false otherwise. + + + + Skip over a block on the input stream. + + + + + Read a block from the input stream. + + + The block of data read. + + + + + Read a record from data stream. + + + false if End-Of-File, else true. + + + + + Get the current block number, within the current record, zero based. + + + The current zero based block number. + + + The absolute block number = (record number * block factor) + block number. + + + + + Get the current record number. + + + The current zero based record number. + + + + + Write a block of data to the archive. + + + The data to write to the archive. + + + + + Write an archive record to the archive, where the record may be + inside of a larger array buffer. The buffer must be "offset plus + record size" long. + + + The buffer containing the record data to write. + + + The offset of the record data within buffer. + + + + + Write a TarBuffer record to the archive. + + + + + Flush the current record if it has any data in it. + + + + + Close the TarBuffer. If this is an output buffer, also flush the + current block before closing. + + + + + Get the record size for this buffer + + The record size in bytes. + This is equal to the multiplied by the + + + + Get the Blocking factor for the buffer + + This is the number of block in each record. + + + + Get the current block number, within the current record, zero based. + + + + + Get the current record number. + + + The current zero based record number. + + + + + This class encapsulates the Tar Entry Header used in Tar Archives. + The class also holds a number of tar constants, used mostly in headers. + + + + + The length of the name field in a header buffer. + + + + + The length of the mode field in a header buffer. + + + + + The length of the user id field in a header buffer. + + + + + The length of the group id field in a header buffer. + + + + + The length of the checksum field in a header buffer. + + + + + Offset of checksum in a header buffer. + + + + + The length of the size field in a header buffer. + + + + + The length of the magic field in a header buffer. + + + + + The length of the version field in a header buffer. + + + + + The length of the modification time field in a header buffer. + + + + + The length of the user name field in a header buffer. + + + + + The length of the group name field in a header buffer. + + + + + The length of the devices field in a header buffer. + + + + + The "old way" of indicating a normal file. + + + + + Normal file type. + + + + + Link file type. + + + + + Symbolic link file type. + + + + + Character device file type. + + + + + Block device file type. + + + + + Directory file type. + + + + + FIFO (pipe) file type. + + + + + Contiguous file type. + + + + + Posix.1 2001 global extended header + + + + + Posix.1 2001 extended header + + + + + Solaris access control list file type + + + + + GNU dir dump file type + This is a dir entry that contains the names of files that were in the + dir at the time the dump was made + + + + + Solaris Extended Attribute File + + + + + Inode (metadata only) no file content + + + + + Identifies the next file on the tape as having a long link name + + + + + Identifies the next file on the tape as having a long name + + + + + Continuation of a file that began on another volume + + + + + For storing filenames that dont fit in the main header (old GNU) + + + + + GNU Sparse file + + + + + GNU Tape/volume header ignore on extraction + + + + + The magic tag representing a POSIX tar archive. (includes trailing NULL) + + + + + The magic tag representing an old GNU tar archive where version is included in magic and overwrites it + + + + + Initialise a default TarHeader instance + + + + + Get the name of this entry. + + The entry's name. + + + + Create a new that is a copy of the current instance. + + A new that is a copy of the current instance. + + + + Parse TarHeader information from a header buffer. + + + The tar entry header buffer to get information from. + + + + + 'Write' header information to buffer provided, updating the check sum. + + output buffer for header information + + + + Get a hash code for the current object. + + A hash code for the current object. + + + + Determines if this instance is equal to the specified object. + + The object to compare with. + true if the objects are equal, false otherwise. + + + + Set defaults for values used when constructing a TarHeader instance. + + Value to apply as a default for userId. + Value to apply as a default for userName. + Value to apply as a default for groupId. + Value to apply as a default for groupName. + + + + Parse an octal string from a header buffer. + + The header buffer from which to parse. + The offset into the buffer from which to parse. + The number of header bytes to parse. + The long equivalent of the octal string. + + + + Parse a name from a header buffer. + + + The header buffer from which to parse. + + + The offset into the buffer from which to parse. + + + The number of header bytes to parse. + + + The name parsed. + + + + + Add name to the buffer as a collection of bytes + + The name to add + The offset of the first character + The buffer to add to + The index of the first byte to add + The number of characters/bytes to add + The next free index in the buffer + + + + Add name to the buffer as a collection of bytes + + The name to add + The offset of the first character + The buffer to add to + The index of the first byte to add + The number of characters/bytes to add + The next free index in the buffer + + + + Add an entry name to the buffer + + + The name to add + + + The buffer to add to + + + The offset into the buffer from which to start adding + + + The number of header bytes to add + + + The index of the next free byte in the buffer + + + + + Add an entry name to the buffer + + The name to add + The buffer to add to + The offset into the buffer from which to start adding + The number of header bytes to add + The index of the next free byte in the buffer + + + + Add a string to a buffer as a collection of ascii bytes. + + The string to add + The offset of the first character to add. + The buffer to add to. + The offset to start adding at. + The number of ascii characters to add. + The next free index in the buffer. + + + + Put an octal representation of a value into a buffer + + + the value to be converted to octal + + + buffer to store the octal string + + + The offset into the buffer where the value starts + + + The length of the octal string to create + + + The offset of the character next byte after the octal string + + + + + Put an octal representation of a value into a buffer + + Value to be convert to octal + The buffer to update + The offset into the buffer to store the value + The length of the octal string + Index of next byte + + + + Add the checksum integer to header buffer. + + + The header buffer to set the checksum for + The offset into the buffer for the checksum + The number of header bytes to update. + It's formatted differently from the other fields: it has 6 digits, a + null, then a space -- rather than digits, a space, then a null. + The final space is already there, from checksumming + + The modified buffer offset + + + + Compute the checksum for a tar entry header. + The checksum field must be all spaces prior to this happening + + The tar entry's header buffer. + The computed checksum. + + + + Make a checksum for a tar entry ignoring the checksum contents. + + The tar entry's header buffer. + The checksum for the buffer + + + + Get/set the name for this tar entry. + + Thrown when attempting to set the property to null. + + + + Get/set the entry's Unix style permission mode. + + + + + The entry's user id. + + + This is only directly relevant to unix systems. + The default is zero. + + + + + Get/set the entry's group id. + + + This is only directly relevant to linux/unix systems. + The default value is zero. + + + + + Get/set the entry's size. + + Thrown when setting the size to less than zero. + + + + Get/set the entry's modification time. + + + The modification time is only accurate to within a second. + + Thrown when setting the date time to less than 1/1/1970. + + + + Get the entry's checksum. This is only valid/updated after writing or reading an entry. + + + + + Get value of true if the header checksum is valid, false otherwise. + + + + + Get/set the entry's type flag. + + + + + The entry's link name. + + Thrown when attempting to set LinkName to null. + + + + Get/set the entry's magic tag. + + Thrown when attempting to set Magic to null. + + + + The entry's version. + + Thrown when attempting to set Version to null. + + + + The entry's user name. + + + + + Get/set the entry's group name. + + + This is only directly relevant to unix systems. + + + + + Get/set the entry's major device number. + + + + + Get/set the entry's minor device number. + + + + + Event arguments for scanning. + + + + + Initialise a new instance of + + The file or directory name. + + + + The fie or directory name for this event. + + + + + Get set a value indicating if scanning should continue or not. + + + + + Event arguments during processing of a single file or directory. + + + + + Initialise a new instance of + + The file or directory name if known. + The number of bytes processed so far + The total number of bytes to process, 0 if not known + + + + The name for this event if known. + + + + + Get set a value indicating wether scanning should continue or not. + + + + + Get a percentage representing how much of the has been processed + + 0.0 to 100.0 percent; 0 if target is not known. + + + + The number of bytes processed so far + + + + + The number of bytes to process. + + Target may be 0 or negative if the value isnt known. + + + + Event arguments for directories. + + + + + Initialize an instance of . + + The name for this directory. + Flag value indicating if any matching files are contained in this directory. + + + + Get a value indicating if the directory contains any matching files or not. + + + + + Arguments passed when scan failures are detected. + + + + + Initialise a new instance of + + The name to apply. + The exception to use. + + + + The applicable name. + + + + + The applicable exception. + + + + + Get / set a value indicating wether scanning should continue. + + + + + Delegate invoked before starting to process a directory. + + + + + Delegate invoked before starting to process a file. + + The source of the event + The event arguments. + + + + Delegate invoked during processing of a file or directory + + The source of the event + The event arguments. + + + + Delegate invoked when a file has been completely processed. + + The source of the event + The event arguments. + + + + Delegate invoked when a directory failure is detected. + + The source of the event + The event arguments. + + + + Delegate invoked when a file failure is detected. + + The source of the event + The event arguments. + + + + FileSystemScanner provides facilities scanning of files and directories. + + + + + Initialise a new instance of + + The file filter to apply when scanning. + + + + Initialise a new instance of + + The file filter to apply. + The directory filter to apply. + + + + Initialise a new instance of + + The file filter to apply. + + + + Initialise a new instance of + + The file filter to apply. + The directory filter to apply. + + + + Delegate to invoke when a directory is processed. + + + + + Delegate to invoke when a file is processed. + + + + + Delegate to invoke when processing for a file has finished. + + + + + Delegate to invoke when a directory failure is detected. + + + + + Delegate to invoke when a file failure is detected. + + + + + Raise the DirectoryFailure event. + + The directory name. + The exception detected. + + + + Raise the FileFailure event. + + The file name. + The exception detected. + + + + Raise the ProcessFile event. + + The file name. + + + + Raise the complete file event + + The file name + + + + Raise the ProcessDirectory event. + + The directory name. + Flag indicating if the directory has matching files. + + + + Scan a directory. + + The base directory to scan. + True to recurse subdirectories, false to scan a single directory. + + + + The file filter currently in use. + + + + + The directory filter currently in use. + + + + + Flag indicating if scanning should continue running. + + + + + An input buffer customised for use by + + + The buffer supports decryption of incoming data. + + + + + Initialise a new instance of with a default buffer size + + The stream to buffer. + + + + Initialise a new instance of + + The stream to buffer. + The size to use for the buffer + A minimum buffer size of 1KB is permitted. Lower sizes are treated as 1KB. + + + + Call passing the current clear text buffer contents. + + The inflater to set input for. + + + + Fill the buffer from the underlying input stream. + + + + + Read a buffer directly from the input stream + + The buffer to fill + Returns the number of bytes read. + + + + Read a buffer directly from the input stream + + The buffer to read into + The offset to start reading data into. + The number of bytes to read. + Returns the number of bytes read. + + + + Read clear text data from the input stream. + + The buffer to add data to. + The offset to start adding data at. + The number of bytes to read. + Returns the number of bytes actually read. + + + + Read a from the input stream. + + Returns the byte read. + + + + Read an in little endian byte order. + + The short value read case to an int. + + + + Read an in little endian byte order. + + The int value read. + + + + Read a in little endian byte order. + + The long value read. + + + + Get the length of bytes bytes in the + + + + + Get the contents of the raw data buffer. + + This may contain encrypted data. + + + + Get the number of useable bytes in + + + + + Get the contents of the clear text buffer. + + + + + Get/set the number of bytes available + + + + + Get/set the to apply to any data. + + Set this value to null to have no transform applied. + + + + The TarOutputStream writes a UNIX tar archive as an OutputStream. + Methods are provided to put entries, and then write their contents + by writing to this stream using write(). + + public + + + + Construct TarOutputStream using default block factor + + stream to write to + + + + Construct TarOutputStream with user specified block factor + + stream to write to + blocking factor + + + + set the position within the current stream + + The offset relative to the to seek to + The to seek from. + The new position in the stream. + + + + Set the length of the current stream + + The new stream length. + + + + Read a byte from the stream and advance the position within the stream + by one byte or returns -1 if at the end of the stream. + + The byte value or -1 if at end of stream + + + + read bytes from the current stream and advance the position within the + stream by the number of bytes read. + + The buffer to store read bytes in. + The index into the buffer to being storing bytes at. + The desired number of bytes to read. + The total number of bytes read, or zero if at the end of the stream. + The number of bytes may be less than the count + requested if data is not avialable. + + + + All buffered data is written to destination + + + + + Ends the TAR archive without closing the underlying OutputStream. + The result is that the EOF block of nulls is written. + + + + + Ends the TAR archive and closes the underlying OutputStream. + + This means that Finish() is called followed by calling the + TarBuffer's Close(). + + + + Get the record size being used by this stream's TarBuffer. + + + The TarBuffer record size. + + + + + Put an entry on the output stream. This writes the entry's + header and positions the output stream for writing + the contents of the entry. Once this method is called, the + stream is ready for calls to write() to write the entry's + contents. Once the contents are written, closeEntry() + MUST be called to ensure that all buffered data + is completely written to the output stream. + + + The TarEntry to be written to the archive. + + + + + Close an entry. This method MUST be called for all file + entries that contain data. The reason is that we must + buffer data written to the stream in order to satisfy + the buffer's block based writes. Thus, there may be + data fragments still being assembled that must be written + to the output stream before this entry is closed and the + next entry written. + + + + + Writes a byte to the current tar archive entry. + This method simply calls Write(byte[], int, int). + + + The byte to be written. + + + + + Writes bytes to the current tar archive entry. This method + is aware of the current entry and will throw an exception if + you attempt to write bytes past the length specified for the + current entry. The method is also (painfully) aware of the + record buffering required by TarBuffer, and manages buffers + that are not a multiple of recordsize in length, including + assembling records from small buffers. + + + The buffer to write to the archive. + + + The offset in the buffer from which to get bytes. + + + The number of bytes to write. + + + + + Write an EOF (end of archive) block to the tar archive. + An EOF block consists of all zeros. + + + + + bytes written for this entry so far + + + + + current 'Assembly' buffer length + + + + + Flag indicating wether this instance has been closed or not. + + + + + Size for the current entry + + + + + single block working buffer + + + + + 'Assembly' buffer used to assemble data before writing + + + + + TarBuffer used to provide correct blocking factor + + + + + the destination stream for the archive contents + + + + + true if the stream supports reading; otherwise, false. + + + + + true if the stream supports seeking; otherwise, false. + + + + + true if stream supports writing; otherwise, false. + + + + + length of stream in bytes + + + + + gets or sets the position within the current stream. + + + + + Get the record size being used by this stream's TarBuffer. + + + + + Get a value indicating wether an entry is open, requiring more data to be written. + + + + + This is the Deflater class. The deflater class compresses input + with the deflate algorithm described in RFC 1951. It has several + compression levels and three different strategies described below. + + This class is not thread safe. This is inherent in the API, due + to the split of deflate and setInput. + + author of the original java version : Jochen Hoenicke + + + + + The best and slowest compression level. This tries to find very + long and distant string repetitions. + + + + + The worst but fastest compression level. + + + + + The default compression level. + + + + + This level won't compress at all but output uncompressed blocks. + + + + + The compression method. This is the only method supported so far. + There is no need to use this constant at all. + + + + + Creates a new deflater with default compression level. + + + + + Creates a new deflater with given compression level. + + + the compression level, a value between NO_COMPRESSION + and BEST_COMPRESSION, or DEFAULT_COMPRESSION. + + if lvl is out of range. + + + + Creates a new deflater with given compression level. + + + the compression level, a value between NO_COMPRESSION + and BEST_COMPRESSION. + + + true, if we should suppress the Zlib/RFC1950 header at the + beginning and the adler checksum at the end of the output. This is + useful for the GZIP/PKZIP formats. + + if lvl is out of range. + + + + Resets the deflater. The deflater acts afterwards as if it was + just created with the same compression level and strategy as it + had before. + + + + + Flushes the current input block. Further calls to deflate() will + produce enough output to inflate everything in the current input + block. This is not part of Sun's JDK so I have made it package + private. It is used by DeflaterOutputStream to implement + flush(). + + + + + Finishes the deflater with the current input block. It is an error + to give more input after this method was called. This method must + be called to force all bytes to be flushed. + + + + + Sets the data which should be compressed next. This should be only + called when needsInput indicates that more input is needed. + If you call setInput when needsInput() returns false, the + previous input that is still pending will be thrown away. + The given byte array should not be changed, before needsInput() returns + true again. + This call is equivalent to setInput(input, 0, input.length). + + + the buffer containing the input data. + + + if the buffer was finished() or ended(). + + + + + Sets the data which should be compressed next. This should be + only called when needsInput indicates that more input is needed. + The given byte array should not be changed, before needsInput() returns + true again. + + + the buffer containing the input data. + + + the start of the data. + + + the number of data bytes of input. + + + if the buffer was Finish()ed or if previous input is still pending. + + + + + Sets the compression level. There is no guarantee of the exact + position of the change, but if you call this when needsInput is + true the change of compression level will occur somewhere near + before the end of the so far given input. + + + the new compression level. + + + + + Get current compression level + + Returns the current compression level + + + + Sets the compression strategy. Strategy is one of + DEFAULT_STRATEGY, HUFFMAN_ONLY and FILTERED. For the exact + position where the strategy is changed, the same as for + SetLevel() applies. + + + The new compression strategy. + + + + + Deflates the current input block with to the given array. + + + The buffer where compressed data is stored + + + The number of compressed bytes added to the output, or 0 if either + IsNeedingInput() or IsFinished returns true or length is zero. + + + + + Deflates the current input block to the given array. + + + Buffer to store the compressed data. + + + Offset into the output array. + + + The maximum number of bytes that may be stored. + + + The number of compressed bytes added to the output, or 0 if either + needsInput() or finished() returns true or length is zero. + + + If Finish() was previously called. + + + If offset or length don't match the array length. + + + + + Sets the dictionary which should be used in the deflate process. + This call is equivalent to setDictionary(dict, 0, dict.Length). + + + the dictionary. + + + if SetInput () or Deflate () were already called or another dictionary was already set. + + + + + Sets the dictionary which should be used in the deflate process. + The dictionary is a byte array containing strings that are + likely to occur in the data which should be compressed. The + dictionary is not stored in the compressed output, only a + checksum. To decompress the output you need to supply the same + dictionary again. + + + The dictionary data + + + The index where dictionary information commences. + + + The number of bytes in the dictionary. + + + If SetInput () or Deflate() were already called or another dictionary was already set. + + + + + Compression level. + + + + + If true no Zlib/RFC1950 headers or footers are generated + + + + + The current state. + + + + + The total bytes of output written. + + + + + The pending output. + + + + + The deflater engine. + + + + + Gets the current adler checksum of the data that was processed so far. + + + + + Gets the number of input bytes processed so far. + + + + + Gets the number of output bytes so far. + + + + + Returns true if the stream was finished and no more output bytes + are available. + + + + + Returns true, if the input buffer is empty. + You should then call setInput(). + NOTE: This method can also return true when the stream + was finished. + + + + + The TarInputStream reads a UNIX tar archive as an InputStream. + methods are provided to position at each successive entry in + the archive, and the read each entry as a normal input stream + using read(). + + + + + Construct a TarInputStream with default block factor + + stream to source data from + + + + Construct a TarInputStream with user specified block factor + + stream to source data from + block factor to apply to archive + + + + Flushes the baseInputStream + + + + + Set the streams position. This operation is not supported and will throw a NotSupportedException + + The offset relative to the origin to seek to. + The to start seeking from. + The new position in the stream. + Any access + + + + Sets the length of the stream + This operation is not supported and will throw a NotSupportedException + + The new stream length. + Any access + + + + Writes a block of bytes to this stream using data from a buffer. + This operation is not supported and will throw a NotSupportedException + + The buffer containing bytes to write. + The offset in the buffer of the frist byte to write. + The number of bytes to write. + Any access + + + + Writes a byte to the current position in the file stream. + This operation is not supported and will throw a NotSupportedException + + The byte value to write. + Any access + + + + Reads a byte from the current tar archive entry. + + A byte cast to an int; -1 if the at the end of the stream. + + + + Reads bytes from the current tar archive entry. + + This method is aware of the boundaries of the current + entry in the archive and will deal with them appropriately + + + The buffer into which to place bytes read. + + + The offset at which to place bytes read. + + + The number of bytes to read. + + + The number of bytes read, or 0 at end of stream/EOF. + + + + + Closes this stream. Calls the TarBuffer's close() method. + The underlying stream is closed by the TarBuffer. + + + + + Set the entry factory for this instance. + + The factory for creating new entries + + + + Get the record size being used by this stream's TarBuffer. + + + TarBuffer record size. + + + + + Skip bytes in the input buffer. This skips bytes in the + current entry's data, not the entire archive, and will + stop at the end of the current entry's data if the number + to skip extends beyond that point. + + + The number of bytes to skip. + + + + + Since we do not support marking just yet, we do nothing. + + + The limit to mark. + + + + + Since we do not support marking just yet, we do nothing. + + + + + Get the next entry in this tar archive. This will skip + over any remaining data in the current entry, if there + is one, and place the input stream at the header of the + next entry, and read the header and instantiate a new + TarEntry from the header bytes and return that entry. + If there are no more entries in the archive, null will + be returned to indicate that the end of the archive has + been reached. + + + The next TarEntry in the archive, or null. + + + + + Copies the contents of the current tar archive entry directly into + an output stream. + + + The OutputStream into which to write the entry's data. + + + + + Flag set when last block has been read + + + + + Size of this entry as recorded in header + + + + + Number of bytes read for this entry so far + + + + + Buffer used with calls to Read() + + + + + Working buffer + + + + + Current entry being read + + + + + Factory used to create TarEntry or descendant class instance + + + + + Stream used as the source of input data. + + + + + Gets a value indicating whether the current stream supports reading + + + + + Gets a value indicating whether the current stream supports seeking + This property always returns false. + + + + + Gets a value indicating if the stream supports writing. + This property always returns false. + + + + + The length in bytes of the stream + + + + + Gets or sets the position within the stream. + Setting the Position is not supported and throws a NotSupportedExceptionNotSupportedException + + Any attempt to set position + + + + Get the record size being used by this stream's TarBuffer. + + + + + Get the available data that can be read from the current + entry in the archive. This does not indicate how much data + is left in the entire archive, only in the current entry. + This value is determined from the entry's size header field + and the amount of data already read from the current entry. + + + The number of available bytes for the current entry. + + + + + Return a value of true if marking is supported; false otherwise. + + Currently marking is not supported, the return value is always false. + + + + This interface is provided, along with the method , to allow + the programmer to have their own subclass instantiated for the + entries return from . + + + + + Create an entry based on name alone + + + Name of the new EntryPointNotFoundException to create + + created TarEntry or descendant class + + + + Create an instance based on an actual file + + + Name of file to represent in the entry + + + Created TarEntry or descendant class + + + + + Create a tar entry based on the header information passed + + + Buffer containing header information to base entry on + + + Created TarEntry or descendant class + + + + + Standard entry factory class creating instances of the class TarEntry + + + + + Create a based on named + + The name to use for the entry + A new + + + + Create a tar entry with details obtained from file + + The name of the file to retrieve details from. + A new + + + + Create an entry based on details in header + + The buffer containing entry details. + A new + + + + Defines known values for the property. + + + + + Host system = MSDOS + + + + + Host system = Amiga + + + + + Host system = Open VMS + + + + + Host system = Unix + + + + + Host system = VMCms + + + + + Host system = Atari ST + + + + + Host system = OS2 + + + + + Host system = Macintosh + + + + + Host system = ZSystem + + + + + Host system = Cpm + + + + + Host system = Windows NT + + + + + Host system = MVS + + + + + Host system = VSE + + + + + Host system = Acorn RISC + + + + + Host system = VFAT + + + + + Host system = Alternate MVS + + + + + Host system = BEOS + + + + + Host system = Tandem + + + + + Host system = OS400 + + + + + Host system = OSX + + + + + Host system = WinZIP AES + + + + + This class represents an entry in a zip archive. This can be a file + or a directory + ZipFile and ZipInputStream will give you instances of this class as + information about the members in an archive. ZipOutputStream + uses an instance of this class when creating an entry in a Zip file. +
+
Author of the original java version : Jochen Hoenicke +
+
+ + + Creates a zip entry with the given name. + + + The name for this entry. Can include directory components. + The convention for names is 'unix' style paths with relative names only. + There are with no device names and path elements are separated by '/' characters. + + + The name passed is null + + + + + Creates a zip entry with the given name and version required to extract + + + The name for this entry. Can include directory components. + The convention for names is 'unix' style paths with no device names and + path elements separated by '/' characters. This is not enforced see CleanName + on how to ensure names are valid if this is desired. + + + The minimum 'feature version' required this entry + + + The name passed is null + + + + + Initializes an entry with the given name and made by information + + Name for this entry + Version and HostSystem Information + Minimum required zip feature version required to extract this entry + Compression method for this entry. + + The name passed is null + + + versionRequiredToExtract should be 0 (auto-calculate) or > 10 + + + This constructor is used by the ZipFile class when reading from the central header + It is not generally useful, use the constructor specifying the name only. + + + + + Creates a deep copy of the given zip entry. + + + The entry to copy. + + + + + Test the external attributes for this to + see if the external attributes are Dos based (including WINNT and variants) + and match the values + + The attributes to test. + Returns true if the external attributes are known to be DOS/Windows + based and have the same attributes set as the value passed. + + + + Force this entry to be recorded using Zip64 extensions. + + + + + Get a value indicating wether Zip64 extensions were forced. + + A value of true if Zip64 extensions have been forced on; false if not. + + + + Process extra data fields updating the entry based on the contents. + + True if the extra data fields should be handled + for a local header, rather than for a central header. + + + + + Test entry to see if data can be extracted. + + Returns true if data can be extracted for this entry; false otherwise. + + + + Creates a copy of this zip entry. + + An that is a copy of the current instance. + + + + Gets a string representation of this ZipEntry. + + A readable textual representation of this + + + + Test a compression method to see if this library + supports extracting data compressed with that method + + The compression method to test. + Returns true if the compression method is supported; false otherwise + + + + Cleans a name making it conform to Zip file conventions. + Devices names ('c:\') and UNC share names ('\\server\share') are removed + and forward slashes ('\') are converted to back slashes ('/'). + Names are made relative by trimming leading slashes which is compatible + with the ZIP naming convention. + + The name to clean + The 'cleaned' name. + + The Zip name transform class is more flexible. + + + + + Get a value indicating wether the entry has a CRC value available. + + + + + Get/Set flag indicating if entry is encrypted. + A simple helper routine to aid interpretation of flags + + This is an assistant that interprets the flags property. + + + + Get / set a flag indicating wether entry name and comment text are + encoded in unicode UTF8. + + This is an assistant that interprets the flags property. + + + + Value used during password checking for PKZIP 2.0 / 'classic' encryption. + + + + + Get/Set general purpose bit flag for entry + + + General purpose bit flag
+
+ Bit 0: If set, indicates the file is encrypted
+ Bit 1-2 Only used for compression type 6 Imploding, and 8, 9 deflating
+ Imploding:
+ Bit 1 if set indicates an 8K sliding dictionary was used. If clear a 4k dictionary was used
+ Bit 2 if set indicates 3 Shannon-Fanno trees were used to encode the sliding dictionary, 2 otherwise
+
+ Deflating:
+ Bit 2 Bit 1
+ 0 0 Normal compression was used
+ 0 1 Maximum compression was used
+ 1 0 Fast compression was used
+ 1 1 Super fast compression was used
+
+ Bit 3: If set, the fields crc-32, compressed size + and uncompressed size are were not able to be written during zip file creation + The correct values are held in a data descriptor immediately following the compressed data.
+ Bit 4: Reserved for use by PKZIP for enhanced deflating
+ Bit 5: If set indicates the file contains compressed patch data
+ Bit 6: If set indicates strong encryption was used.
+ Bit 7-10: Unused or reserved
+ Bit 11: If set the name and comments for this entry are in unicode.
+ Bit 12-15: Unused or reserved
+
+ + +
+ + + Get/Set index of this entry in Zip file + + This is only valid when the entry is part of a + + + + Get/set offset for use in central header + + + + + Get/Set external file attributes as an integer. + The values of this are operating system dependant see + HostSystem for details + + + + + Get the version made by for this entry or zero if unknown. + The value / 10 indicates the major version number, and + the value mod 10 is the minor version number + + + + + Get a value indicating this entry is for a DOS/Windows system. + + + + + Gets the compatability information for the external file attribute + If the external file attributes are compatible with MS-DOS and can be read + by PKZIP for DOS version 2.04g then this value will be zero. Otherwise the value + will be non-zero and identify the host system on which the attributes are compatible. + + + + The values for this as defined in the Zip File format and by others are shown below. The values are somewhat + misleading in some cases as they are not all used as shown. You should consult the relevant documentation + to obtain up to date and correct information. The modified appnote by the infozip group is + particularly helpful as it documents a lot of peculiarities. The document is however a little dated. + + 0 - MS-DOS and OS/2 (FAT / VFAT / FAT32 file systems) + 1 - Amiga + 2 - OpenVMS + 3 - Unix + 4 - VM/CMS + 5 - Atari ST + 6 - OS/2 HPFS + 7 - Macintosh + 8 - Z-System + 9 - CP/M + 10 - Windows NTFS + 11 - MVS (OS/390 - Z/OS) + 12 - VSE + 13 - Acorn Risc + 14 - VFAT + 15 - Alternate MVS + 16 - BeOS + 17 - Tandem + 18 - OS/400 + 19 - OS/X (Darwin) + 99 - WinZip AES + remainder - unused + + + + + + Get minimum Zip feature version required to extract this entry + + + Minimum features are defined as:
+ 1.0 - Default value
+ 1.1 - File is a volume label
+ 2.0 - File is a folder/directory
+ 2.0 - File is compressed using Deflate compression
+ 2.0 - File is encrypted using traditional encryption
+ 2.1 - File is compressed using Deflate64
+ 2.5 - File is compressed using PKWARE DCL Implode
+ 2.7 - File is a patch data set
+ 4.5 - File uses Zip64 format extensions
+ 4.6 - File is compressed using BZIP2 compression
+ 5.0 - File is encrypted using DES
+ 5.0 - File is encrypted using 3DES
+ 5.0 - File is encrypted using original RC2 encryption
+ 5.0 - File is encrypted using RC4 encryption
+ 5.1 - File is encrypted using AES encryption
+ 5.1 - File is encrypted using corrected RC2 encryption
+ 5.1 - File is encrypted using corrected RC2-64 encryption
+ 6.1 - File is encrypted using non-OAEP key wrapping
+ 6.2 - Central directory encryption (not confirmed yet)
+ 6.3 - File is compressed using LZMA
+ 6.3 - File is compressed using PPMD+
+ 6.3 - File is encrypted using Blowfish
+ 6.3 - File is encrypted using Twofish
+
+ +
+ + + Get a value indicating wether this entry can be decompressed by the library. + + This is based on the and + wether the compression method is supported. + + + + Gets a value indicating if the entry requires Zip64 extensions + to store the full entry values. + + A value of true if a local header requires Zip64 extensions; false if not. + + + + Get a value indicating wether the central directory entry requires Zip64 extensions to be stored. + + + + + Get/Set DosTime value. + + + The MS-DOS date format can only represent dates between 1/1/1980 and 12/31/2107. + + + + + Gets/Sets the time of last modification of the entry. + + + The property is updated to match this as far as possible. + + + + + Returns the entry name. + + + The unix naming convention is followed. + Path components in the entry should always separated by forward slashes ('/'). + Dos device names like C: should also be removed. + See the class, or + + + + + Gets/Sets the size of the uncompressed data. + + + The size or -1 if unknown. + + Setting the size before adding an entry to an archive can help + avoid compatability problems with some archivers which dont understand Zip64 extensions. + + + + Gets/Sets the size of the compressed data. + + + The compressed entry size or -1 if unknown. + + + + + Gets/Sets the crc of the uncompressed data. + + + Crc is not in the range 0..0xffffffffL + + + The crc value or -1 if unknown. + + + + + Gets/Sets the compression method. Only Deflated and Stored are supported. + + + The compression method for this entry + + + + + + + Gets/Sets the extra data. + + + Extra data is longer than 64KB (0xffff) bytes. + + + Extra data or null if not set. + + + + + Gets/Sets the entry comment. + + + If comment is longer than 0xffff. + + + The comment or null if not set. + + + A comment is only available for entries when read via the class. + The class doesnt have the comment data available. + + + + + Gets a value indicating if the entry is a directory. + however. + + + A directory is determined by an entry name with a trailing slash '/'. + The external file attributes can also indicate an entry is for a directory. + Currently only dos/windows attributes are tested in this manner. + The trailing slash convention should always be followed. + + + + + Get a value of true if the entry appears to be a file; false otherwise + + + This only takes account of DOS/Windows attributes. Other operating systems are ignored. + For linux and others the result may be incorrect. + + + + + ExtraData tagged value interface. + + + + + Set the contents of this instance from the data passed. + + The data to extract contents from. + The offset to begin extracting data from. + The number of bytes to extract. + + + + Get the data representing this instance. + + Returns the data for this instance. + + + + Get the ID for this tagged data value. + + + + + A raw binary tagged value + + + + + Initialise a new instance. + + The tag ID. + + + + Set the data from the raw values provided. + + The raw data to extract values from. + The index to start extracting values from. + The number of bytes available. + + + + Get the binary data representing this instance. + + The raw binary data representing this instance. + + + + The tag ID for this instance. + + + + + Get the ID for this tagged data value. + + + + + Get /set the binary data representing this instance. + + The raw binary data representing this instance. + + + + Class representing extended unix date time values. + + + + + Set the data from the raw values provided. + + The raw data to extract values from. + The index to start extracting values from. + The number of bytes available. + + + + Get the binary data representing this instance. + + The raw binary data representing this instance. + + + + Test a value to see if is valid and can be represented here. + + The value to test. + Returns true if the value is valid and can be represented; false if not. + The standard Unix time is a signed integer data type, directly encoding the Unix time number, + which is the number of seconds since 1970-01-01. + Being 32 bits means the values here cover a range of about 136 years. + The minimum representable time is 1901-12-13 20:45:52, + and the maximum representable time is 2038-01-19 03:14:07. + + + + + Get the ID + + + + + Get /set the Modification Time + + + + + + + Get / set the Access Time + + + + + + + Get / Set the Create Time + + + + + + + Get/set the values to include. + + + + + Flags indicate which values are included in this instance. + + + + + The modification time is included + + + + + The access time is included + + + + + The create time is included. + + + + + Class handling NT date time values. + + + + + Set the data from the raw values provided. + + The raw data to extract values from. + The index to start extracting values from. + The number of bytes available. + + + + Get the binary data representing this instance. + + The raw binary data representing this instance. + + + + Test a valuie to see if is valid and can be represented here. + + The value to test. + Returns true if the value is valid and can be represented; false if not. + + NTFS filetimes are 64-bit unsigned integers, stored in Intel + (least significant byte first) byte order. They determine the + number of 1.0E-07 seconds (1/10th microseconds!) past WinNT "epoch", + which is "01-Jan-1601 00:00:00 UTC". 28 May 60056 is the upper limit + + + + + Get the ID for this tagged data value. + + + + + Get/set the last modification time. + + + + + Get /set the create time + + + + + Get /set the last access time. + + + + + A factory that creates tagged data instances. + + + + + Get data for a specific tag value. + + The tag ID to find. + The data to search. + The offset to begin extracting data from. + The number of bytes to extract. + The located value found, or null if not found. + + + + + A class to handle the extra data field for Zip entries + + + Extra data contains 0 or more values each prefixed by a header tag and length. + They contain zero or more bytes of actual data. + The data is held internally using a copy on write strategy. This is more efficient but + means that for extra data created by passing in data can have the values modified by the caller + in some circumstances. + + + + + Initialise a default instance. + + + + + Initialise with known extra data. + + The extra data. + + + + Get the raw extra data value + + Returns the raw byte[] extra data this instance represents. + + + + Clear the stored data. + + + + + Get a read-only for the associated tag. + + The tag to locate data for. + Returns a containing tag data or null if no tag was found. + + + + Get the tagged data for a tag. + + The tag to search for. + Returns a tagged value or null if none found. + + + + Find an extra data value + + The identifier for the value to find. + Returns true if the value was found; false otherwise. + + + + Add a new entry to extra data. + + The value to add. + + + + Add a new entry to extra data + + The ID for this entry. + The data to add. + If the ID already exists its contents are replaced. + + + + Start adding a new entry. + + Add data using , , , or . + The new entry is completed and actually added by calling + + + + + Add entry data added since using the ID passed. + + The identifier to use for this entry. + + + + Add a byte of data to the pending new entry. + + The byte to add. + + + + + Add data to a pending new entry. + + The data to add. + + + + + Add a short value in little endian order to the pending new entry. + + The data to add. + + + + + Add an integer value in little endian order to the pending new entry. + + The data to add. + + + + + Add a long value in little endian order to the pending new entry. + + The data to add. + + + + + Delete an extra data field. + + The identifier of the field to delete. + Returns true if the field was found and deleted. + + + + Read a long in little endian form from the last found data value + + Returns the long value read. + + + + Read an integer in little endian form from the last found data value. + + Returns the integer read. + + + + Read a short value in little endian form from the last found data value. + + Returns the short value read. + + + + Read a byte from an extra data + + The byte value read or -1 if the end of data has been reached. + + + + Skip data during reading. + + The number of bytes to skip. + + + + Internal form of that reads data at any location. + + Returns the short value read. + + + + Dispose of this instance. + + + + + Gets the current extra data length. + + + + + Get the length of the last value found by + + This is only value if has previsouly returned true. + + + + Get the index for the current read value. + + This is only valid if has previously returned true. + Initially it will be the index of the first byte of actual data. The value is updated after calls to + , and . + + + + Get the number of bytes remaining to be read for the current value; + + + + + Holds data pertinent to a data descriptor. + + + + + Get /set the compressed size of data. + + + + + Get / set the uncompressed size of data + + + + + Get /set the crc value. + + + + + This class assists with writing/reading from Zip files. + + + + + Initialise an instance of this class. + + The name of the file to open. + + + + Initialise a new instance of . + + The stream to use. + + + + Close the stream. + + + The underlying stream is closed only if is true. + + + + + Locates a block with the desired . + + The signature to find. + Location, marking the end of block. + Minimum size of the block. + The maximum variable data. + Eeturns the offset of the first byte after the signature; -1 if not found + + + + Write Zip64 end of central directory records (File header and locator). + + The number of entries in the central directory. + The size of entries in the central directory. + The offset of the dentral directory. + + + + Write the required records to end the central directory. + + The number of entries in the directory. + The size of the entries in the directory. + The start of the central directory. + The archive comment. (This can be null). + + + + Read an unsigned short in little endian byte order. + + Returns the value read. + + An i/o error occurs. + + + The file ends prematurely + + + + + Read an int in little endian byte order. + + Returns the value read. + + An i/o error occurs. + + + The file ends prematurely + + + + + Read a long in little endian byte order. + + The value read. + + + + Write an unsigned short in little endian byte order. + + The value to write. + + + + Write a ushort in little endian byte order. + + The value to write. + + + + Write an int in little endian byte order. + + The value to write. + + + + Write a uint in little endian byte order. + + The value to write. + + + + Write a long in little endian byte order. + + The value to write. + + + + Write a ulong in little endian byte order. + + The value to write. + + + + Write a data descriptor. + + The entry to write a descriptor for. + Returns the number of descriptor bytes written. + + + + Read data descriptor at the end of compressed data. + + if set to true [zip64]. + The data to fill in. + Returns the number of bytes read in the descriptor. + + + + Get / set a value indicating wether the the underlying stream is owned or not. + + If the stream is owned it is closed when this instance is closed. + + + + Inflater is used to decompress data that has been compressed according + to the "deflate" standard described in rfc1951. + + By default Zlib (rfc1950) headers and footers are expected in the input. + You can use constructor public Inflater(bool noHeader) passing true + if there is no Zlib header information + + The usage is as following. First you have to set some input with + SetInput(), then Inflate() it. If inflate doesn't + inflate any bytes there may be three reasons: +
    +
  • IsNeedingInput() returns true because the input buffer is empty. + You have to provide more input with SetInput(). + NOTE: IsNeedingInput() also returns true when, the stream is finished. +
  • +
  • IsNeedingDictionary() returns true, you have to provide a preset + dictionary with SetDictionary().
  • +
  • IsFinished returns true, the inflater has finished.
  • +
+ Once the first output byte is produced, a dictionary will not be + needed at a later stage. + + author of the original java version : John Leuner, Jochen Hoenicke +
+
+ + + These are the possible states for an inflater + + + + + Copy lengths for literal codes 257..285 + + + + + Extra bits for literal codes 257..285 + + + + + Copy offsets for distance codes 0..29 + + + + + Extra bits for distance codes + + + + + This variable contains the current state. + + + + + The adler checksum of the dictionary or of the decompressed + stream, as it is written in the header resp. footer of the + compressed stream. + Only valid if mode is DECODE_DICT or DECODE_CHKSUM. + + + + + The number of bits needed to complete the current state. This + is valid, if mode is DECODE_DICT, DECODE_CHKSUM, + DECODE_HUFFMAN_LENBITS or DECODE_HUFFMAN_DISTBITS. + + + + + True, if the last block flag was set in the last block of the + inflated stream. This means that the stream ends after the + current block. + + + + + The total number of inflated bytes. + + + + + The total number of bytes set with setInput(). This is not the + value returned by the TotalIn property, since this also includes the + unprocessed input. + + + + + This variable stores the noHeader flag that was given to the constructor. + True means, that the inflated stream doesn't contain a Zlib header or + footer. + + + + + Creates a new inflater or RFC1951 decompressor + RFC1950/Zlib headers and footers will be expected in the input data + + + + + Creates a new inflater. + + + True if no RFC1950/Zlib header and footer fields are expected in the input data + + This is used for GZIPed/Zipped input. + + For compatibility with + Sun JDK you should provide one byte of input more than needed in + this case. + + + + + Resets the inflater so that a new stream can be decompressed. All + pending input and output will be discarded. + + + + + Decodes a zlib/RFC1950 header. + + + False if more input is needed. + + + The header is invalid. + + + + + Decodes the dictionary checksum after the deflate header. + + + False if more input is needed. + + + + + Decodes the huffman encoded symbols in the input stream. + + + false if more input is needed, true if output window is + full or the current block ends. + + + if deflated stream is invalid. + + + + + Decodes the adler checksum after the deflate stream. + + + false if more input is needed. + + + If checksum doesn't match. + + + + + Decodes the deflated stream. + + + false if more input is needed, or if finished. + + + if deflated stream is invalid. + + + + + Sets the preset dictionary. This should only be called, if + needsDictionary() returns true and it should set the same + dictionary, that was used for deflating. The getAdler() + function returns the checksum of the dictionary needed. + + + The dictionary. + + + + + Sets the preset dictionary. This should only be called, if + needsDictionary() returns true and it should set the same + dictionary, that was used for deflating. The getAdler() + function returns the checksum of the dictionary needed. + + + The dictionary. + + + The index into buffer where the dictionary starts. + + + The number of bytes in the dictionary. + + + No dictionary is needed. + + + The adler checksum for the buffer is invalid + + + + + Sets the input. This should only be called, if needsInput() + returns true. + + + the input. + + + + + Sets the input. This should only be called, if needsInput() + returns true. + + + The source of input data + + + The index into buffer where the input starts. + + + The number of bytes of input to use. + + + No input is needed. + + + The index and/or count are wrong. + + + + + Inflates the compressed stream to the output buffer. If this + returns 0, you should check, whether IsNeedingDictionary(), + IsNeedingInput() or IsFinished() returns true, to determine why no + further output is produced. + + + the output buffer. + + + The number of bytes written to the buffer, 0 if no further + output can be produced. + + + if buffer has length 0. + + + if deflated stream is invalid. + + + + + Inflates the compressed stream to the output buffer. If this + returns 0, you should check, whether needsDictionary(), + needsInput() or finished() returns true, to determine why no + further output is produced. + + + the output buffer. + + + the offset in buffer where storing starts. + + + the maximum number of bytes to output. + + + the number of bytes written to the buffer, 0 if no further output can be produced. + + + if count is less than 0. + + + if the index and / or count are wrong. + + + if deflated stream is invalid. + + + + + Returns true, if the input buffer is empty. + You should then call setInput(). + NOTE: This method also returns true when the stream is finished. + + + + + Returns true, if a preset dictionary is needed to inflate the input. + + + + + Returns true, if the inflater has finished. This means, that no + input is needed and no output can be produced. + + + + + Gets the adler checksum. This is either the checksum of all + uncompressed bytes returned by inflate(), or if needsDictionary() + returns true (and thus no output was yet produced) this is the + adler checksum of the expected dictionary. + + + the adler checksum. + + + + + Gets the total number of output bytes returned by Inflate(). + + + the total number of output bytes. + + + + + Gets the total number of processed compressed input bytes. + + + The total number of bytes of processed input bytes. + + + + + Gets the number of unprocessed input bytes. Useful, if the end of the + stream is reached and you want to further process the bytes after + the deflate stream. + + + The number of bytes of the input which have not been processed. + + + + + An input stream that decompresses files in the BZip2 format + + + + + Construct instance for reading from stream + + Data source + + + + Flushes the stream. + + + + + Set the streams position. This operation is not supported and will throw a NotSupportedException + + A byte offset relative to the parameter. + A value of type indicating the reference point used to obtain the new position. + The new position of the stream. + Any access + + + + Sets the length of this stream to the given value. + This operation is not supported and will throw a NotSupportedExceptionortedException + + The new length for the stream. + Any access + + + + Writes a block of bytes to this stream using data from a buffer. + This operation is not supported and will throw a NotSupportedException + + The buffer to source data from. + The offset to start obtaining data from. + The number of bytes of data to write. + Any access + + + + Writes a byte to the current position in the file stream. + This operation is not supported and will throw a NotSupportedException + + The value to write. + Any access + + + + Read a sequence of bytes and advances the read position by one byte. + + Array of bytes to store values in + Offset in array to begin storing data + The maximum number of bytes to read + The total number of bytes read into the buffer. This might be less + than the number of bytes requested if that number of bytes are not + currently available or zero if the end of the stream is reached. + + + + + Closes the stream, releasing any associated resources. + + + + + Read a byte from stream advancing position + + byte read or -1 on end of stream + + + + Get/set flag indicating ownership of underlying stream. + When the flag is true will close the underlying stream also. + + + + + Gets a value indicating if the stream supports reading + + + + + Gets a value indicating whether the current stream supports seeking. + + + + + Gets a value indicating whether the current stream supports writing. + This property always returns false + + + + + Gets the length in bytes of the stream. + + + + + Gets or sets the streams position. + Setting the position is not supported and will throw a NotSupportException + + Any attempt to set the position + + + + Computes Adler32 checksum for a stream of data. An Adler32 + checksum is not as reliable as a CRC32 checksum, but a lot faster to + compute. + + The specification for Adler32 may be found in RFC 1950. + ZLIB Compressed Data Format Specification version 3.3) + + + From that document: + + "ADLER32 (Adler-32 checksum) + This contains a checksum value of the uncompressed data + (excluding any dictionary data) computed according to Adler-32 + algorithm. This algorithm is a 32-bit extension and improvement + of the Fletcher algorithm, used in the ITU-T X.224 / ISO 8073 + standard. + + Adler-32 is composed of two sums accumulated per byte: s1 is + the sum of all bytes, s2 is the sum of all s1 values. Both sums + are done modulo 65521. s1 is initialized to 1, s2 to zero. The + Adler-32 checksum is stored as s2*65536 + s1 in most- + significant-byte first (network) order." + + "8.2. The Adler-32 algorithm + + The Adler-32 algorithm is much faster than the CRC32 algorithm yet + still provides an extremely low probability of undetected errors. + + The modulo on unsigned long accumulators can be delayed for 5552 + bytes, so the modulo operation time is negligible. If the bytes + are a, b, c, the second sum is 3a + 2b + c + 3, and so is position + and order sensitive, unlike the first sum, which is just a + checksum. That 65521 is prime is important to avoid a possible + large class of two-byte errors that leave the check unchanged. + (The Fletcher checksum uses 255, which is not prime and which also + makes the Fletcher check insensitive to single byte changes 0 - + 255.) + + The sum s1 is initialized to 1 instead of zero to make the length + of the sequence part of s2, so that the length does not have to be + checked separately. (Any sequence of zeroes has a Fletcher + checksum of zero.)" + + + + + + + largest prime smaller than 65536 + + + + + Creates a new instance of the Adler32 class. + The checksum starts off with a value of 1. + + + + + Resets the Adler32 checksum to the initial value. + + + + + Updates the checksum with a byte value. + + + The data value to add. The high byte of the int is ignored. + + + + + Updates the checksum with an array of bytes. + + + The source of the data to update with. + + + + + Updates the checksum with the bytes taken from the array. + + + an array of bytes + + + the start of the data used for this update + + + the number of bytes to use for this update + + + + + Returns the Adler32 data checksum computed so far. + + +
+
diff --git a/bin/hdfsdll.dll.config b/bin/hdfsdll.dll.config new file mode 100644 index 0000000..f1805fd --- /dev/null +++ b/bin/hdfsdll.dll.config @@ -0,0 +1,3 @@ + + + diff --git a/bin/hdfsdll.so b/bin/hdfsdll.so new file mode 100755 index 0000000..cf79ffc Binary files /dev/null and b/bin/hdfsdll.so differ diff --git a/bin/xmrhelpers.so b/bin/xmrhelpers.so new file mode 100755 index 0000000..6074da2 Binary files /dev/null and b/bin/xmrhelpers.so differ -- cgit v1.1 From 97f8175090837ef4399975d6674aaa542fbf408c Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sat, 7 Aug 2010 18:34:11 +0200 Subject: Delete some files from bin that should not have been committed --- bin/ICSharpCode.SharpZipLib.xml | 9055 --------------------------------------- bin/hdfsdll.dll.config | 3 - bin/hdfsdll.so | Bin 6557 -> 0 bytes bin/xmrhelpers.so | Bin 18357 -> 0 bytes 4 files changed, 9058 deletions(-) delete mode 100644 bin/ICSharpCode.SharpZipLib.xml delete mode 100644 bin/hdfsdll.dll.config delete mode 100755 bin/hdfsdll.so delete mode 100755 bin/xmrhelpers.so (limited to 'bin') diff --git a/bin/ICSharpCode.SharpZipLib.xml b/bin/ICSharpCode.SharpZipLib.xml deleted file mode 100644 index 98cb51e..0000000 --- a/bin/ICSharpCode.SharpZipLib.xml +++ /dev/null @@ -1,9055 +0,0 @@ - - - - ICSharpCode.SharpZipLib - - - - - FastZipEvents supports all events applicable to FastZip operations. - - - - - Delegate to invoke when processing directories. - - - - - Delegate to invoke when processing files. - - - - - Delegate to invoke during processing of files. - - - - - Delegate to invoke when processing for a file has been completed. - - - - - Delegate to invoke when processing directory failures. - - - - - Delegate to invoke when processing file failures. - - - - - Raise the directory failure event. - - The directory causing the failure. - The exception for this event. - A boolean indicating if execution should continue or not. - - - - Raises the file failure delegate. - - The file causing the failure. - The exception for this failure. - A boolean indicating if execution should continue or not. - - - - Fires the Process File delegate. - - The file being processed. - A boolean indicating if execution should continue or not. - - - - Fires the CompletedFile delegate - - The file whose processing has been completed. - A boolean indicating if execution should continue or not. - - - - Fires the process directory delegate. - - The directory being processed. - Flag indicating if the directory has matching files as determined by the current filter. - A of true if the operation should continue; false otherwise. - - - - The minimum timespan between events. - - The minimum period of time between events. - - - - - FastZip provides facilities for creating and extracting zip files. - - - - - Initialise a default instance of . - - - - - Initialise a new instance of - - The events to use during operations. - - - - Create a zip file. - - The name of the zip file to create. - The directory to source files from. - True to recurse directories, false for no recursion. - The file filter to apply. - The directory filter to apply. - - - - Create a zip file/archive. - - The name of the zip file to create. - The directory to obtain files and directories from. - True to recurse directories, false for no recursion. - The file filter to apply. - - - - Create a zip archive sending output to the passed. - - The stream to write archive data to. - The directory to source files from. - True to recurse directories, false for no recursion. - The file filter to apply. - The directory filter to apply. - - - - Extract the contents of a zip file. - - The zip file to extract from. - The directory to save extracted information in. - A filter to apply to files. - - - - Extract the contents of a zip file. - - The zip file to extract from. - The directory to save extracted information in. - The style of overwriting to apply. - A delegate to invoke when confirming overwriting. - A filter to apply to files. - A filter to apply to directories. - Flag indicating wether to restore the date and time for extracted files. - - - - Get/set a value indicating wether empty directories should be created. - - - - - Get / set the password value. - - - - - Get or set the active when creating Zip files. - - - - - - Get or set the active when creating Zip files. - - - - - Get/set a value indicating wether file dates and times should - be restored when extracting files from an archive. - - The default value is false. - - - - Get/set a value indicating wether file attributes should - be restored during extract operations - - - - - Defines the desired handling when overwriting files during extraction. - - - - - Prompt the user to confirm overwriting - - - - - Never overwrite files. - - - - - Always overwrite files. - - - - - Delegate called when confirming overwriting of files. - - - - - NameFilter is a string matching class which allows for both positive and negative - matching. - A filter is a sequence of independant regular expressions separated by semi-colons ';' - Each expression can be prefixed by a plus '+' sign or a minus '-' sign to denote the expression - is intended to include or exclude names. If neither a plus or minus sign is found include is the default - A given name is tested for inclusion before checking exclusions. Only names matching an include spec - and not matching an exclude spec are deemed to match the filter. - An empty filter matches any name. - - The following expression includes all name ending in '.dat' with the exception of 'dummy.dat' - "+\.dat$;-^dummy\.dat$" - - - - - Scanning filters support filtering of names. - - - - - Test a name to see if it 'matches' the filter. - - The name to test. - Returns true if the name matches the filter, false if it does not match. - - - - Construct an instance based on the filter expression passed - - The filter expression. - - - - Test a string to see if it is a valid regular expression. - - The expression to test. - True if expression is a valid false otherwise. - - - - Test an expression to see if it is valid as a filter. - - The filter expression to test. - True if the expression is valid, false otherwise. - - - - Convert this filter to its string equivalent. - - The string equivalent for this filter. - - - - Test a value to see if it is included by the filter. - - The value to test. - True if the value is included, false otherwise. - - - - Test a value to see if it is excluded by the filter. - - The value to test. - True if the value is excluded, false otherwise. - - - - Test a value to see if it matches the filter. - - The value to test. - True if the value matches, false otherwise. - - - - Compile this filter. - - - - - Huffman tree used for inflation - - - - - Literal length tree - - - - - Distance tree - - - - - Constructs a Huffman tree from the array of code lengths. - - - the array of code lengths - - - - - Reads the next symbol from input. The symbol is encoded using the - huffman tree. - - - input the input source. - - - the next symbol, or -1 if not enough input is available. - - - - - This class is general purpose class for writing data to a buffer. - - It allows you to write bits as well as bytes - Based on DeflaterPending.java - - author of the original java version : Jochen Hoenicke - - - - - Internal work buffer - - - - - construct instance using default buffer size of 4096 - - - - - construct instance using specified buffer size - - - size to use for internal buffer - - - - - Clear internal state/buffers - - - - - Write a byte to buffer - - - The value to write - - - - - Write a short value to buffer LSB first - - - The value to write. - - - - - write an integer LSB first - - The value to write. - - - - Write a block of data to buffer - - data to write - offset of first byte to write - number of bytes to write - - - - Align internal buffer on a byte boundary - - - - - Write bits to internal buffer - - source of bits - number of bits to write - - - - Write a short value to internal buffer most significant byte first - - value to write - - - - Flushes the pending buffer into the given output array. If the - output array is to small, only a partial flush is done. - - The output array. - The offset into output array. - The maximum number of bytes to store. - The number of bytes flushed. - - - - Convert internal buffer to byte array. - Buffer is empty on completion - - - The internal buffer contents converted to a byte array. - - - - - The number of bits written to the buffer - - - - - Indicates if buffer has been flushed - - - - - Used to advise clients of 'events' while processing archives - - - - - The TarArchive class implements the concept of a - 'Tape Archive'. A tar archive is a series of entries, each of - which represents a file system object. Each entry in - the archive consists of a header block followed by 0 or more data blocks. - Directory entries consist only of the header block, and are followed by entries - for the directory's contents. File entries consist of a - header followed by the number of blocks needed to - contain the file's contents. All entries are written on - block boundaries. Blocks are 512 bytes long. - - TarArchives are instantiated in either read or write mode, - based upon whether they are instantiated with an InputStream - or an OutputStream. Once instantiated TarArchives read/write - mode can not be changed. - - There is currently no support for random access to tar archives. - However, it seems that subclassing TarArchive, and using the - TarBuffer.CurrentRecord and TarBuffer.CurrentBlock - properties, this would be rather trivial. - - - - - Raises the ProgressMessage event - - The TarEntry for this event - message for this event. Null is no message - - - - Constructor for a default . - - - - - Initalise a TarArchive for input. - - The to use for input. - - - - Initialise a TarArchive for output. - - The to use for output. - - - - The InputStream based constructors create a TarArchive for the - purposes of extracting or listing a tar archive. Thus, use - these constructors when you wish to extract files from or list - the contents of an existing tar archive. - - The stream to retrieve archive data from. - Returns a new suitable for reading from. - - - - Create TarArchive for reading setting block factor - - Stream for tar archive contents - The blocking factor to apply - Returns a suitable for reading. - - - - Create a TarArchive for writing to, using the default blocking factor - - The to write to - Returns a suitable for writing. - - - - Create a TarArchive for writing to - - The stream to write to - The blocking factor to use for buffering. - Returns a suitable for writing. - - - - Set the flag that determines whether existing files are - kept, or overwritten during extraction. - - - If true, do not overwrite existing files. - - - - - Set the ascii file translation flag. - - - If true, translate ascii text files. - - - - - Set user and group information that will be used to fill in the - tar archive's entry headers. This information based on that available - for the linux operating system, which is not always available on other - operating systems. TarArchive allows the programmer to specify values - to be used in their place. - is set to true by this call. - - - The user id to use in the headers. - - - The user name to use in the headers. - - - The group id to use in the headers. - - - The group name to use in the headers. - - - - - Close the archive. - - - - - Perform the "list" command for the archive contents. - - NOTE That this method uses the progress event to actually list - the contents. If the progress display event is not set, nothing will be listed! - - - - - Perform the "extract" command and extract the contents of the archive. - - - The destination directory into which to extract. - - - - - Extract an entry from the archive. This method assumes that the - tarIn stream has been properly set with a call to GetNextEntry(). - - - The destination directory into which to extract. - - - The TarEntry returned by tarIn.GetNextEntry(). - - - - - Write an entry to the archive. This method will call the putNextEntry - and then write the contents of the entry, and finally call closeEntry() - for entries that are files. For directories, it will call putNextEntry(), - and then, if the recurse flag is true, process each entry that is a - child of the directory. - - - The TarEntry representing the entry to write to the archive. - - - If true, process the children of directory entries. - - - - - Write an entry to the archive. This method will call the putNextEntry - and then write the contents of the entry, and finally call closeEntry() - for entries that are files. For directories, it will call putNextEntry(), - and then, if the recurse flag is true, process each entry that is a - child of the directory. - - - The TarEntry representing the entry to write to the archive. - - - If true, process the children of directory entries. - - - - - Releases the unmanaged resources used by the FileStream and optionally releases the managed resources. - - true to release both managed and unmanaged resources; - false to release only unmanaged resources. - - - - Closes the archive and releases any associated resources. - - - - - Ensures that resources are freed and other cleanup operations are performed - when the garbage collector reclaims the . - - - - - Client hook allowing detailed information to be reported during processing - - - - - Get/set the ascii file translation flag. If ascii file translation - is true, then the file is checked to see if it a binary file or not. - If the flag is true and the test indicates it is ascii text - file, it will be translated. The translation converts the local - operating system's concept of line ends into the UNIX line end, - '\n', which is the defacto standard for a TAR archive. This makes - text files compatible with UNIX. - - - - - PathPrefix is added to entry names as they are written if the value is not null. - A slash character is appended after PathPrefix - - - - - RootPath is removed from entry names if it is found at the - beginning of the name. - - - - - Get or set a value indicating if overrides defined by SetUserInfo should be applied. - - If overrides are not applied then the values as set in each header will be used. - - - - Get the archive user id. - See ApplyUserInfoOverrides for detail - on how to allow setting values on a per entry basis. - - - The current user id. - - - - - Get the archive user name. - See ApplyUserInfoOverrides for detail - on how to allow setting values on a per entry basis. - - - The current user name. - - - - - Get the archive group id. - See ApplyUserInfoOverrides for detail - on how to allow setting values on a per entry basis. - - - The current group id. - - - - - Get the archive group name. - See ApplyUserInfoOverrides for detail - on how to allow setting values on a per entry basis. - - - The current group name. - - - - - Get the archive's record size. Tar archives are composed of - a series of RECORDS each containing a number of BLOCKS. - This allowed tar archives to match the IO characteristics of - the physical device being used. Archives are expected - to be properly "blocked". - - - The record size this archive is using. - - - - - An output stream that compresses into the BZip2 format - including file header chars into another stream. - - - - - Construct a default output stream with maximum block size - - The stream to write BZip data onto. - - - - Initialise a new instance of the - for the specified stream, using the given blocksize. - - The stream to write compressed data to. - The block size to use. - - Valid block sizes are in the range 1..9, with 1 giving - the lowest compression and 9 the highest. - - - - - Ensures that resources are freed and other cleanup operations - are performed when the garbage collector reclaims the BZip2OutputStream. - - - - - Sets the current position of this stream to the given value. - - The point relative to the offset from which to being seeking. - The reference point from which to begin seeking. - The new position in the stream. - - - - Sets the length of this stream to the given value. - - The new stream length. - - - - Read a byte from the stream advancing the position. - - The byte read cast to an int; -1 if end of stream. - - - - Read a block of bytes - - The buffer to read into. - The offset in the buffer to start storing data at. - The maximum number of bytes to read. - The total number of bytes read. This might be less than the number of bytes - requested if that number of bytes are not currently available, or zero - if the end of the stream is reached. - - - - Write a block of bytes to the stream - - The buffer containing data to write. - The offset of the first byte to write. - The number of bytes to write. - - - - Write a byte to the stream. - - The byte to write to the stream. - - - - End the current block and end compression. - Close the stream and free any resources - - - - - Get the number of bytes written to output. - - - - - Releases the unmanaged resources used by the and optionally releases the managed resources. - - true to release both managed and unmanaged resources; false to release only unmanaged resources. - - - - Flush output buffers - - - - - Get/set flag indicating ownership of underlying stream. - When the flag is true will close the underlying stream also. - - - - - Gets a value indicating whether the current stream supports reading - - - - - Gets a value indicating whether the current stream supports seeking - - - - - Gets a value indicating whether the current stream supports writing - - - - - Gets the length in bytes of the stream - - - - - Gets or sets the current position of this stream. - - - - - Get the number of bytes written to the output. - - - - - Represents exception conditions specific to Zip archive handling - - - - - SharpZipBaseException is the base exception class for the SharpZipLibrary. - All library exceptions are derived from this. - - NOTE: Not all exceptions thrown will be derived from this class. - A variety of other exceptions are possible for example - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initializes a new instance of the SharpZipBaseException class. - - - - - Initializes a new instance of the SharpZipBaseException class with a specified error message. - - A message describing the exception. - - - - Initializes a new instance of the SharpZipBaseException class with a specified - error message and a reference to the inner exception that is the cause of this exception. - - A message describing the exception. - The inner exception - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initializes a new instance of the ZipException class. - - - - - Initializes a new instance of the ZipException class with a specified error message. - - The error message that explains the reason for the exception. - - - - Initialise a new instance of ZipException. - - A message describing the error. - The exception that is the cause of the current exception. - - - - A helper class to simplify compressing and decompressing streams. - - - - - Decompress input writing - decompressed data to the output stream - - The stream containing data to decompress. - The stream to write decompressed data to. - Both streams are closed on completion - - - - Compress input stream sending - result to output stream - - The stream to compress. - The stream to write compressed data to. - The block size to use. - Both streams are closed on completion - - - - Initialise a default instance of this class. - - - - - Determines how entries are tested to see if they should use Zip64 extensions or not. - - - - - Zip64 will not be forced on entries during processing. - - An entry can have this overridden if required - - - - Zip64 should always be used. - - - - - #ZipLib will determine use based on entry values when added to archive. - - - - - The kind of compression used for an entry in an archive - - - - - A direct copy of the file contents is held in the archive - - - - - Common Zip compression method using a sliding dictionary - of up to 32KB and secondary compression from Huffman/Shannon-Fano trees - - - - - An extension to deflate with a 64KB window. Not supported by #Zip currently - - - - - Not supported by #Zip currently - - - - - WinZip special for AES encryption, Not supported by #Zip - - - - - Identifies the encryption algorithm used for an entry - - - - - No encryption has been used. - - - - - Encrypted using PKZIP 2.0 or 'classic' encryption. - - - - - DES encryption has been used. - - - - - RCS encryption has been used for encryption. - - - - - Triple DES encryption with 168 bit keys has been used for this entry. - - - - - Triple DES with 112 bit keys has been used for this entry. - - - - - AES 128 has been used for encryption. - - - - - AES 192 has been used for encryption. - - - - - AES 256 has been used for encryption. - - - - - RC2 corrected has been used for encryption. - - - - - Blowfish has been used for encryption. - - - - - Twofish has been used for encryption. - - - - - RCS has been used for encryption. - - - - - An unknown algorithm has been used for encryption. - - - - - Defines the contents of the general bit flags field for an archive entry. - - - - - Bit 0 if set indicates that the file is encrypted - - - - - Bits 1 and 2 - Two bits defining the compression method (only for Method 6 Imploding and 8,9 Deflating) - - - - - Bit 3 if set indicates a trailing data desciptor is appended to the entry data - - - - - Bit 4 is reserved for use with method 8 for enhanced deflation - - - - - Bit 5 if set indicates the file contains Pkzip compressed patched data. - Requires version 2.7 or greater. - - - - - Bit 6 if set strong encryption has been used for this entry. - - - - - Bit 7 is currently unused - - - - - Bit 8 is currently unused - - - - - Bit 9 is currently unused - - - - - Bit 10 is currently unused - - - - - Bit 11 if set indicates the filename and - comment fields for this file must be encoded using UTF-8. - - - - - Bit 12 is documented as being reserved by PKware for enhanced compression. - - - - - Bit 13 if set indicates that values in the local header are masked to hide - their actual values, and the central directory is encrypted. - - - Used when encrypting the central directory contents. - - - - - Bit 14 is documented as being reserved for use by PKware - - - - - Bit 15 is documented as being reserved for use by PKware - - - - - This class contains constants used for Zip format files - - - - - The version made by field for entries in the central header when created by this library - - - This is also the Zip version for the library when comparing against the version required to extract - for an entry. See . - - - - - The version made by field for entries in the central header when created by this library - - - This is also the Zip version for the library when comparing against the version required to extract - for an entry. See ZipInputStream.CanDecompressEntry. - - - - - The minimum version required to support strong encryption - - - - - The minimum version required to support strong encryption - - - - - The version required for Zip64 extensions - - - - - Size of local entry header (excluding variable length fields at end) - - - - - Size of local entry header (excluding variable length fields at end) - - - - - Size of Zip64 data descriptor - - - - - Size of data descriptor - - - - - Size of data descriptor - - - - - Size of central header entry (excluding variable fields) - - - - - Size of central header entry - - - - - Size of end of central record (excluding variable fields) - - - - - Size of end of central record (excluding variable fields) - - - - - Size of 'classic' cryptographic header stored before any entry data - - - - - Size of cryptographic header stored before entry data - - - - - Signature for local entry header - - - - - Signature for local entry header - - - - - Signature for spanning entry - - - - - Signature for spanning entry - - - - - Signature for temporary spanning entry - - - - - Signature for temporary spanning entry - - - - - Signature for data descriptor - - - This is only used where the length, Crc, or compressed size isnt known when the - entry is created and the output stream doesnt support seeking. - The local entry cannot be 'patched' with the correct values in this case - so the values are recorded after the data prefixed by this header, as well as in the central directory. - - - - - Signature for data descriptor - - - This is only used where the length, Crc, or compressed size isnt known when the - entry is created and the output stream doesnt support seeking. - The local entry cannot be 'patched' with the correct values in this case - so the values are recorded after the data prefixed by this header, as well as in the central directory. - - - - - Signature for central header - - - - - Signature for central header - - - - - Signature for Zip64 central file header - - - - - Signature for Zip64 central file header - - - - - Signature for Zip64 central directory locator - - - - - Signature for archive extra data signature (were headers are encrypted). - - - - - Central header digitial signature - - - - - Central header digitial signature - - - - - End of central directory record signature - - - - - End of central directory record signature - - - - - Convert a portion of a byte array to a string. - - - Data to convert to string - - - Number of bytes to convert starting from index 0 - - - data[0]..data[length - 1] converted to a string - - - - - Convert a byte array to string - - - Byte array to convert - - - dataconverted to a string - - - - - Convert a byte array to string - - The applicable general purpose bits flags - - Byte array to convert - - The number of bytes to convert. - - dataconverted to a string - - - - - Convert a byte array to string - - - Byte array to convert - - The applicable general purpose bits flags - - dataconverted to a string - - - - - Convert a string to a byte array - - - String to convert to an array - - Converted array - - - - Convert a string to a byte array - - The applicable general purpose bits flags - - String to convert to an array - - Converted array - - - - Initialise default instance of ZipConstants - - - Private to prevent instances being created. - - - - - Default encoding used for string conversion. 0 gives the default system OEM code page. - Dont use unicode encodings if you want to be Zip compatible! - Using the default code page isnt the full solution neccessarily - there are many variable factors, codepage 850 is often a good choice for - European users, however be careful about compatability. - - - - - This is a DeflaterOutputStream that writes the files into a zip - archive one after another. It has a special method to start a new - zip entry. The zip entries contains information about the file name - size, compressed size, CRC, etc. - - It includes support for Stored and Deflated entries. - This class is not thread safe. -
-
Author of the original java version : Jochen Hoenicke -
- This sample shows how to create a zip file - - using System; - using System.IO; - - using ICSharpCode.SharpZipLib.Core; - using ICSharpCode.SharpZipLib.Zip; - - class MainClass - { - public static void Main(string[] args) - { - string[] filenames = Directory.GetFiles(args[0]); - byte[] buffer = new byte[4096]; - - using ( ZipOutputStream s = new ZipOutputStream(File.Create(args[1])) ) { - - s.SetLevel(9); // 0 - store only to 9 - means best compression - - foreach (string file in filenames) { - ZipEntry entry = new ZipEntry(file); - s.PutNextEntry(entry); - - using (FileStream fs = File.OpenRead(file)) { - StreamUtils.Copy(fs, s, buffer); - } - } - } - } - } - - -
- - - A special stream deflating or compressing the bytes that are - written to it. It uses a Deflater to perform actual deflating.
- Authors of the original java version : Tom Tromey, Jochen Hoenicke -
-
- - - Creates a new DeflaterOutputStream with a default Deflater and default buffer size. - - - the output stream where deflated output should be written. - - - - - Creates a new DeflaterOutputStream with the given Deflater and - default buffer size. - - - the output stream where deflated output should be written. - - - the underlying deflater. - - - - - Creates a new DeflaterOutputStream with the given Deflater and - buffer size. - - - The output stream where deflated output is written. - - - The underlying deflater to use - - - The buffer size to use when deflating - - - bufsize is less than or equal to zero. - - - baseOutputStream does not support writing - - - deflater instance is null - - - - - Finishes the stream by calling finish() on the deflater. - - - Not all input is deflated - - - - - Encrypt a block of data - - - Data to encrypt. NOTE the original contents of the buffer are lost - - - Offset of first byte in buffer to encrypt - - - Number of bytes in buffer to encrypt - - - - - Initializes encryption keys based on given password - - The password. - - - - Deflates everything in the input buffers. This will call - def.deflate() until all bytes from the input buffers - are processed. - - - - - Sets the current position of this stream to the given value. Not supported by this class! - - The offset relative to the to seek. - The to seek from. - The new position in the stream. - Any access - - - - Sets the length of this stream to the given value. Not supported by this class! - - The new stream length. - Any access - - - - Read a byte from stream advancing position by one - - The byte read cast to an int. THe value is -1 if at the end of the stream. - Any access - - - - Read a block of bytes from stream - - The buffer to store read data in. - The offset to start storing at. - The maximum number of bytes to read. - The actual number of bytes read. Zero if end of stream is detected. - Any access - - - - Asynchronous reads are not supported a NotSupportedException is always thrown - - The buffer to read into. - The offset to start storing data at. - The number of bytes to read - The async callback to use. - The state to use. - Returns an - Any access - - - - Asynchronous writes arent supported, a NotSupportedException is always thrown - - The buffer to write. - The offset to begin writing at. - The number of bytes to write. - The to use. - The state object. - Returns an IAsyncResult. - Any access - - - - Flushes the stream by calling Flush on the deflater and then - on the underlying stream. This ensures that all bytes are flushed. - - - - - Calls and closes the underlying - stream when is true. - - - - - Writes a single byte to the compressed output stream. - - - The byte value. - - - - - Writes bytes from an array to the compressed stream. - - - The byte array - - - The offset into the byte array where to start. - - - The number of bytes to write. - - - - - This buffer is used temporarily to retrieve the bytes from the - deflater and write them to the underlying output stream. - - - - - The deflater which is used to deflate the stream. - - - - - Base stream the deflater depends on. - - - - - Get/set flag indicating ownership of the underlying stream. - When the flag is true will close the underlying stream also. - - - - - Allows client to determine if an entry can be patched after its added - - - - - Get/set the password used for encryption. - - When set to null or if the password is empty no encryption is performed - - - - Gets value indicating stream can be read from - - - - - Gets a value indicating if seeking is supported for this stream - This property always returns false - - - - - Get value indicating if this stream supports writing - - - - - Get current length of stream - - - - - Gets the current position within the stream. - - Any attempt to set position - - - - Creates a new Zip output stream, writing a zip archive. - - - The output stream to which the archive contents are written. - - - - - Set the zip file comment. - - - The comment text for the entire archive. - - - The converted comment is longer than 0xffff bytes. - - - - - Sets the compression level. The new level will be activated - immediately. - - The new compression level (1 to 9). - - Level specified is not supported. - - - - - - Get the current deflater compression level - - The current compression level - - - - Write an unsigned short in little endian byte order. - - - - - Write an int in little endian byte order. - - - - - Write an int in little endian byte order. - - - - - Starts a new Zip entry. It automatically closes the previous - entry if present. - All entry elements bar name are optional, but must be correct if present. - If the compression method is stored and the output is not patchable - the compression for that entry is automatically changed to deflate level 0 - - - the entry. - - - if entry passed is null. - - - if an I/O error occured. - - - if stream was finished - - - Too many entries in the Zip file
- Entry name is too long
- Finish has already been called
-
-
- - - Closes the current entry, updating header and footer information as required - - - An I/O error occurs. - - - No entry is active. - - - - - Writes the given buffer to the current entry. - - The buffer containing data to write. - The offset of the first byte to write. - The number of bytes to write. - Archive size is invalid - No entry is active. - - - - Finishes the stream. This will write the central directory at the - end of the zip file and flush the stream. - - - This is automatically called when the stream is closed. - - - An I/O error occurs. - - - Comment exceeds the maximum length
- Entry name exceeds the maximum length -
-
- - - The entries for the archive. - - - - - Used to track the crc of data added to entries. - - - - - The current entry being added. - - - - - Used to track the size of data for an entry during writing. - - - - - Offset to be recorded for each entry in the central header. - - - - - Comment for the entire archive recorded in central header. - - - - - Flag indicating that header patching is required for the current entry. - - - - - Position to patch crc - - - - - Position to patch size. - - - - - Gets a flag value of true if the central header has been added for this archive; false if it has not been added. - - No further entries can be added once this has been done. - - - - Get / set a value indicating how Zip64 Extension usage is determined when adding entries. - - Older archivers may not understand Zip64 extensions. - If backwards compatability is an issue be careful when adding entries to an archive. - Setting this property to off is workable but less desirable as in those circumstances adding a file - larger then 4GB will fail. - - - - INameTransform defines how file system names are transformed for use with archives. - - - - - Given a file name determine the transformed value. - - The name to transform. - The transformed file name. - - - - Given a directory name determine the transformed value. - - The name to transform. - The transformed directory name - - - - This class contains constants used for deflation. - - - - - Set to true to enable debugging - - - - - Written to Zip file to identify a stored block - - - - - Identifies static tree in Zip file - - - - - Identifies dynamic tree in Zip file - - - - - Header flag indicating a preset dictionary for deflation - - - - - Sets internal buffer sizes for Huffman encoding - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - Internal compression engine constant - - - - - This class stores the pending output of the Deflater. - - author of the original java version : Jochen Hoenicke - - - - - Construct instance with default buffer size - - - - - PathFilter filters directories and files using a form of regular expressions - by full path name. - See NameFilter for more detail on filtering. - - - - - Initialise a new instance of . - - The filter expression to apply. - - - - Test a name to see if it matches the filter. - - The name to test. - True if the name matches, false otherwise. - - - - ExtendedPathFilter filters based on name, file size, and the last write time of the file. - - Provides an example of how to customise filtering. - - - - Initialise a new instance of ExtendedPathFilter. - - The filter to apply. - The minimum file size to include. - The maximum file size to include. - - - - Initialise a new instance of ExtendedPathFilter. - - The filter to apply. - The minimum to include. - The maximum to include. - - - - Initialise a new instance of ExtendedPathFilter. - - The filter to apply. - The minimum file size to include. - The maximum file size to include. - The minimum to include. - The maximum to include. - - - - Test a filename to see if it matches the filter. - - The filename to test. - True if the filter matches, false otherwise. - - - - Get/set the minimum size for a file that will match this filter. - - - - - Get/set the maximum size for a file that will match this filter. - - - - - Get/set the minimum value that will match for this filter. - - Files with a LastWrite time less than this value are excluded by the filter. - - - - Get/set the maximum value that will match for this filter. - - Files with a LastWrite time greater than this value are excluded by the filter. - - - - NameAndSizeFilter filters based on name and file size. - - A sample showing how filters might be extended. - - - - Initialise a new instance of NameAndSizeFilter. - - The filter to apply. - The minimum file size to include. - The maximum file size to include. - - - - Test a filename to see if it matches the filter. - - The filename to test. - True if the filter matches, false otherwise. - - - - Get/set the minimum size for a file that will match this filter. - - - - - Get/set the maximum size for a file that will match this filter. - - - - - BZip2Exception represents exceptions specific to Bzip2 algorithm - - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initialise a new instance of BZip2Exception. - - - - - Initialise a new instance of BZip2Exception with its message set to message. - - The message describing the error. - - - - Initialise an instance of BZip2Exception - - A message describing the error. - The exception that is the cause of the current exception. - - - - GZipException represents a Gzip specific exception - - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initialise a new instance of GZipException - - - - - Initialise a new instance of GZipException with its message string. - - A that describes the error. - - - - Initialise a new instance of . - - A that describes the error. - The that caused this exception. - - - - Contains the output from the Inflation process. - We need to have a window so that we can refer backwards into the output stream - to repeat stuff.
- Author of the original java version : John Leuner -
-
- - - Write a byte to this output window - - value to write - - if window is full - - - - - Append a byte pattern already in the window itself - - length of pattern to copy - distance from end of window pattern occurs - - If the repeated data overflows the window - - - - - Copy from input manipulator to internal window - - source of data - length of data to copy - the number of bytes copied - - - - Copy dictionary to window - - source dictionary - offset of start in source dictionary - length of dictionary - - If window isnt empty - - - - - Get remaining unfilled space in window - - Number of bytes left in window - - - - Get bytes available for output in window - - Number of bytes filled - - - - Copy contents of window to output - - buffer to copy to - offset to start at - number of bytes to count - The number of bytes copied - - If a window underflow occurs - - - - - Reset by clearing window so GetAvailable returns 0 - - - - - Defines internal values for both compression and decompression - - - - - When multiplied by compression parameter (1-9) gives the block size for compression - 9 gives the best compresssion but uses the most memory. - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Backend constant - - - - - Random numbers used to randomise repetitive blocks - - - - - This filter stream is used to compress a stream into a "GZIP" stream. - The "GZIP" format is described in RFC 1952. - - author of the original java version : John Leuner - - This sample shows how to gzip a file - - using System; - using System.IO; - - using ICSharpCode.SharpZipLib.GZip; - using ICSharpCode.SharpZipLib.Core; - - class MainClass - { - public static void Main(string[] args) - { - using (Stream s = new GZipOutputStream(File.Create(args[0] + ".gz"))) - using (FileStream fs = File.OpenRead(args[0])) { - byte[] writeData = new byte[4096]; - Streamutils.Copy(s, fs, writeData); - } - } - } - } - - - - - - CRC-32 value for uncompressed data - - - - - Creates a GzipOutputStream with the default buffer size - - - The stream to read data (to be compressed) from - - - - - Creates a GZipOutputStream with the specified buffer size - - - The stream to read data (to be compressed) from - - - Size of the buffer to use - - - - - Sets the active compression level (1-9). The new level will be activated - immediately. - - The compression level to set. - - Level specified is not supported. - - - - - - Get the current compression level. - - The current compression level. - - - - Write given buffer to output updating crc - - Buffer to write - Offset of first byte in buf to write - Number of bytes to write - - - - Writes remaining compressed output data to the output stream - and closes it. - - - - - Finish compression and write any footer information required to stream - - - - - Arguments used with KeysRequiredEvent - - - - - Initialise a new instance of - - The name of the file for which keys are required. - - - - Initialise a new instance of - - The name of the file for which keys are required. - The current key value. - - - - Get the name of the file for which keys are required. - - - - - Get/set the key value - - - - - The strategy to apply to testing. - - - - - Find the first error only. - - - - - Find all possible errors. - - - - - The operation in progress reported by a during testing. - - TestArchive - - - - Setting up testing. - - - - - Testing an individual entries header - - - - - Testing an individual entries data - - - - - Testing an individual entry has completed. - - - - - Running miscellaneous tests - - - - - Testing is complete - - - - - Status returned returned by during testing. - - TestArchive - - - - Initialise a new instance of - - The this status applies to. - - - - Get the current in progress. - - - - - Get the this status is applicable to. - - - - - Get the current/last entry tested. - - - - - Get the number of errors detected so far. - - - - - Get the number of bytes tested so far for the current entry. - - - - - Get a value indicating wether the last entry test was valid. - - - - - Delegate invoked during testing if supplied indicating current progress and status. - - If the message is non-null an error has occured. If the message is null - the operation as found in status has started. - - - - The possible ways of applying updates to an archive. - - - - - Perform all updates on temporary files ensuring that the original file is saved. - - - - - Update the archive directly, which is faster but less safe. - - - - - This class represents a Zip archive. You can ask for the contained - entries, or get an input stream for a file entry. The entry is - automatically decompressed. - - You can also update the archive adding or deleting entries. - - This class is thread safe for input: You can open input streams for arbitrary - entries in different threads. -
-
Author of the original java version : Jochen Hoenicke -
- - - using System; - using System.Text; - using System.Collections; - using System.IO; - - using ICSharpCode.SharpZipLib.Zip; - - class MainClass - { - static public void Main(string[] args) - { - using (ZipFile zFile = new ZipFile(args[0])) { - Console.WriteLine("Listing of : " + zFile.Name); - Console.WriteLine(""); - Console.WriteLine("Raw Size Size Date Time Name"); - Console.WriteLine("-------- -------- -------- ------ ---------"); - foreach (ZipEntry e in zFile) { - if ( e.IsFile ) { - DateTime d = e.DateTime; - Console.WriteLine("{0, -10}{1, -10}{2} {3} {4}", e.Size, e.CompressedSize, - d.ToString("dd-MM-yy"), d.ToString("HH:mm"), - e.Name); - } - } - } - } - } - - -
- - - Event handler for handling encryption keys. - - - - - Handles getting of encryption keys when required. - - The file for which encryption keys are required. - - - - Opens a Zip file with the given name for reading. - - The name of the file to open. - - An i/o error occurs - - - The file doesn't contain a valid zip archive. - - - - - Opens a Zip file reading the given . - - The to read archive data from. - - An i/o error occurs. - - - The file doesn't contain a valid zip archive. - - - - - Opens a Zip file reading the given . - - The to read archive data from. - - An i/o error occurs - - - The file doesn't contain a valid zip archive.
- The stream provided cannot seek -
-
- - - Initialises a default instance with no entries and no file storage. - - - - - Finalize this instance. - - - - - Closes the ZipFile. If the stream is owned then this also closes the underlying input stream. - Once closed, no further instance methods should be called. - - - An i/o error occurs. - - - - - Create a new whose data will be stored in a file. - - The name of the archive to create. - Returns the newly created - - - - Create a new whose data will be stored on a stream. - - The stream providing data storage. - Returns the newly created - - - - Gets an enumerator for the Zip entries in this Zip file. - - Returns an for this archive. - - The Zip file has been closed. - - - - - Return the index of the entry with a matching name - - Entry name to find - If true the comparison is case insensitive - The index position of the matching entry or -1 if not found - - The Zip file has been closed. - - - - - Searches for a zip entry in this archive with the given name. - String comparisons are case insensitive - - - The name to find. May contain directory components separated by slashes ('/'). - - - A clone of the zip entry, or null if no entry with that name exists. - - - The Zip file has been closed. - - - - - Gets an input stream for reading the given zip entry data in an uncompressed form. - Normally the should be an entry returned by GetEntry(). - - The to obtain a data for - An input containing data for this - - The ZipFile has already been closed - - - The compression method for the entry is unknown - - - The entry is not found in the ZipFile - - - - - Creates an input stream reading a zip entry - - The index of the entry to obtain an input stream for. - - An input containing data for this - - - The ZipFile has already been closed - - - The compression method for the entry is unknown - - - The entry is not found in the ZipFile - - - - - Test an archive for integrity/validity - - Perform low level data Crc check - true if all tests pass, false otherwise - Testing will terminate on the first error found. - - - - Test an archive for integrity/validity - - Perform low level data Crc check - The to apply. - The handler to call during testing. - true if all tests pass, false otherwise - - - - Test a local header against that provided from the central directory - - - The entry to test against - - The type of tests to carry out. - The offset of the entries data in the file - - - - Begin updating this archive. - - The archive storage for use during the update. - The data source to utilise during updating. - - - - Begin updating to this archive. - - The storage to use during the update. - - - - Begin updating this archive. - - - - - - - - Commit current updates, updating this archive. - - - - - - - Abort updating leaving the archive unchanged. - - - - - - - Set the file comment to be recorded when the current update is commited. - - The comment to record. - - - - Add a new entry to the archive. - - The name of the file to add. - The compression method to use. - Ensure Unicode text is used for name and comment for this entry. - - - - Add a new entry to the archive. - - The name of the file to add. - The compression method to use. - - - - Add a file to the archive. - - The name of the file to add. - - - - Add a file entry with data. - - The source of the data for this entry. - The name to give to the entry. - - - - Add a file entry with data. - - The source of the data for this entry. - The name to give to the entry. - The compression method to use. - - - - Add a file entry with data. - - The source of the data for this entry. - The name to give to the entry. - The compression method to use. - Ensure Unicode text is used for name and comments for this entry. - - - - Add a that contains no data. - - The entry to add. - This can be used to add directories, volume labels, or empty file entries. - - - - Add a directory entry to the archive. - - The directory to add. - - - - Delete an entry by name - - The filename to delete - True if the entry was found and deleted; false otherwise. - - - - Delete a from the archive. - - The entry to delete. - - - - Write an unsigned short in little endian byte order. - - - - - Write an int in little endian byte order. - - - - - Write an unsigned int in little endian byte order. - - - - - Write a long in little endian byte order. - - - - - Get a raw memory buffer. - - Returns a raw memory buffer. - - - - Get the size of the source descriptor for a . - - The update to get the size for. - The descriptor size, zero if there isnt one. - - - - Get an output stream for the specified - - The entry to get an output stream for. - The output stream obtained for the entry. - - - - Releases the unmanaged resources used by the this instance and optionally releases the managed resources. - - true to release both managed and unmanaged resources; - false to release only unmanaged resources. - - - - Read an unsigned short in little endian byte order. - - Returns the value read. - - The stream ends prematurely - - - - - Read a uint in little endian byte order. - - Returns the value read. - - An i/o error occurs. - - - The file ends prematurely - - - - - Search for and read the central directory of a zip file filling the entries array. - - - An i/o error occurs. - - - The central directory is malformed or cannot be found - - - - - Locate the data for a given entry. - - - The start offset of the data. - - - The stream ends prematurely - - - The local header signature is invalid, the entry and central header file name lengths are different - or the local and entry compression methods dont match - - - - - Get/set the encryption key value. - - - - - Password to be used for encrypting/decrypting files. - - Set to null if no password is required. - - - - Get a value indicating wether encryption keys are currently available. - - - - - Get/set a flag indicating if the underlying stream is owned by the ZipFile instance. - If the flag is true then the stream will be closed when Close is called. - - - The default value is true in all cases. - - - - - Get a value indicating wether - this archive is embedded in another file or not. - - - - - Get a value indicating that this archive is a new one. - - - - - Gets the comment for the zip file. - - - - - Gets the name of this zip file. - - - - - Gets the number of entries in this zip file. - - - The Zip file has been closed. - - - - - Get the number of entries contained in this . - - - - - Indexer property for ZipEntries - - - - - Get / set the to apply to names when updating. - - - - - Get/set the used to generate values - during updates. - - - - - Get /set the buffer size to be used when updating this zip file. - - - - - Get a value indicating an update has been started. - - - - - Get / set a value indicating how Zip64 Extension usage is determined when adding entries. - - - - - Delegate for handling keys/password setting during compresion/decompression. - - - - - The kind of update to apply. - - - - - Class used to sort updates. - - - - - Compares two objects and returns a value indicating whether one is - less than, equal to or greater than the other. - - First object to compare - Second object to compare. - Compare result. - - - - Represents a pending update to a Zip file. - - - - - Copy an existing entry. - - The existing entry to copy. - - - - Get the for this update. - - This is the source or original entry. - - - - Get the that will be written to the updated/new file. - - - - - Get the command for this update. - - - - - Get the filename if any for this update. Null if none exists. - - - - - Get/set the location of the size patch for this update. - - - - - Get /set the location of the crc patch for this update. - - - - - Represents a string from a which is stored as an array of bytes. - - - - - Initialise a with a string. - - The textual string form. - - - - Initialise a using a string in its binary 'raw' form. - - - - - - Reset the comment to its initial state. - - - - - Implicit conversion of comment to a string. - - The to convert to a string. - The textual equivalent for the input value. - - - - Get a value indicating the original source of data for this instance. - True if the source was a string; false if the source was binary data. - - - - - Get the length of the comment when represented as raw bytes. - - - - - Get the comment in its 'raw' form as plain bytes. - - - - - An enumerator for Zip entries - - - - - An is a stream that you can write uncompressed data - to and flush, but cannot read, seek or do anything else to. - - - - - Close this stream instance. - - - - - Write any buffered data to underlying storage. - - - - - Gets a value indicating whether the current stream supports reading. - - - - - Gets a value indicating whether the current stream supports writing. - - - - - Gets a value indicating whether the current stream supports seeking. - - - - - Get the length in bytes of the stream. - - - - - Gets or sets the position within the current stream. - - - - - A is an - whose data is only a part or subsection of a file. - - - - - This filter stream is used to decompress data compressed using the "deflate" - format. The "deflate" format is described in RFC 1951. - - This stream may form the basis for other decompression filters, such - as the GZipInputStream. - - Author of the original java version : John Leuner. - - - - - Create an InflaterInputStream with the default decompressor - and a default buffer size of 4KB. - - - The InputStream to read bytes from - - - - - Create an InflaterInputStream with the specified decompressor - and a default buffer size of 4KB. - - - The source of input data - - - The decompressor used to decompress data read from baseInputStream - - - - - Create an InflaterInputStream with the specified decompressor - and the specified buffer size. - - - The InputStream to read bytes from - - - The decompressor to use - - - Size of the buffer to use - - - - - Skip specified number of bytes of uncompressed data - - - Number of bytes to skip - - - The number of bytes skipped, zero if the end of - stream has been reached - - - Number of bytes to skip is less than zero - - - - - Clear any cryptographic state. - - - - - Fills the buffer with more data to decompress. - - - Stream ends early - - - - - Flushes the baseInputStream - - - - - Sets the position within the current stream - Always throws a NotSupportedException - - The relative offset to seek to. - The defining where to seek from. - The new position in the stream. - Any access - - - - Set the length of the current stream - Always throws a NotSupportedException - - The new length value for the stream. - Any access - - - - Writes a sequence of bytes to stream and advances the current position - This method always throws a NotSupportedException - - Thew buffer containing data to write. - The offset of the first byte to write. - The number of bytes to write. - Any access - - - - Writes one byte to the current stream and advances the current position - Always throws a NotSupportedException - - The byte to write. - Any access - - - - Entry point to begin an asynchronous write. Always throws a NotSupportedException. - - The buffer to write data from - Offset of first byte to write - The maximum number of bytes to write - The method to be called when the asynchronous write operation is completed - A user-provided object that distinguishes this particular asynchronous write request from other requests - An IAsyncResult that references the asynchronous write - Any access - - - - Closes the input stream. When - is true the underlying stream is also closed. - - - - - Reads decompressed data into the provided buffer byte array - - - The array to read and decompress data into - - - The offset indicating where the data should be placed - - - The number of bytes to decompress - - The number of bytes read. Zero signals the end of stream - - Inflater needs a dictionary - - - - - Decompressor for this stream - - - - - Input buffer for this stream. - - - - - Base stream the inflater reads from. - - - - - The compressed size - - - - - Flag indicating wether this instance has been closed or not. - - - - - Flag indicating wether this instance is designated the stream owner. - When closing if this flag is true the underlying stream is closed. - - - - - Get/set flag indicating ownership of underlying stream. - When the flag is true will close the underlying stream also. - - - The default value is true. - - - - - Returns 0 once the end of the stream (EOF) has been reached. - Otherwise returns 1. - - - - - Gets a value indicating whether the current stream supports reading - - - - - Gets a value of false indicating seeking is not supported for this stream. - - - - - Gets a value of false indicating that this stream is not writeable. - - - - - A value representing the length of the stream in bytes. - - - - - The current position within the stream. - Throws a NotSupportedException when attempting to set the position - - Attempting to set the position - - - - Initialise a new instance of the class. - - The underlying stream to use for IO. - The start of the partial data. - The length of the partial data. - - - - Skip the specified number of input bytes. - - The maximum number of input bytes to skip. - The actuial number of input bytes skipped. - - - - Read a byte from this stream. - - Returns the byte read or -1 on end of stream. - - - - Close this partial input stream. - - - The underlying stream is not closed. Close the parent ZipFile class to do that. - - - - - Provides a static way to obtain a source of data for an entry. - - - - - Get a source of data by creating a new stream. - - Returns a to use for compression input. - Ideally a new stream is created and opened to achieve this, to avoid locking problems. - - - - Represents a source of data that can dynamically provide - multiple data sources based on the parameters passed. - - - - - Get a data source. - - The to get a source for. - The name for data if known. - Returns a to use for compression input. - Ideally a new stream is created and opened to achieve this, to avoid locking problems. - - - - Default implementation of a for use with files stored on disk. - - - - - Initialise a new instnace of - - The name of the file to obtain data from. - - - - Get a providing data. - - Returns a provising data. - - - - Default implementation of for files stored on disk. - - - - - Initialise a default instance of . - - - - - Get a providing data for an entry. - - The entry to provide data for. - The file name for data if known. - Returns a stream providing data; or null if not available - - - - Defines facilities for data storage when updating Zip Archives. - - - - - Get an empty that can be used for temporary output. - - Returns a temporary output - - - - - Convert a temporary output stream to a final stream. - - The resulting final - - - - - Make a temporary copy of the original stream. - - The to copy. - Returns a temporary output that is a copy of the input. - - - - Return a stream suitable for performing direct updates on the original source. - - The current stream. - Returns a stream suitable for direct updating. - This may be the current stream passed. - - - - Dispose of this instance. - - - - - Get the to apply during updates. - - - - - An abstract suitable for extension by inheritance. - - - - - Initializes a new instance of the class. - - The update mode. - - - - Gets a temporary output - - Returns the temporary output stream. - - - - - Converts the temporary to its final form. - - Returns a that can be used to read - the final storage for the archive. - - - - - Make a temporary copy of a . - - The to make a copy of. - Returns a temporary output that is a copy of the input. - - - - Return a stream suitable for performing direct updates on the original source. - - The to open for direct update. - Returns a stream suitable for direct updating. - - - - Disposes this instance. - - - - - Gets the update mode applicable. - - The update mode. - - - - An implementation suitable for hard disks. - - - - - Initializes a new instance of the class. - - The file. - The update mode. - - - - Initializes a new instance of the class. - - The file. - - - - Gets a temporary output for performing updates on. - - Returns the temporary output stream. - - - - Converts a temporary to its final form. - - Returns a that can be used to read - the final storage for the archive. - - - - Make a temporary copy of a stream. - - The to copy. - Returns a temporary output that is a copy of the input. - - - - Return a stream suitable for performing direct updates on the original source. - - The current stream. - Returns a stream suitable for direct updating. - If the stream is not null this is used as is. - - - - Disposes this instance. - - - - - An implementation suitable for in memory streams. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The to use - This constructor is for testing as memory streams dont really require safe mode. - - - - Gets the temporary output - - Returns the temporary output stream. - - - - Converts the temporary to its final form. - - Returns a that can be used to read - the final storage for the archive. - - - - Make a temporary copy of the original stream. - - The to copy. - Returns a temporary output that is a copy of the input. - - - - Return a stream suitable for performing direct updates on the original source. - - The original source stream - Returns a stream suitable for direct updating. - If the passed is not null this is used; - otherwise a new is returned. - - - - Disposes this instance. - - - - - Get the stream returned by if this was in fact called. - - - - - Generate a table for a byte-wise 32-bit CRC calculation on the polynomial: - x^32+x^26+x^23+x^22+x^16+x^12+x^11+x^10+x^8+x^7+x^5+x^4+x^2+x+1. - - Polynomials over GF(2) are represented in binary, one bit per coefficient, - with the lowest powers in the most significant bit. Then adding polynomials - is just exclusive-or, and multiplying a polynomial by x is a right shift by - one. If we call the above polynomial p, and represent a byte as the - polynomial q, also with the lowest power in the most significant bit (so the - byte 0xb1 is the polynomial x^7+x^3+x+1), then the CRC is (q*x^32) mod p, - where a mod b means the remainder after dividing a by b. - - This calculation is done using the shift-register method of multiplying and - taking the remainder. The register is initialized to zero, and for each - incoming bit, x^32 is added mod p to the register if the bit is a one (where - x^32 mod p is p+x^32 = x^26+...+1), and the register is multiplied mod p by - x (which is shifting right by one and adding x^32 mod p if the bit shifted - out is a one). We start with the highest power (least significant bit) of - q and repeat for all eight bits of q. - - The table is simply the CRC of all possible eight bit values. This is all - the information needed to generate CRC's on data a byte at a time for all - combinations of CRC register values and incoming bytes. - - - - - Interface to compute a data checksum used by checked input/output streams. - A data checksum can be updated by one byte or with a byte array. After each - update the value of the current checksum can be returned by calling - getValue. The complete checksum object can also be reset - so it can be used again with new data. - - - - - Resets the data checksum as if no update was ever called. - - - - - Adds one byte to the data checksum. - - - the data value to add. The high byte of the int is ignored. - - - - - Updates the data checksum with the bytes taken from the array. - - - buffer an array of bytes - - - - - Adds the byte array to the data checksum. - - - The buffer which contains the data - - - The offset in the buffer where the data starts - - - the number of data bytes to add. - - - - - Returns the data checksum computed so far. - - - - - The crc data checksum so far. - - - - - Resets the CRC32 data checksum as if no update was ever called. - - - - - Updates the checksum with the int bval. - - - the byte is taken as the lower 8 bits of value - - - - - Updates the checksum with the bytes taken from the array. - - - buffer an array of bytes - - - - - Adds the byte array to the data checksum. - - - The buffer which contains the data - - - The offset in the buffer where the data starts - - - The number of data bytes to update the CRC with. - - - - - Returns the CRC32 data checksum computed so far. - - - - - Basic implementation of - - - - - Defines factory methods for creating new values. - - - - - Create a for a file given its name - - The name of the file to create an entry for. - Returns a file entry based on the passed. - - - - Create a for a file given its name - - The name of the file to create an entry for. - If true get details from the file system if the file exists. - Returns a file entry based on the passed. - - - - Create a for a directory given its name - - The name of the directory to create an entry for. - Returns a directory entry based on the passed. - - - - Create a for a directory given its name - - The name of the directory to create an entry for. - If true get details from the file system for this directory if it exists. - Returns a directory entry based on the passed. - - - - Get/set the applicable. - - - - - Initialise a new instance of the class. - - A default , and the LastWriteTime for files is used. - - - - Initialise a new instance of using the specified - - The time setting to use when creating Zip entries. - - - - Initialise a new instance of using the specified - - The time to set all values to. - - - - Make a new for a file. - - The name of the file to create a new entry for. - Returns a new based on the . - - - - Make a new from a name. - - The name of the file to create a new entry for. - If true entry detail is retrieved from the file system if the file exists. - Returns a new based on the . - - - - Make a new for a directory. - - The raw untransformed name for the new directory - Returns a new representing a directory. - - - - Make a new for a directory. - - The raw untransformed name for the new directory - If true entry detail is retrieved from the file system if the file exists. - Returns a new representing a directory. - - - - Get / set the to be used when creating new values. - - - Setting this property to null will cause a default name transform to be used. - - - - - Get / set the in use. - - - - - Get / set the value to use when is set to - - - - - A bitmask defining the attributes to be retrieved from the actual file. - - The default is to get all possible attributes from the actual file. - - - - A bitmask defining which attributes are to be set on. - - By default no attributes are set on. - - - - Get set a value indicating wether unidoce text should be set on. - - - - - Defines the possible values to be used for the . - - - - - Use the recorded LastWriteTime value for the file. - - - - - Use the recorded LastWriteTimeUtc value for the file - - - - - Use the recorded CreateTime value for the file. - - - - - Use the recorded CreateTimeUtc value for the file. - - - - - Use the recorded LastAccessTime value for the file. - - - - - Use the recorded LastAccessTimeUtc value for the file. - - - - - Use a fixed value. - - The actual value used can be - specified via the constructor or - using the with the setting set - to which will use the when this class was constructed. - The property can also be used to set this value. - - - - PkzipClassic embodies the classic or original encryption facilities used in Pkzip archives. - While it has been superceded by more recent and more powerful algorithms, its still in use and - is viable for preventing casual snooping - - - - - Generates new encryption keys based on given seed - - The seed value to initialise keys with. - A new key value. - - - - PkzipClassicCryptoBase provides the low level facilities for encryption - and decryption using the PkzipClassic algorithm. - - - - - Transform a single byte - - - The transformed value - - - - - Set the key schedule for encryption/decryption. - - The data use to set the keys from. - - - - Update encryption keys - - - - - Reset the internal state. - - - - - PkzipClassic CryptoTransform for encryption. - - - - - Initialise a new instance of - - The key block to use. - - - - Transforms the specified region of the specified byte array. - - The input for which to compute the transform. - The offset into the byte array from which to begin using data. - The number of bytes in the byte array to use as data. - The computed transform. - - - - Transforms the specified region of the input byte array and copies - the resulting transform to the specified region of the output byte array. - - The input for which to compute the transform. - The offset into the input byte array from which to begin using data. - The number of bytes in the input byte array to use as data. - The output to which to write the transform. - The offset into the output byte array from which to begin writing data. - The number of bytes written. - - - - Cleanup internal state. - - - - - Gets a value indicating whether the current transform can be reused. - - - - - Gets the size of the input data blocks in bytes. - - - - - Gets the size of the output data blocks in bytes. - - - - - Gets a value indicating whether multiple blocks can be transformed. - - - - - PkzipClassic CryptoTransform for decryption. - - - - - Initialise a new instance of . - - The key block to decrypt with. - - - - Transforms the specified region of the specified byte array. - - The input for which to compute the transform. - The offset into the byte array from which to begin using data. - The number of bytes in the byte array to use as data. - The computed transform. - - - - Transforms the specified region of the input byte array and copies - the resulting transform to the specified region of the output byte array. - - The input for which to compute the transform. - The offset into the input byte array from which to begin using data. - The number of bytes in the input byte array to use as data. - The output to which to write the transform. - The offset into the output byte array from which to begin writing data. - The number of bytes written. - - - - Cleanup internal state. - - - - - Gets a value indicating whether the current transform can be reused. - - - - - Gets the size of the input data blocks in bytes. - - - - - Gets the size of the output data blocks in bytes. - - - - - Gets a value indicating whether multiple blocks can be transformed. - - - - - Defines a wrapper object to access the Pkzip algorithm. - This class cannot be inherited. - - - - - Generate an initial vector. - - - - - Generate a new random key. - - - - - Create an encryptor. - - The key to use for this encryptor. - Initialisation vector for the new encryptor. - Returns a new PkzipClassic encryptor - - - - Create a decryptor. - - Keys to use for this new decryptor. - Initialisation vector for the new decryptor. - Returns a new decryptor. - - - - Get / set the applicable block size in bits. - - The only valid block size is 8. - - - - Get an array of legal key sizes. - - - - - Get an array of legal block sizes. - - - - - Get / set the key value applicable. - - - - - This class represents an entry in a Tar archive. It consists - of the entry's header, as well as the entry's File. Entries - can be instantiated in one of three ways, depending on how - they are to be used. -

- TarEntries that are created from the header bytes read from - an archive are instantiated with the TarEntry( byte[] ) - constructor. These entries will be used when extracting from - or listing the contents of an archive. These entries have their - header filled in using the header bytes. They also set the File - to null, since they reference an archive entry not a file.

-

- TarEntries that are created from files that are to be written - into an archive are instantiated with the CreateEntryFromFile(string) - pseudo constructor. These entries have their header filled in using - the File's information. They also keep a reference to the File - for convenience when writing entries.

-

- Finally, TarEntries can be constructed from nothing but a name. - This allows the programmer to construct the entry by hand, for - instance when only an InputStream is available for writing to - the archive, and the header information is constructed from - other information. In this case the header fields are set to - defaults and the File is set to null.

- -
-
- - - Initialise a default instance of . - - - - - Construct an entry from an archive's header bytes. File is set - to null. - - - The header bytes from a tar archive entry. - - - - - Construct a TarEntry using the header provided - - Header details for entry - - - - Clone this tar entry. - - Returns a clone of this entry. - - - - Construct an entry with only a name. - This allows the programmer to construct the entry's header "by hand". - - The name to use for the entry - Returns the newly created - - - - Construct an entry for a file. File is set to file, and the - header is constructed from information from the file. - - The file name that the entry represents. - Returns the newly created - - - - Determine if the two entries are equal. Equality is determined - by the header names being equal. - - The to compare with the current Object. - - True if the entries are equal; false if not. - - - - - Derive a Hash value for the current - - A Hash code for the current - - - - Determine if the given entry is a descendant of this entry. - Descendancy is determined by the name of the descendant - starting with this entry's name. - - - Entry to be checked as a descendent of this. - - - True if entry is a descendant of this. - - - - - Convenience method to set this entry's group and user ids. - - - This entry's new user id. - - - This entry's new group id. - - - - - Convenience method to set this entry's group and user names. - - - This entry's new user name. - - - This entry's new group name. - - - - - Fill in a TarHeader with information from a File. - - - The TarHeader to fill in. - - - The file from which to get the header information. - - - - - Get entries for all files present in this entries directory. - If this entry doesnt represent a directory zero entries are returned. - - - An array of TarEntry's for this entry's children. - - - - - Write an entry's header information to a header buffer. - - - The tar entry header buffer to fill in. - - - - - Convenience method that will modify an entry's name directly - in place in an entry header buffer byte array. - - - The buffer containing the entry header to modify. - - - The new name to place into the header buffer. - - - - - Fill in a TarHeader given only the entry's name. - - - The TarHeader to fill in. - - - The tar entry name. - - - - - The name of the file this entry represents or null if the entry is not based on a file. - - - - - The entry's header information. - - - - - Get this entry's header. - - - This entry's TarHeader. - - - - - Get/Set this entry's name. - - - - - Get/set this entry's user id. - - - - - Get/set this entry's group id. - - - - - Get/set this entry's user name. - - - - - Get/set this entry's group name. - - - - - Get/Set the modification time for this entry - - - - - Get this entry's file. - - - This entry's file. - - - - - Get/set this entry's recorded file size. - - - - - Return true if this entry represents a directory, false otherwise - - - True if this entry is a directory. - - - - - This filter stream is used to decompress a "GZIP" format stream. - The "GZIP" format is described baseInputStream RFC 1952. - - author of the original java version : John Leuner - - This sample shows how to unzip a gzipped file - - using System; - using System.IO; - - using ICSharpCode.SharpZipLib.Core; - using ICSharpCode.SharpZipLib.GZip; - - class MainClass - { - public static void Main(string[] args) - { - using (Stream inStream = new GZipInputStream(File.OpenRead(args[0]))) - using (FileStream outStream = File.Create(Path.GetFileNameWithoutExtension(args[0]))) { - byte[] buffer = new byte[4096]; - StreamUtils.Copy(inStream, outStream, buffer); - } - } - } - - - - - - CRC-32 value for uncompressed data - - - - - Indicates end of stream - - - - - Creates a GZipInputStream with the default buffer size - - - The stream to read compressed data from (baseInputStream GZIP format) - - - - - Creates a GZIPInputStream with the specified buffer size - - - The stream to read compressed data from (baseInputStream GZIP format) - - - Size of the buffer to use - - - - - Reads uncompressed data into an array of bytes - - - The buffer to read uncompressed data into - - - The offset indicating where the data should be placed - - - The number of uncompressed bytes to be read - - Returns the number of bytes actually read. - - - - Provides simple " utilities. - - - - - Read from a ensuring all the required data is read. - - The stream to read. - The buffer to fill. - - - - Read from a " ensuring all the required data is read. - - The stream to read data from. - The buffer to store data in. - The offset at which to begin storing data. - The number of bytes of data to store. - - - - Copy the contents of one to another. - - The stream to source data from. - The stream to write data to. - The buffer to use during copying. - The progress handler delegate to use. - The minimum between progress updates. - The source for this event. - The name to use with the event. - - - - Copy the contents of one to another. - - The stream to source data from. - The stream to write data to. - The buffer to use during copying. - - - - Initialise an instance of - - - - - This is the DeflaterHuffman class. - - This class is not thread safe. This is inherent in the API, due - to the split of Deflate and SetInput. - - author of the original java version : Jochen Hoenicke - - - - - Pending buffer to use - - - - - Construct instance with pending buffer - - Pending buffer to use - - - - Reset internal state - - - - - Write all trees to pending buffer - - The number/rank of treecodes to send. - - - - Compress current buffer writing data to pending buffer - - - - - Flush block to output with no compression - - Data to write - Index of first byte to write - Count of bytes to write - True if this is the last block - - - - Flush block to output with compression - - Data to flush - Index of first byte to flush - Count of bytes to flush - True if this is the last block - - - - Get value indicating if internal buffer is full - - true if buffer is full - - - - Add literal to buffer - - Literal value to add to buffer. - Value indicating internal buffer is full - - - - Add distance code and length to literal and distance trees - - Distance code - Length - Value indicating if internal buffer is full - - - - Reverse the bits of a 16 bit value. - - Value to reverse bits - Value with bits reversed - - - - Resets the internal state of the tree - - - - - Check that all frequencies are zero - - - At least one frequency is non-zero - - - - - Set static codes and length - - new codes - length for new codes - - - - Build dynamic codes and lengths - - - - - Get encoded length - - Encoded length, the sum of frequencies * lengths - - - - Scan a literal or distance tree to determine the frequencies of the codes - in the bit length tree. - - - - - Write tree values - - Tree to write - - - - This class contains constants used for gzip. - - - - - Magic number found at start of GZIP header - - - - - Flag bit mask for text - - - - - Flag bitmask for Crc - - - - - Flag bit mask for extra - - - - - flag bitmask for name - - - - - flag bit mask indicating comment is present - - - - - Initialise default instance. - - Constructor is private to prevent instances being created. - - - - TarExceptions are used for exceptions specific to tar classes and code. - - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initialises a new instance of the TarException class. - - - - - Initialises a new instance of the TarException class with a specified message. - - The message that describes the error. - - - - - - A message describing the error. - The exception that is the cause of the current exception. - - - - Bzip2 checksum algorithm - - - - - Initialise a default instance of - - - - - Reset the state of Crc. - - - - - Update the Crc value. - - data update is based on - - - - Update Crc based on a block of data - - The buffer containing data to update the crc with. - - - - Update Crc based on a portion of a block of data - - block of data - index of first byte to use - number of bytes to use - - - - Get the current Crc value. - - - - - This is an InflaterInputStream that reads the files baseInputStream an zip archive - one after another. It has a special method to get the zip entry of - the next file. The zip entry contains information about the file name - size, compressed size, Crc, etc. - It includes support for Stored and Deflated entries. -
-
Author of the original java version : Jochen Hoenicke -
- - This sample shows how to read a zip file - - using System; - using System.Text; - using System.IO; - - using ICSharpCode.SharpZipLib.Zip; - - class MainClass - { - public static void Main(string[] args) - { - using ( ZipInputStream s = new ZipInputStream(File.OpenRead(args[0]))) { - - ZipEntry theEntry; - while ((theEntry = s.GetNextEntry()) != null) { - int size = 2048; - byte[] data = new byte[2048]; - - Console.Write("Show contents (y/n) ?"); - if (Console.ReadLine() == "y") { - while (true) { - size = s.Read(data, 0, data.Length); - if (size > 0) { - Console.Write(new ASCIIEncoding().GetString(data, 0, size)); - } else { - break; - } - } - } - } - } - } - } - - -
- - - The current reader this instance. - - - - - Creates a new Zip input stream, for reading a zip archive. - - The underlying providing data. - - - - Advances to the next entry in the archive - - - The next entry in the archive or null if there are no more entries. - - - If the previous entry is still open CloseEntry is called. - - - Input stream is closed - - - Password is not set, password is invalid, compression method is invalid, - version required to extract is not supported - - - - - Read data descriptor at the end of compressed data. - - - - - Complete cleanup as the final part of closing. - - True if the crc value should be tested - - - - Closes the current zip entry and moves to the next one. - - - The stream is closed - - - The Zip stream ends early - - - - - Reads a byte from the current zip entry. - - - The byte or -1 if end of stream is reached. - - - - - Handle attempts to read by throwing an . - - The destination array to store data in. - The offset at which data read should be stored. - The maximum number of bytes to read. - Returns the number of bytes actually read. - - - - Handle attempts to read from this entry by throwing an exception - - - - - Perform the initial read on an entry which may include - reading encryption headers and setting up inflation. - - The destination to fill with data read. - The offset to start reading at. - The maximum number of bytes to read. - The actual number of bytes read. - - - - Read a block of bytes from the stream. - - The destination for the bytes. - The index to start storing data. - The number of bytes to attempt to read. - Returns the number of bytes read. - Zero bytes read means end of stream. - - - - Reads a block of bytes from the current zip entry. - - - The number of bytes read (this may be less than the length requested, even before the end of stream), or 0 on end of stream. - - - An i/o error occured. - - - The deflated stream is corrupted. - - - The stream is not open. - - - - - Closes the zip input stream - - - - - Optional password used for encryption when non-null - - A password for all encrypted entries in this - - - - Gets a value indicating if there is a current entry and it can be decompressed - - - The entry can only be decompressed if the library supports the zip features required to extract it. - See the ZipEntry Version property for more details. - - - - - Returns 1 if there is an entry available - Otherwise returns 0. - - - - - Returns the current size that can be read from the current entry if available - - Thrown if the entry size is not known. - Thrown if no entry is currently available. - - - - ZipNameTransform transforms names as per the Zip file naming convention. - - The use of absolute names is supported although its use is not valid - according to Zip naming conventions, and should not be used if maximum compatability is desired. - - - - Initialize a new instance of - - - - - Initialize a new instance of - - The string to trim from front of paths if found. - - - - Static constructor. - - - - - Transform a directory name according to the Zip file naming conventions. - - The directory name to transform. - The transformed name. - - - - Transform a windows file name according to the Zip file naming conventions. - - The file name to transform. - The transformed name. - - - - Force a name to be valid by replacing invalid characters with a fixed value - - The name to force valid - The replacement character to use. - Returns a valid name - - - - Test a name to see if it is a valid name for a zip entry. - - The name to test. - If true checking is relaxed about windows file names and absolute paths. - Returns true if the name is a valid zip name; false otherwise. - Zip path names are actually in Unix format, and should only contain relative paths. - This means that any path stored should not contain a drive or - device letter, or a leading slash. All slashes should forward slashes '/'. - An empty name is valid for a file where the input comes from standard input. - A null name is not considered valid. - - - - - Test a name to see if it is a valid name for a zip entry. - - The name to test. - Returns true if the name is a valid zip name; false otherwise. - Zip path names are actually in unix format, - and should only contain relative paths if a path is present. - This means that the path stored should not contain a drive or - device letter, or a leading slash. All slashes should forward slashes '/'. - An empty name is valid where the input comes from standard input. - A null name is not considered valid. - - - - - Get/set the path prefix to be trimmed from paths if present. - - The prefix is trimmed before any conversion from - a windows path is done. - - - - This exception is used to indicate that there is a problem - with a TAR archive header. - - - - - Deserialization constructor - - for this constructor - for this constructor - - - - Initialise a new instance of the InvalidHeaderException class. - - - - - Initialises a new instance of the InvalidHeaderException class with a specified message. - - Message describing the exception cause. - - - - Initialise a new instance of InvalidHeaderException - - Message describing the problem. - The exception that is the cause of the current exception. - - - - This class allows us to retrieve a specified number of bits from - the input buffer, as well as copy big byte blocks. - - It uses an int buffer to store up to 31 bits for direct - manipulation. This guarantees that we can get at least 16 bits, - but we only need at most 15, so this is all safe. - - There are some optimizations in this class, for example, you must - never peek more than 8 bits more than needed, and you must first - peek bits before you may drop them. This is not a general purpose - class but optimized for the behaviour of the Inflater. - - authors of the original java version : John Leuner, Jochen Hoenicke - - - - - Constructs a default StreamManipulator with all buffers empty - - - - - Get the next sequence of bits but don't increase input pointer. bitCount must be - less or equal 16 and if this call succeeds, you must drop - at least n - 8 bits in the next call. - - The number of bits to peek. - - the value of the bits, or -1 if not enough bits available. */ - - - - - Drops the next n bits from the input. You should have called PeekBits - with a bigger or equal n before, to make sure that enough bits are in - the bit buffer. - - The number of bits to drop. - - - - Gets the next n bits and increases input pointer. This is equivalent - to followed by , except for correct error handling. - - The number of bits to retrieve. - - the value of the bits, or -1 if not enough bits available. - - - - - Skips to the next byte boundary. - - - - - Copies bytes from input buffer to output buffer starting - at output[offset]. You have to make sure, that the buffer is - byte aligned. If not enough bytes are available, copies fewer - bytes. - - - The buffer to copy bytes to. - - - The offset in the buffer at which copying starts - - - The length to copy, 0 is allowed. - - - The number of bytes copied, 0 if no bytes were available. - - - Length is less than zero - - - Bit buffer isnt byte aligned - - - - - Resets state and empties internal buffers - - - - - Add more input for consumption. - Only call when IsNeedingInput returns true - - data to be input - offset of first byte of input - number of bytes of input to add. - - - - Gets the number of bits available in the bit buffer. This must be - only called when a previous PeekBits() returned -1. - - - the number of bits available. - - - - - Gets the number of bytes available. - - - The number of bytes available. - - - - - Returns true when SetInput can be called - - - - - Strategies for deflater - - - - - The default strategy - - - - - This strategy will only allow longer string repetitions. It is - useful for random data with a small character set. - - - - - This strategy will not look for string repetitions at all. It - only encodes with Huffman trees (which means, that more common - characters get a smaller encoding. - - - - - Low level compression engine for deflate algorithm which uses a 32K sliding window - with secondary compression from Huffman/Shannon-Fano codes. - - - - - Construct instance with pending buffer - - - Pending buffer to use - > - - - - Deflate drives actual compression of data - - True to flush input buffers - Finish deflation with the current input. - Returns true if progress has been made. - - - - Sets input data to be deflated. Should only be called when NeedsInput() - returns true - - The buffer containing input data. - The offset of the first byte of data. - The number of bytes of data to use as input. - - - - Determines if more input is needed. - - Return true if input is needed via SetInput - - - - Set compression dictionary - - The buffer containing the dictionary data - The offset in the buffer for the first byte of data - The length of the dictionary data. - - - - Reset internal state - - - - - Reset Adler checksum - - - - - Set the deflate level (0-9) - - The value to set the level to. - - - - Fill the window - - - - - Inserts the current string in the head hash and returns the previous - value for this hash. - - The previous hash value - - - - Find the best (longest) string in the window matching the - string starting at strstart. - - Preconditions: - - strstart + MAX_MATCH <= window.length. - - - True if a match greater than the minimum length is found - - - - Hashtable, hashing three characters to an index for window, so - that window[index]..window[index+2] have this hash code. - Note that the array should really be unsigned short, so you need - to and the values with 0xffff. - - - - - prev[index & WMASK] points to the previous index that has the - same hash code as the string starting at index. This way - entries with the same hash code are in a linked list. - Note that the array should really be unsigned short, so you need - to and the values with 0xffff. - - - - - Points to the current character in the window. - - - - - lookahead is the number of characters starting at strstart in - window that are valid. - So window[strstart] until window[strstart+lookahead-1] are valid - characters. - - - - - This array contains the part of the uncompressed stream that - is of relevance. The current character is indexed by strstart. - - - - - The current compression function. - - - - - The input data for compression. - - - - - The total bytes of input read. - - - - - The offset into inputBuf, where input data starts. - - - - - The end offset of the input data. - - - - - The adler checksum - - - - - Get current value of Adler checksum - - - - - Total data processed - - - - - Get/set the deflate strategy - - - - - The TarBuffer class implements the tar archive concept - of a buffered input stream. This concept goes back to the - days of blocked tape drives and special io devices. In the - C# universe, the only real function that this class - performs is to ensure that files have the correct "record" - size, or other tars will complain. -

- You should never have a need to access this class directly. - TarBuffers are created by Tar IO Streams. -

-
-
- - - The size of a block in a tar archive in bytes. - - This is 512 bytes. - - - - The number of blocks in a default record. - - - The default value is 20 blocks per record. - - - - - The size in bytes of a default record. - - - The default size is 10KB. - - - - - Get the TAR Buffer's record size. - - The record size in bytes. - This is equal to the multiplied by the - - - - Get the TAR Buffer's block factor - - The block factor; the number of blocks per record. - - - - Construct a default TarBuffer - - - - - Create TarBuffer for reading with default BlockFactor - - Stream to buffer - A new suitable for input. - - - - Construct TarBuffer for reading inputStream setting BlockFactor - - Stream to buffer - Blocking factor to apply - A new suitable for input. - - - - Construct TarBuffer for writing with default BlockFactor - - output stream for buffer - A new suitable for output. - - - - Construct TarBuffer for writing Tar output to streams. - - Output stream to write to. - Blocking factor to apply - A new suitable for output. - - - - Initialization common to all constructors. - - - - - Determine if an archive block indicates End of Archive. End of - archive is indicated by a block that consists entirely of null bytes. - All remaining blocks for the record should also be null's - However some older tars only do a couple of null blocks (Old GNU tar for one) - and also partial records - - The data block to check. - Returns true if the block is an EOF block; false otherwise. - - - - Skip over a block on the input stream. - - - - - Read a block from the input stream. - - - The block of data read. - - - - - Read a record from data stream. - - - false if End-Of-File, else true. - - - - - Get the current block number, within the current record, zero based. - - - The current zero based block number. - - - The absolute block number = (record number * block factor) + block number. - - - - - Get the current record number. - - - The current zero based record number. - - - - - Write a block of data to the archive. - - - The data to write to the archive. - - - - - Write an archive record to the archive, where the record may be - inside of a larger array buffer. The buffer must be "offset plus - record size" long. - - - The buffer containing the record data to write. - - - The offset of the record data within buffer. - - - - - Write a TarBuffer record to the archive. - - - - - Flush the current record if it has any data in it. - - - - - Close the TarBuffer. If this is an output buffer, also flush the - current block before closing. - - - - - Get the record size for this buffer - - The record size in bytes. - This is equal to the multiplied by the - - - - Get the Blocking factor for the buffer - - This is the number of block in each record. - - - - Get the current block number, within the current record, zero based. - - - - - Get the current record number. - - - The current zero based record number. - - - - - This class encapsulates the Tar Entry Header used in Tar Archives. - The class also holds a number of tar constants, used mostly in headers. - - - - - The length of the name field in a header buffer. - - - - - The length of the mode field in a header buffer. - - - - - The length of the user id field in a header buffer. - - - - - The length of the group id field in a header buffer. - - - - - The length of the checksum field in a header buffer. - - - - - Offset of checksum in a header buffer. - - - - - The length of the size field in a header buffer. - - - - - The length of the magic field in a header buffer. - - - - - The length of the version field in a header buffer. - - - - - The length of the modification time field in a header buffer. - - - - - The length of the user name field in a header buffer. - - - - - The length of the group name field in a header buffer. - - - - - The length of the devices field in a header buffer. - - - - - The "old way" of indicating a normal file. - - - - - Normal file type. - - - - - Link file type. - - - - - Symbolic link file type. - - - - - Character device file type. - - - - - Block device file type. - - - - - Directory file type. - - - - - FIFO (pipe) file type. - - - - - Contiguous file type. - - - - - Posix.1 2001 global extended header - - - - - Posix.1 2001 extended header - - - - - Solaris access control list file type - - - - - GNU dir dump file type - This is a dir entry that contains the names of files that were in the - dir at the time the dump was made - - - - - Solaris Extended Attribute File - - - - - Inode (metadata only) no file content - - - - - Identifies the next file on the tape as having a long link name - - - - - Identifies the next file on the tape as having a long name - - - - - Continuation of a file that began on another volume - - - - - For storing filenames that dont fit in the main header (old GNU) - - - - - GNU Sparse file - - - - - GNU Tape/volume header ignore on extraction - - - - - The magic tag representing a POSIX tar archive. (includes trailing NULL) - - - - - The magic tag representing an old GNU tar archive where version is included in magic and overwrites it - - - - - Initialise a default TarHeader instance - - - - - Get the name of this entry. - - The entry's name. - - - - Create a new that is a copy of the current instance. - - A new that is a copy of the current instance. - - - - Parse TarHeader information from a header buffer. - - - The tar entry header buffer to get information from. - - - - - 'Write' header information to buffer provided, updating the check sum. - - output buffer for header information - - - - Get a hash code for the current object. - - A hash code for the current object. - - - - Determines if this instance is equal to the specified object. - - The object to compare with. - true if the objects are equal, false otherwise. - - - - Set defaults for values used when constructing a TarHeader instance. - - Value to apply as a default for userId. - Value to apply as a default for userName. - Value to apply as a default for groupId. - Value to apply as a default for groupName. - - - - Parse an octal string from a header buffer. - - The header buffer from which to parse. - The offset into the buffer from which to parse. - The number of header bytes to parse. - The long equivalent of the octal string. - - - - Parse a name from a header buffer. - - - The header buffer from which to parse. - - - The offset into the buffer from which to parse. - - - The number of header bytes to parse. - - - The name parsed. - - - - - Add name to the buffer as a collection of bytes - - The name to add - The offset of the first character - The buffer to add to - The index of the first byte to add - The number of characters/bytes to add - The next free index in the buffer - - - - Add name to the buffer as a collection of bytes - - The name to add - The offset of the first character - The buffer to add to - The index of the first byte to add - The number of characters/bytes to add - The next free index in the buffer - - - - Add an entry name to the buffer - - - The name to add - - - The buffer to add to - - - The offset into the buffer from which to start adding - - - The number of header bytes to add - - - The index of the next free byte in the buffer - - - - - Add an entry name to the buffer - - The name to add - The buffer to add to - The offset into the buffer from which to start adding - The number of header bytes to add - The index of the next free byte in the buffer - - - - Add a string to a buffer as a collection of ascii bytes. - - The string to add - The offset of the first character to add. - The buffer to add to. - The offset to start adding at. - The number of ascii characters to add. - The next free index in the buffer. - - - - Put an octal representation of a value into a buffer - - - the value to be converted to octal - - - buffer to store the octal string - - - The offset into the buffer where the value starts - - - The length of the octal string to create - - - The offset of the character next byte after the octal string - - - - - Put an octal representation of a value into a buffer - - Value to be convert to octal - The buffer to update - The offset into the buffer to store the value - The length of the octal string - Index of next byte - - - - Add the checksum integer to header buffer. - - - The header buffer to set the checksum for - The offset into the buffer for the checksum - The number of header bytes to update. - It's formatted differently from the other fields: it has 6 digits, a - null, then a space -- rather than digits, a space, then a null. - The final space is already there, from checksumming - - The modified buffer offset - - - - Compute the checksum for a tar entry header. - The checksum field must be all spaces prior to this happening - - The tar entry's header buffer. - The computed checksum. - - - - Make a checksum for a tar entry ignoring the checksum contents. - - The tar entry's header buffer. - The checksum for the buffer - - - - Get/set the name for this tar entry. - - Thrown when attempting to set the property to null. - - - - Get/set the entry's Unix style permission mode. - - - - - The entry's user id. - - - This is only directly relevant to unix systems. - The default is zero. - - - - - Get/set the entry's group id. - - - This is only directly relevant to linux/unix systems. - The default value is zero. - - - - - Get/set the entry's size. - - Thrown when setting the size to less than zero. - - - - Get/set the entry's modification time. - - - The modification time is only accurate to within a second. - - Thrown when setting the date time to less than 1/1/1970. - - - - Get the entry's checksum. This is only valid/updated after writing or reading an entry. - - - - - Get value of true if the header checksum is valid, false otherwise. - - - - - Get/set the entry's type flag. - - - - - The entry's link name. - - Thrown when attempting to set LinkName to null. - - - - Get/set the entry's magic tag. - - Thrown when attempting to set Magic to null. - - - - The entry's version. - - Thrown when attempting to set Version to null. - - - - The entry's user name. - - - - - Get/set the entry's group name. - - - This is only directly relevant to unix systems. - - - - - Get/set the entry's major device number. - - - - - Get/set the entry's minor device number. - - - - - Event arguments for scanning. - - - - - Initialise a new instance of - - The file or directory name. - - - - The fie or directory name for this event. - - - - - Get set a value indicating if scanning should continue or not. - - - - - Event arguments during processing of a single file or directory. - - - - - Initialise a new instance of - - The file or directory name if known. - The number of bytes processed so far - The total number of bytes to process, 0 if not known - - - - The name for this event if known. - - - - - Get set a value indicating wether scanning should continue or not. - - - - - Get a percentage representing how much of the has been processed - - 0.0 to 100.0 percent; 0 if target is not known. - - - - The number of bytes processed so far - - - - - The number of bytes to process. - - Target may be 0 or negative if the value isnt known. - - - - Event arguments for directories. - - - - - Initialize an instance of . - - The name for this directory. - Flag value indicating if any matching files are contained in this directory. - - - - Get a value indicating if the directory contains any matching files or not. - - - - - Arguments passed when scan failures are detected. - - - - - Initialise a new instance of - - The name to apply. - The exception to use. - - - - The applicable name. - - - - - The applicable exception. - - - - - Get / set a value indicating wether scanning should continue. - - - - - Delegate invoked before starting to process a directory. - - - - - Delegate invoked before starting to process a file. - - The source of the event - The event arguments. - - - - Delegate invoked during processing of a file or directory - - The source of the event - The event arguments. - - - - Delegate invoked when a file has been completely processed. - - The source of the event - The event arguments. - - - - Delegate invoked when a directory failure is detected. - - The source of the event - The event arguments. - - - - Delegate invoked when a file failure is detected. - - The source of the event - The event arguments. - - - - FileSystemScanner provides facilities scanning of files and directories. - - - - - Initialise a new instance of - - The file filter to apply when scanning. - - - - Initialise a new instance of - - The file filter to apply. - The directory filter to apply. - - - - Initialise a new instance of - - The file filter to apply. - - - - Initialise a new instance of - - The file filter to apply. - The directory filter to apply. - - - - Delegate to invoke when a directory is processed. - - - - - Delegate to invoke when a file is processed. - - - - - Delegate to invoke when processing for a file has finished. - - - - - Delegate to invoke when a directory failure is detected. - - - - - Delegate to invoke when a file failure is detected. - - - - - Raise the DirectoryFailure event. - - The directory name. - The exception detected. - - - - Raise the FileFailure event. - - The file name. - The exception detected. - - - - Raise the ProcessFile event. - - The file name. - - - - Raise the complete file event - - The file name - - - - Raise the ProcessDirectory event. - - The directory name. - Flag indicating if the directory has matching files. - - - - Scan a directory. - - The base directory to scan. - True to recurse subdirectories, false to scan a single directory. - - - - The file filter currently in use. - - - - - The directory filter currently in use. - - - - - Flag indicating if scanning should continue running. - - - - - An input buffer customised for use by - - - The buffer supports decryption of incoming data. - - - - - Initialise a new instance of with a default buffer size - - The stream to buffer. - - - - Initialise a new instance of - - The stream to buffer. - The size to use for the buffer - A minimum buffer size of 1KB is permitted. Lower sizes are treated as 1KB. - - - - Call passing the current clear text buffer contents. - - The inflater to set input for. - - - - Fill the buffer from the underlying input stream. - - - - - Read a buffer directly from the input stream - - The buffer to fill - Returns the number of bytes read. - - - - Read a buffer directly from the input stream - - The buffer to read into - The offset to start reading data into. - The number of bytes to read. - Returns the number of bytes read. - - - - Read clear text data from the input stream. - - The buffer to add data to. - The offset to start adding data at. - The number of bytes to read. - Returns the number of bytes actually read. - - - - Read a from the input stream. - - Returns the byte read. - - - - Read an in little endian byte order. - - The short value read case to an int. - - - - Read an in little endian byte order. - - The int value read. - - - - Read a in little endian byte order. - - The long value read. - - - - Get the length of bytes bytes in the - - - - - Get the contents of the raw data buffer. - - This may contain encrypted data. - - - - Get the number of useable bytes in - - - - - Get the contents of the clear text buffer. - - - - - Get/set the number of bytes available - - - - - Get/set the to apply to any data. - - Set this value to null to have no transform applied. - - - - The TarOutputStream writes a UNIX tar archive as an OutputStream. - Methods are provided to put entries, and then write their contents - by writing to this stream using write(). - - public - - - - Construct TarOutputStream using default block factor - - stream to write to - - - - Construct TarOutputStream with user specified block factor - - stream to write to - blocking factor - - - - set the position within the current stream - - The offset relative to the to seek to - The to seek from. - The new position in the stream. - - - - Set the length of the current stream - - The new stream length. - - - - Read a byte from the stream and advance the position within the stream - by one byte or returns -1 if at the end of the stream. - - The byte value or -1 if at end of stream - - - - read bytes from the current stream and advance the position within the - stream by the number of bytes read. - - The buffer to store read bytes in. - The index into the buffer to being storing bytes at. - The desired number of bytes to read. - The total number of bytes read, or zero if at the end of the stream. - The number of bytes may be less than the count - requested if data is not avialable. - - - - All buffered data is written to destination - - - - - Ends the TAR archive without closing the underlying OutputStream. - The result is that the EOF block of nulls is written. - - - - - Ends the TAR archive and closes the underlying OutputStream. - - This means that Finish() is called followed by calling the - TarBuffer's Close(). - - - - Get the record size being used by this stream's TarBuffer. - - - The TarBuffer record size. - - - - - Put an entry on the output stream. This writes the entry's - header and positions the output stream for writing - the contents of the entry. Once this method is called, the - stream is ready for calls to write() to write the entry's - contents. Once the contents are written, closeEntry() - MUST be called to ensure that all buffered data - is completely written to the output stream. - - - The TarEntry to be written to the archive. - - - - - Close an entry. This method MUST be called for all file - entries that contain data. The reason is that we must - buffer data written to the stream in order to satisfy - the buffer's block based writes. Thus, there may be - data fragments still being assembled that must be written - to the output stream before this entry is closed and the - next entry written. - - - - - Writes a byte to the current tar archive entry. - This method simply calls Write(byte[], int, int). - - - The byte to be written. - - - - - Writes bytes to the current tar archive entry. This method - is aware of the current entry and will throw an exception if - you attempt to write bytes past the length specified for the - current entry. The method is also (painfully) aware of the - record buffering required by TarBuffer, and manages buffers - that are not a multiple of recordsize in length, including - assembling records from small buffers. - - - The buffer to write to the archive. - - - The offset in the buffer from which to get bytes. - - - The number of bytes to write. - - - - - Write an EOF (end of archive) block to the tar archive. - An EOF block consists of all zeros. - - - - - bytes written for this entry so far - - - - - current 'Assembly' buffer length - - - - - Flag indicating wether this instance has been closed or not. - - - - - Size for the current entry - - - - - single block working buffer - - - - - 'Assembly' buffer used to assemble data before writing - - - - - TarBuffer used to provide correct blocking factor - - - - - the destination stream for the archive contents - - - - - true if the stream supports reading; otherwise, false. - - - - - true if the stream supports seeking; otherwise, false. - - - - - true if stream supports writing; otherwise, false. - - - - - length of stream in bytes - - - - - gets or sets the position within the current stream. - - - - - Get the record size being used by this stream's TarBuffer. - - - - - Get a value indicating wether an entry is open, requiring more data to be written. - - - - - This is the Deflater class. The deflater class compresses input - with the deflate algorithm described in RFC 1951. It has several - compression levels and three different strategies described below. - - This class is not thread safe. This is inherent in the API, due - to the split of deflate and setInput. - - author of the original java version : Jochen Hoenicke - - - - - The best and slowest compression level. This tries to find very - long and distant string repetitions. - - - - - The worst but fastest compression level. - - - - - The default compression level. - - - - - This level won't compress at all but output uncompressed blocks. - - - - - The compression method. This is the only method supported so far. - There is no need to use this constant at all. - - - - - Creates a new deflater with default compression level. - - - - - Creates a new deflater with given compression level. - - - the compression level, a value between NO_COMPRESSION - and BEST_COMPRESSION, or DEFAULT_COMPRESSION. - - if lvl is out of range. - - - - Creates a new deflater with given compression level. - - - the compression level, a value between NO_COMPRESSION - and BEST_COMPRESSION. - - - true, if we should suppress the Zlib/RFC1950 header at the - beginning and the adler checksum at the end of the output. This is - useful for the GZIP/PKZIP formats. - - if lvl is out of range. - - - - Resets the deflater. The deflater acts afterwards as if it was - just created with the same compression level and strategy as it - had before. - - - - - Flushes the current input block. Further calls to deflate() will - produce enough output to inflate everything in the current input - block. This is not part of Sun's JDK so I have made it package - private. It is used by DeflaterOutputStream to implement - flush(). - - - - - Finishes the deflater with the current input block. It is an error - to give more input after this method was called. This method must - be called to force all bytes to be flushed. - - - - - Sets the data which should be compressed next. This should be only - called when needsInput indicates that more input is needed. - If you call setInput when needsInput() returns false, the - previous input that is still pending will be thrown away. - The given byte array should not be changed, before needsInput() returns - true again. - This call is equivalent to setInput(input, 0, input.length). - - - the buffer containing the input data. - - - if the buffer was finished() or ended(). - - - - - Sets the data which should be compressed next. This should be - only called when needsInput indicates that more input is needed. - The given byte array should not be changed, before needsInput() returns - true again. - - - the buffer containing the input data. - - - the start of the data. - - - the number of data bytes of input. - - - if the buffer was Finish()ed or if previous input is still pending. - - - - - Sets the compression level. There is no guarantee of the exact - position of the change, but if you call this when needsInput is - true the change of compression level will occur somewhere near - before the end of the so far given input. - - - the new compression level. - - - - - Get current compression level - - Returns the current compression level - - - - Sets the compression strategy. Strategy is one of - DEFAULT_STRATEGY, HUFFMAN_ONLY and FILTERED. For the exact - position where the strategy is changed, the same as for - SetLevel() applies. - - - The new compression strategy. - - - - - Deflates the current input block with to the given array. - - - The buffer where compressed data is stored - - - The number of compressed bytes added to the output, or 0 if either - IsNeedingInput() or IsFinished returns true or length is zero. - - - - - Deflates the current input block to the given array. - - - Buffer to store the compressed data. - - - Offset into the output array. - - - The maximum number of bytes that may be stored. - - - The number of compressed bytes added to the output, or 0 if either - needsInput() or finished() returns true or length is zero. - - - If Finish() was previously called. - - - If offset or length don't match the array length. - - - - - Sets the dictionary which should be used in the deflate process. - This call is equivalent to setDictionary(dict, 0, dict.Length). - - - the dictionary. - - - if SetInput () or Deflate () were already called or another dictionary was already set. - - - - - Sets the dictionary which should be used in the deflate process. - The dictionary is a byte array containing strings that are - likely to occur in the data which should be compressed. The - dictionary is not stored in the compressed output, only a - checksum. To decompress the output you need to supply the same - dictionary again. - - - The dictionary data - - - The index where dictionary information commences. - - - The number of bytes in the dictionary. - - - If SetInput () or Deflate() were already called or another dictionary was already set. - - - - - Compression level. - - - - - If true no Zlib/RFC1950 headers or footers are generated - - - - - The current state. - - - - - The total bytes of output written. - - - - - The pending output. - - - - - The deflater engine. - - - - - Gets the current adler checksum of the data that was processed so far. - - - - - Gets the number of input bytes processed so far. - - - - - Gets the number of output bytes so far. - - - - - Returns true if the stream was finished and no more output bytes - are available. - - - - - Returns true, if the input buffer is empty. - You should then call setInput(). - NOTE: This method can also return true when the stream - was finished. - - - - - The TarInputStream reads a UNIX tar archive as an InputStream. - methods are provided to position at each successive entry in - the archive, and the read each entry as a normal input stream - using read(). - - - - - Construct a TarInputStream with default block factor - - stream to source data from - - - - Construct a TarInputStream with user specified block factor - - stream to source data from - block factor to apply to archive - - - - Flushes the baseInputStream - - - - - Set the streams position. This operation is not supported and will throw a NotSupportedException - - The offset relative to the origin to seek to. - The to start seeking from. - The new position in the stream. - Any access - - - - Sets the length of the stream - This operation is not supported and will throw a NotSupportedException - - The new stream length. - Any access - - - - Writes a block of bytes to this stream using data from a buffer. - This operation is not supported and will throw a NotSupportedException - - The buffer containing bytes to write. - The offset in the buffer of the frist byte to write. - The number of bytes to write. - Any access - - - - Writes a byte to the current position in the file stream. - This operation is not supported and will throw a NotSupportedException - - The byte value to write. - Any access - - - - Reads a byte from the current tar archive entry. - - A byte cast to an int; -1 if the at the end of the stream. - - - - Reads bytes from the current tar archive entry. - - This method is aware of the boundaries of the current - entry in the archive and will deal with them appropriately - - - The buffer into which to place bytes read. - - - The offset at which to place bytes read. - - - The number of bytes to read. - - - The number of bytes read, or 0 at end of stream/EOF. - - - - - Closes this stream. Calls the TarBuffer's close() method. - The underlying stream is closed by the TarBuffer. - - - - - Set the entry factory for this instance. - - The factory for creating new entries - - - - Get the record size being used by this stream's TarBuffer. - - - TarBuffer record size. - - - - - Skip bytes in the input buffer. This skips bytes in the - current entry's data, not the entire archive, and will - stop at the end of the current entry's data if the number - to skip extends beyond that point. - - - The number of bytes to skip. - - - - - Since we do not support marking just yet, we do nothing. - - - The limit to mark. - - - - - Since we do not support marking just yet, we do nothing. - - - - - Get the next entry in this tar archive. This will skip - over any remaining data in the current entry, if there - is one, and place the input stream at the header of the - next entry, and read the header and instantiate a new - TarEntry from the header bytes and return that entry. - If there are no more entries in the archive, null will - be returned to indicate that the end of the archive has - been reached. - - - The next TarEntry in the archive, or null. - - - - - Copies the contents of the current tar archive entry directly into - an output stream. - - - The OutputStream into which to write the entry's data. - - - - - Flag set when last block has been read - - - - - Size of this entry as recorded in header - - - - - Number of bytes read for this entry so far - - - - - Buffer used with calls to Read() - - - - - Working buffer - - - - - Current entry being read - - - - - Factory used to create TarEntry or descendant class instance - - - - - Stream used as the source of input data. - - - - - Gets a value indicating whether the current stream supports reading - - - - - Gets a value indicating whether the current stream supports seeking - This property always returns false. - - - - - Gets a value indicating if the stream supports writing. - This property always returns false. - - - - - The length in bytes of the stream - - - - - Gets or sets the position within the stream. - Setting the Position is not supported and throws a NotSupportedExceptionNotSupportedException - - Any attempt to set position - - - - Get the record size being used by this stream's TarBuffer. - - - - - Get the available data that can be read from the current - entry in the archive. This does not indicate how much data - is left in the entire archive, only in the current entry. - This value is determined from the entry's size header field - and the amount of data already read from the current entry. - - - The number of available bytes for the current entry. - - - - - Return a value of true if marking is supported; false otherwise. - - Currently marking is not supported, the return value is always false. - - - - This interface is provided, along with the method , to allow - the programmer to have their own subclass instantiated for the - entries return from . - - - - - Create an entry based on name alone - - - Name of the new EntryPointNotFoundException to create - - created TarEntry or descendant class - - - - Create an instance based on an actual file - - - Name of file to represent in the entry - - - Created TarEntry or descendant class - - - - - Create a tar entry based on the header information passed - - - Buffer containing header information to base entry on - - - Created TarEntry or descendant class - - - - - Standard entry factory class creating instances of the class TarEntry - - - - - Create a based on named - - The name to use for the entry - A new - - - - Create a tar entry with details obtained from file - - The name of the file to retrieve details from. - A new - - - - Create an entry based on details in header - - The buffer containing entry details. - A new - - - - Defines known values for the property. - - - - - Host system = MSDOS - - - - - Host system = Amiga - - - - - Host system = Open VMS - - - - - Host system = Unix - - - - - Host system = VMCms - - - - - Host system = Atari ST - - - - - Host system = OS2 - - - - - Host system = Macintosh - - - - - Host system = ZSystem - - - - - Host system = Cpm - - - - - Host system = Windows NT - - - - - Host system = MVS - - - - - Host system = VSE - - - - - Host system = Acorn RISC - - - - - Host system = VFAT - - - - - Host system = Alternate MVS - - - - - Host system = BEOS - - - - - Host system = Tandem - - - - - Host system = OS400 - - - - - Host system = OSX - - - - - Host system = WinZIP AES - - - - - This class represents an entry in a zip archive. This can be a file - or a directory - ZipFile and ZipInputStream will give you instances of this class as - information about the members in an archive. ZipOutputStream - uses an instance of this class when creating an entry in a Zip file. -
-
Author of the original java version : Jochen Hoenicke -
-
- - - Creates a zip entry with the given name. - - - The name for this entry. Can include directory components. - The convention for names is 'unix' style paths with relative names only. - There are with no device names and path elements are separated by '/' characters. - - - The name passed is null - - - - - Creates a zip entry with the given name and version required to extract - - - The name for this entry. Can include directory components. - The convention for names is 'unix' style paths with no device names and - path elements separated by '/' characters. This is not enforced see CleanName - on how to ensure names are valid if this is desired. - - - The minimum 'feature version' required this entry - - - The name passed is null - - - - - Initializes an entry with the given name and made by information - - Name for this entry - Version and HostSystem Information - Minimum required zip feature version required to extract this entry - Compression method for this entry. - - The name passed is null - - - versionRequiredToExtract should be 0 (auto-calculate) or > 10 - - - This constructor is used by the ZipFile class when reading from the central header - It is not generally useful, use the constructor specifying the name only. - - - - - Creates a deep copy of the given zip entry. - - - The entry to copy. - - - - - Test the external attributes for this to - see if the external attributes are Dos based (including WINNT and variants) - and match the values - - The attributes to test. - Returns true if the external attributes are known to be DOS/Windows - based and have the same attributes set as the value passed. - - - - Force this entry to be recorded using Zip64 extensions. - - - - - Get a value indicating wether Zip64 extensions were forced. - - A value of true if Zip64 extensions have been forced on; false if not. - - - - Process extra data fields updating the entry based on the contents. - - True if the extra data fields should be handled - for a local header, rather than for a central header. - - - - - Test entry to see if data can be extracted. - - Returns true if data can be extracted for this entry; false otherwise. - - - - Creates a copy of this zip entry. - - An that is a copy of the current instance. - - - - Gets a string representation of this ZipEntry. - - A readable textual representation of this - - - - Test a compression method to see if this library - supports extracting data compressed with that method - - The compression method to test. - Returns true if the compression method is supported; false otherwise - - - - Cleans a name making it conform to Zip file conventions. - Devices names ('c:\') and UNC share names ('\\server\share') are removed - and forward slashes ('\') are converted to back slashes ('/'). - Names are made relative by trimming leading slashes which is compatible - with the ZIP naming convention. - - The name to clean - The 'cleaned' name. - - The Zip name transform class is more flexible. - - - - - Get a value indicating wether the entry has a CRC value available. - - - - - Get/Set flag indicating if entry is encrypted. - A simple helper routine to aid interpretation of flags - - This is an assistant that interprets the flags property. - - - - Get / set a flag indicating wether entry name and comment text are - encoded in unicode UTF8. - - This is an assistant that interprets the flags property. - - - - Value used during password checking for PKZIP 2.0 / 'classic' encryption. - - - - - Get/Set general purpose bit flag for entry - - - General purpose bit flag
-
- Bit 0: If set, indicates the file is encrypted
- Bit 1-2 Only used for compression type 6 Imploding, and 8, 9 deflating
- Imploding:
- Bit 1 if set indicates an 8K sliding dictionary was used. If clear a 4k dictionary was used
- Bit 2 if set indicates 3 Shannon-Fanno trees were used to encode the sliding dictionary, 2 otherwise
-
- Deflating:
- Bit 2 Bit 1
- 0 0 Normal compression was used
- 0 1 Maximum compression was used
- 1 0 Fast compression was used
- 1 1 Super fast compression was used
-
- Bit 3: If set, the fields crc-32, compressed size - and uncompressed size are were not able to be written during zip file creation - The correct values are held in a data descriptor immediately following the compressed data.
- Bit 4: Reserved for use by PKZIP for enhanced deflating
- Bit 5: If set indicates the file contains compressed patch data
- Bit 6: If set indicates strong encryption was used.
- Bit 7-10: Unused or reserved
- Bit 11: If set the name and comments for this entry are in unicode.
- Bit 12-15: Unused or reserved
-
- - -
- - - Get/Set index of this entry in Zip file - - This is only valid when the entry is part of a - - - - Get/set offset for use in central header - - - - - Get/Set external file attributes as an integer. - The values of this are operating system dependant see - HostSystem for details - - - - - Get the version made by for this entry or zero if unknown. - The value / 10 indicates the major version number, and - the value mod 10 is the minor version number - - - - - Get a value indicating this entry is for a DOS/Windows system. - - - - - Gets the compatability information for the external file attribute - If the external file attributes are compatible with MS-DOS and can be read - by PKZIP for DOS version 2.04g then this value will be zero. Otherwise the value - will be non-zero and identify the host system on which the attributes are compatible. - - - - The values for this as defined in the Zip File format and by others are shown below. The values are somewhat - misleading in some cases as they are not all used as shown. You should consult the relevant documentation - to obtain up to date and correct information. The modified appnote by the infozip group is - particularly helpful as it documents a lot of peculiarities. The document is however a little dated. - - 0 - MS-DOS and OS/2 (FAT / VFAT / FAT32 file systems) - 1 - Amiga - 2 - OpenVMS - 3 - Unix - 4 - VM/CMS - 5 - Atari ST - 6 - OS/2 HPFS - 7 - Macintosh - 8 - Z-System - 9 - CP/M - 10 - Windows NTFS - 11 - MVS (OS/390 - Z/OS) - 12 - VSE - 13 - Acorn Risc - 14 - VFAT - 15 - Alternate MVS - 16 - BeOS - 17 - Tandem - 18 - OS/400 - 19 - OS/X (Darwin) - 99 - WinZip AES - remainder - unused - - - - - - Get minimum Zip feature version required to extract this entry - - - Minimum features are defined as:
- 1.0 - Default value
- 1.1 - File is a volume label
- 2.0 - File is a folder/directory
- 2.0 - File is compressed using Deflate compression
- 2.0 - File is encrypted using traditional encryption
- 2.1 - File is compressed using Deflate64
- 2.5 - File is compressed using PKWARE DCL Implode
- 2.7 - File is a patch data set
- 4.5 - File uses Zip64 format extensions
- 4.6 - File is compressed using BZIP2 compression
- 5.0 - File is encrypted using DES
- 5.0 - File is encrypted using 3DES
- 5.0 - File is encrypted using original RC2 encryption
- 5.0 - File is encrypted using RC4 encryption
- 5.1 - File is encrypted using AES encryption
- 5.1 - File is encrypted using corrected RC2 encryption
- 5.1 - File is encrypted using corrected RC2-64 encryption
- 6.1 - File is encrypted using non-OAEP key wrapping
- 6.2 - Central directory encryption (not confirmed yet)
- 6.3 - File is compressed using LZMA
- 6.3 - File is compressed using PPMD+
- 6.3 - File is encrypted using Blowfish
- 6.3 - File is encrypted using Twofish
-
- -
- - - Get a value indicating wether this entry can be decompressed by the library. - - This is based on the and - wether the compression method is supported. - - - - Gets a value indicating if the entry requires Zip64 extensions - to store the full entry values. - - A value of true if a local header requires Zip64 extensions; false if not. - - - - Get a value indicating wether the central directory entry requires Zip64 extensions to be stored. - - - - - Get/Set DosTime value. - - - The MS-DOS date format can only represent dates between 1/1/1980 and 12/31/2107. - - - - - Gets/Sets the time of last modification of the entry. - - - The property is updated to match this as far as possible. - - - - - Returns the entry name. - - - The unix naming convention is followed. - Path components in the entry should always separated by forward slashes ('/'). - Dos device names like C: should also be removed. - See the class, or - - - - - Gets/Sets the size of the uncompressed data. - - - The size or -1 if unknown. - - Setting the size before adding an entry to an archive can help - avoid compatability problems with some archivers which dont understand Zip64 extensions. - - - - Gets/Sets the size of the compressed data. - - - The compressed entry size or -1 if unknown. - - - - - Gets/Sets the crc of the uncompressed data. - - - Crc is not in the range 0..0xffffffffL - - - The crc value or -1 if unknown. - - - - - Gets/Sets the compression method. Only Deflated and Stored are supported. - - - The compression method for this entry - - - - - - - Gets/Sets the extra data. - - - Extra data is longer than 64KB (0xffff) bytes. - - - Extra data or null if not set. - - - - - Gets/Sets the entry comment. - - - If comment is longer than 0xffff. - - - The comment or null if not set. - - - A comment is only available for entries when read via the class. - The class doesnt have the comment data available. - - - - - Gets a value indicating if the entry is a directory. - however. - - - A directory is determined by an entry name with a trailing slash '/'. - The external file attributes can also indicate an entry is for a directory. - Currently only dos/windows attributes are tested in this manner. - The trailing slash convention should always be followed. - - - - - Get a value of true if the entry appears to be a file; false otherwise - - - This only takes account of DOS/Windows attributes. Other operating systems are ignored. - For linux and others the result may be incorrect. - - - - - ExtraData tagged value interface. - - - - - Set the contents of this instance from the data passed. - - The data to extract contents from. - The offset to begin extracting data from. - The number of bytes to extract. - - - - Get the data representing this instance. - - Returns the data for this instance. - - - - Get the ID for this tagged data value. - - - - - A raw binary tagged value - - - - - Initialise a new instance. - - The tag ID. - - - - Set the data from the raw values provided. - - The raw data to extract values from. - The index to start extracting values from. - The number of bytes available. - - - - Get the binary data representing this instance. - - The raw binary data representing this instance. - - - - The tag ID for this instance. - - - - - Get the ID for this tagged data value. - - - - - Get /set the binary data representing this instance. - - The raw binary data representing this instance. - - - - Class representing extended unix date time values. - - - - - Set the data from the raw values provided. - - The raw data to extract values from. - The index to start extracting values from. - The number of bytes available. - - - - Get the binary data representing this instance. - - The raw binary data representing this instance. - - - - Test a value to see if is valid and can be represented here. - - The value to test. - Returns true if the value is valid and can be represented; false if not. - The standard Unix time is a signed integer data type, directly encoding the Unix time number, - which is the number of seconds since 1970-01-01. - Being 32 bits means the values here cover a range of about 136 years. - The minimum representable time is 1901-12-13 20:45:52, - and the maximum representable time is 2038-01-19 03:14:07. - - - - - Get the ID - - - - - Get /set the Modification Time - - - - - - - Get / set the Access Time - - - - - - - Get / Set the Create Time - - - - - - - Get/set the values to include. - - - - - Flags indicate which values are included in this instance. - - - - - The modification time is included - - - - - The access time is included - - - - - The create time is included. - - - - - Class handling NT date time values. - - - - - Set the data from the raw values provided. - - The raw data to extract values from. - The index to start extracting values from. - The number of bytes available. - - - - Get the binary data representing this instance. - - The raw binary data representing this instance. - - - - Test a valuie to see if is valid and can be represented here. - - The value to test. - Returns true if the value is valid and can be represented; false if not. - - NTFS filetimes are 64-bit unsigned integers, stored in Intel - (least significant byte first) byte order. They determine the - number of 1.0E-07 seconds (1/10th microseconds!) past WinNT "epoch", - which is "01-Jan-1601 00:00:00 UTC". 28 May 60056 is the upper limit - - - - - Get the ID for this tagged data value. - - - - - Get/set the last modification time. - - - - - Get /set the create time - - - - - Get /set the last access time. - - - - - A factory that creates tagged data instances. - - - - - Get data for a specific tag value. - - The tag ID to find. - The data to search. - The offset to begin extracting data from. - The number of bytes to extract. - The located value found, or null if not found. - - - - - A class to handle the extra data field for Zip entries - - - Extra data contains 0 or more values each prefixed by a header tag and length. - They contain zero or more bytes of actual data. - The data is held internally using a copy on write strategy. This is more efficient but - means that for extra data created by passing in data can have the values modified by the caller - in some circumstances. - - - - - Initialise a default instance. - - - - - Initialise with known extra data. - - The extra data. - - - - Get the raw extra data value - - Returns the raw byte[] extra data this instance represents. - - - - Clear the stored data. - - - - - Get a read-only for the associated tag. - - The tag to locate data for. - Returns a containing tag data or null if no tag was found. - - - - Get the tagged data for a tag. - - The tag to search for. - Returns a tagged value or null if none found. - - - - Find an extra data value - - The identifier for the value to find. - Returns true if the value was found; false otherwise. - - - - Add a new entry to extra data. - - The value to add. - - - - Add a new entry to extra data - - The ID for this entry. - The data to add. - If the ID already exists its contents are replaced. - - - - Start adding a new entry. - - Add data using , , , or . - The new entry is completed and actually added by calling - - - - - Add entry data added since using the ID passed. - - The identifier to use for this entry. - - - - Add a byte of data to the pending new entry. - - The byte to add. - - - - - Add data to a pending new entry. - - The data to add. - - - - - Add a short value in little endian order to the pending new entry. - - The data to add. - - - - - Add an integer value in little endian order to the pending new entry. - - The data to add. - - - - - Add a long value in little endian order to the pending new entry. - - The data to add. - - - - - Delete an extra data field. - - The identifier of the field to delete. - Returns true if the field was found and deleted. - - - - Read a long in little endian form from the last found data value - - Returns the long value read. - - - - Read an integer in little endian form from the last found data value. - - Returns the integer read. - - - - Read a short value in little endian form from the last found data value. - - Returns the short value read. - - - - Read a byte from an extra data - - The byte value read or -1 if the end of data has been reached. - - - - Skip data during reading. - - The number of bytes to skip. - - - - Internal form of that reads data at any location. - - Returns the short value read. - - - - Dispose of this instance. - - - - - Gets the current extra data length. - - - - - Get the length of the last value found by - - This is only value if has previsouly returned true. - - - - Get the index for the current read value. - - This is only valid if has previously returned true. - Initially it will be the index of the first byte of actual data. The value is updated after calls to - , and . - - - - Get the number of bytes remaining to be read for the current value; - - - - - Holds data pertinent to a data descriptor. - - - - - Get /set the compressed size of data. - - - - - Get / set the uncompressed size of data - - - - - Get /set the crc value. - - - - - This class assists with writing/reading from Zip files. - - - - - Initialise an instance of this class. - - The name of the file to open. - - - - Initialise a new instance of . - - The stream to use. - - - - Close the stream. - - - The underlying stream is closed only if is true. - - - - - Locates a block with the desired . - - The signature to find. - Location, marking the end of block. - Minimum size of the block. - The maximum variable data. - Eeturns the offset of the first byte after the signature; -1 if not found - - - - Write Zip64 end of central directory records (File header and locator). - - The number of entries in the central directory. - The size of entries in the central directory. - The offset of the dentral directory. - - - - Write the required records to end the central directory. - - The number of entries in the directory. - The size of the entries in the directory. - The start of the central directory. - The archive comment. (This can be null). - - - - Read an unsigned short in little endian byte order. - - Returns the value read. - - An i/o error occurs. - - - The file ends prematurely - - - - - Read an int in little endian byte order. - - Returns the value read. - - An i/o error occurs. - - - The file ends prematurely - - - - - Read a long in little endian byte order. - - The value read. - - - - Write an unsigned short in little endian byte order. - - The value to write. - - - - Write a ushort in little endian byte order. - - The value to write. - - - - Write an int in little endian byte order. - - The value to write. - - - - Write a uint in little endian byte order. - - The value to write. - - - - Write a long in little endian byte order. - - The value to write. - - - - Write a ulong in little endian byte order. - - The value to write. - - - - Write a data descriptor. - - The entry to write a descriptor for. - Returns the number of descriptor bytes written. - - - - Read data descriptor at the end of compressed data. - - if set to true [zip64]. - The data to fill in. - Returns the number of bytes read in the descriptor. - - - - Get / set a value indicating wether the the underlying stream is owned or not. - - If the stream is owned it is closed when this instance is closed. - - - - Inflater is used to decompress data that has been compressed according - to the "deflate" standard described in rfc1951. - - By default Zlib (rfc1950) headers and footers are expected in the input. - You can use constructor public Inflater(bool noHeader) passing true - if there is no Zlib header information - - The usage is as following. First you have to set some input with - SetInput(), then Inflate() it. If inflate doesn't - inflate any bytes there may be three reasons: -
    -
  • IsNeedingInput() returns true because the input buffer is empty. - You have to provide more input with SetInput(). - NOTE: IsNeedingInput() also returns true when, the stream is finished. -
  • -
  • IsNeedingDictionary() returns true, you have to provide a preset - dictionary with SetDictionary().
  • -
  • IsFinished returns true, the inflater has finished.
  • -
- Once the first output byte is produced, a dictionary will not be - needed at a later stage. - - author of the original java version : John Leuner, Jochen Hoenicke -
-
- - - These are the possible states for an inflater - - - - - Copy lengths for literal codes 257..285 - - - - - Extra bits for literal codes 257..285 - - - - - Copy offsets for distance codes 0..29 - - - - - Extra bits for distance codes - - - - - This variable contains the current state. - - - - - The adler checksum of the dictionary or of the decompressed - stream, as it is written in the header resp. footer of the - compressed stream. - Only valid if mode is DECODE_DICT or DECODE_CHKSUM. - - - - - The number of bits needed to complete the current state. This - is valid, if mode is DECODE_DICT, DECODE_CHKSUM, - DECODE_HUFFMAN_LENBITS or DECODE_HUFFMAN_DISTBITS. - - - - - True, if the last block flag was set in the last block of the - inflated stream. This means that the stream ends after the - current block. - - - - - The total number of inflated bytes. - - - - - The total number of bytes set with setInput(). This is not the - value returned by the TotalIn property, since this also includes the - unprocessed input. - - - - - This variable stores the noHeader flag that was given to the constructor. - True means, that the inflated stream doesn't contain a Zlib header or - footer. - - - - - Creates a new inflater or RFC1951 decompressor - RFC1950/Zlib headers and footers will be expected in the input data - - - - - Creates a new inflater. - - - True if no RFC1950/Zlib header and footer fields are expected in the input data - - This is used for GZIPed/Zipped input. - - For compatibility with - Sun JDK you should provide one byte of input more than needed in - this case. - - - - - Resets the inflater so that a new stream can be decompressed. All - pending input and output will be discarded. - - - - - Decodes a zlib/RFC1950 header. - - - False if more input is needed. - - - The header is invalid. - - - - - Decodes the dictionary checksum after the deflate header. - - - False if more input is needed. - - - - - Decodes the huffman encoded symbols in the input stream. - - - false if more input is needed, true if output window is - full or the current block ends. - - - if deflated stream is invalid. - - - - - Decodes the adler checksum after the deflate stream. - - - false if more input is needed. - - - If checksum doesn't match. - - - - - Decodes the deflated stream. - - - false if more input is needed, or if finished. - - - if deflated stream is invalid. - - - - - Sets the preset dictionary. This should only be called, if - needsDictionary() returns true and it should set the same - dictionary, that was used for deflating. The getAdler() - function returns the checksum of the dictionary needed. - - - The dictionary. - - - - - Sets the preset dictionary. This should only be called, if - needsDictionary() returns true and it should set the same - dictionary, that was used for deflating. The getAdler() - function returns the checksum of the dictionary needed. - - - The dictionary. - - - The index into buffer where the dictionary starts. - - - The number of bytes in the dictionary. - - - No dictionary is needed. - - - The adler checksum for the buffer is invalid - - - - - Sets the input. This should only be called, if needsInput() - returns true. - - - the input. - - - - - Sets the input. This should only be called, if needsInput() - returns true. - - - The source of input data - - - The index into buffer where the input starts. - - - The number of bytes of input to use. - - - No input is needed. - - - The index and/or count are wrong. - - - - - Inflates the compressed stream to the output buffer. If this - returns 0, you should check, whether IsNeedingDictionary(), - IsNeedingInput() or IsFinished() returns true, to determine why no - further output is produced. - - - the output buffer. - - - The number of bytes written to the buffer, 0 if no further - output can be produced. - - - if buffer has length 0. - - - if deflated stream is invalid. - - - - - Inflates the compressed stream to the output buffer. If this - returns 0, you should check, whether needsDictionary(), - needsInput() or finished() returns true, to determine why no - further output is produced. - - - the output buffer. - - - the offset in buffer where storing starts. - - - the maximum number of bytes to output. - - - the number of bytes written to the buffer, 0 if no further output can be produced. - - - if count is less than 0. - - - if the index and / or count are wrong. - - - if deflated stream is invalid. - - - - - Returns true, if the input buffer is empty. - You should then call setInput(). - NOTE: This method also returns true when the stream is finished. - - - - - Returns true, if a preset dictionary is needed to inflate the input. - - - - - Returns true, if the inflater has finished. This means, that no - input is needed and no output can be produced. - - - - - Gets the adler checksum. This is either the checksum of all - uncompressed bytes returned by inflate(), or if needsDictionary() - returns true (and thus no output was yet produced) this is the - adler checksum of the expected dictionary. - - - the adler checksum. - - - - - Gets the total number of output bytes returned by Inflate(). - - - the total number of output bytes. - - - - - Gets the total number of processed compressed input bytes. - - - The total number of bytes of processed input bytes. - - - - - Gets the number of unprocessed input bytes. Useful, if the end of the - stream is reached and you want to further process the bytes after - the deflate stream. - - - The number of bytes of the input which have not been processed. - - - - - An input stream that decompresses files in the BZip2 format - - - - - Construct instance for reading from stream - - Data source - - - - Flushes the stream. - - - - - Set the streams position. This operation is not supported and will throw a NotSupportedException - - A byte offset relative to the parameter. - A value of type indicating the reference point used to obtain the new position. - The new position of the stream. - Any access - - - - Sets the length of this stream to the given value. - This operation is not supported and will throw a NotSupportedExceptionortedException - - The new length for the stream. - Any access - - - - Writes a block of bytes to this stream using data from a buffer. - This operation is not supported and will throw a NotSupportedException - - The buffer to source data from. - The offset to start obtaining data from. - The number of bytes of data to write. - Any access - - - - Writes a byte to the current position in the file stream. - This operation is not supported and will throw a NotSupportedException - - The value to write. - Any access - - - - Read a sequence of bytes and advances the read position by one byte. - - Array of bytes to store values in - Offset in array to begin storing data - The maximum number of bytes to read - The total number of bytes read into the buffer. This might be less - than the number of bytes requested if that number of bytes are not - currently available or zero if the end of the stream is reached. - - - - - Closes the stream, releasing any associated resources. - - - - - Read a byte from stream advancing position - - byte read or -1 on end of stream - - - - Get/set flag indicating ownership of underlying stream. - When the flag is true will close the underlying stream also. - - - - - Gets a value indicating if the stream supports reading - - - - - Gets a value indicating whether the current stream supports seeking. - - - - - Gets a value indicating whether the current stream supports writing. - This property always returns false - - - - - Gets the length in bytes of the stream. - - - - - Gets or sets the streams position. - Setting the position is not supported and will throw a NotSupportException - - Any attempt to set the position - - - - Computes Adler32 checksum for a stream of data. An Adler32 - checksum is not as reliable as a CRC32 checksum, but a lot faster to - compute. - - The specification for Adler32 may be found in RFC 1950. - ZLIB Compressed Data Format Specification version 3.3) - - - From that document: - - "ADLER32 (Adler-32 checksum) - This contains a checksum value of the uncompressed data - (excluding any dictionary data) computed according to Adler-32 - algorithm. This algorithm is a 32-bit extension and improvement - of the Fletcher algorithm, used in the ITU-T X.224 / ISO 8073 - standard. - - Adler-32 is composed of two sums accumulated per byte: s1 is - the sum of all bytes, s2 is the sum of all s1 values. Both sums - are done modulo 65521. s1 is initialized to 1, s2 to zero. The - Adler-32 checksum is stored as s2*65536 + s1 in most- - significant-byte first (network) order." - - "8.2. The Adler-32 algorithm - - The Adler-32 algorithm is much faster than the CRC32 algorithm yet - still provides an extremely low probability of undetected errors. - - The modulo on unsigned long accumulators can be delayed for 5552 - bytes, so the modulo operation time is negligible. If the bytes - are a, b, c, the second sum is 3a + 2b + c + 3, and so is position - and order sensitive, unlike the first sum, which is just a - checksum. That 65521 is prime is important to avoid a possible - large class of two-byte errors that leave the check unchanged. - (The Fletcher checksum uses 255, which is not prime and which also - makes the Fletcher check insensitive to single byte changes 0 - - 255.) - - The sum s1 is initialized to 1 instead of zero to make the length - of the sequence part of s2, so that the length does not have to be - checked separately. (Any sequence of zeroes has a Fletcher - checksum of zero.)" - - - - - - - largest prime smaller than 65536 - - - - - Creates a new instance of the Adler32 class. - The checksum starts off with a value of 1. - - - - - Resets the Adler32 checksum to the initial value. - - - - - Updates the checksum with a byte value. - - - The data value to add. The high byte of the int is ignored. - - - - - Updates the checksum with an array of bytes. - - - The source of the data to update with. - - - - - Updates the checksum with the bytes taken from the array. - - - an array of bytes - - - the start of the data used for this update - - - the number of bytes to use for this update - - - - - Returns the Adler32 data checksum computed so far. - - -
-
diff --git a/bin/hdfsdll.dll.config b/bin/hdfsdll.dll.config deleted file mode 100644 index f1805fd..0000000 --- a/bin/hdfsdll.dll.config +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/bin/hdfsdll.so b/bin/hdfsdll.so deleted file mode 100755 index cf79ffc..0000000 Binary files a/bin/hdfsdll.so and /dev/null differ diff --git a/bin/xmrhelpers.so b/bin/xmrhelpers.so deleted file mode 100755 index 6074da2..0000000 Binary files a/bin/xmrhelpers.so and /dev/null differ -- cgit v1.1 From 50ac61e17f4e164931dc26f01ffbe58dced9e772 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Sun, 8 Aug 2010 02:01:24 +0200 Subject: In my crusade against facelights, I am striking the killing blow. Add a DisableFacelights option to OpenSim.ini to finally kill those immersion- breaking, silly vanity lights that destroy nighttime RP. Girls, you look just fine without them. Guys, you too. Thank you. Melanie has left the building. --- bin/OpenSim.ini.example | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 074345d..466da93 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -390,6 +390,13 @@ ; ;TextureSendLimit = 20 + ; Quash and remove any light properties from attachments not on the + ; hands. This allows flashlights and lanterns to function, but kills + ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps + ; will also be affected. + ; + ;DisableFacelights = "false" + [Chat] ; Controls whether the chat module is enabled. Default is true. enabled = true; -- cgit v1.1 From df9521caf3aa983fd1d7e1c92b6b51e0c82cf7ac Mon Sep 17 00:00:00 2001 From: meta7 Date: Wed, 11 Aug 2010 15:30:42 -0700 Subject: Add ini.example section for the MOTD module. --- bin/OpenSim.ini.example | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 466da93..00a8569 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1278,6 +1278,10 @@ UseSafetyCommit = true ; Enable media on a prim facilities Enabled = true; +[MOTD] +Enabled = false +Message = "The MOTD module is working!" + ;; ;; These are defaults that are overwritten below in [Architecture]. -- cgit v1.1 From 47838e5fb39596effd4d0f7e1021ab68e69cd9d8 Mon Sep 17 00:00:00 2001 From: Melanie Thielker Date: Fri, 20 Aug 2010 08:46:46 +0200 Subject: Add some maptile options, change maptile generation from OpenSimBase to Scene to make it more configurable. --- bin/OpenSim.ini.example | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 00a8569..cf9e217 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -225,6 +225,12 @@ ;WorldMapModule = "WorldMap" ;MapImageModule = "MapImageModule" + ; Set to false to not generate any maptiles + ;GenerateMaptiles = "true" + ; Refreah (in seconds) the map tile periodically + ;MaptileRefresh = 0 + ; If not generating maptiles, use this static texture asset ID + ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" ; ## ; ## EMAIL MODULE -- cgit v1.1 From 8e51ca3a7ba51ae1b38ba66ae24a958ccb405a21 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 13 Sep 2010 23:17:42 +0100 Subject: Output an error and quit if the master file is missing. Also rename OpenSim.ini.example to bin/OpenSimDefaults.ini.example --- bin/OpenSim.ini.example | 1325 --------------------------------------- bin/OpenSimDefaults.ini.example | 1325 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 1325 insertions(+), 1325 deletions(-) delete mode 100644 bin/OpenSim.ini.example create mode 100644 bin/OpenSimDefaults.ini.example (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example deleted file mode 100644 index ef8f73a..0000000 --- a/bin/OpenSim.ini.example +++ /dev/null @@ -1,1325 +0,0 @@ -[Startup] - ; Set this to true if you want to log crashes to disk - ; this can be useful when submitting bug reports. - save_crashes = false - - ; Directory to save crashes to if above is enabled - ; (default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt) - crash_dir = "crashes" - - ; Place to create a PID file - ; PIDFile = "/tmp/my.pid" - - ; Http proxy support for llHTTPRequest and dynamic texture loading - ; Set HttpProxy to the URL for your proxy server if you would like - ; to proxy llHTTPRequests through a firewall - ; HttpProxy = "http://proxy.com" - ; Set HttpProxyExceptions to a list of regular expressions for - ; URLs that you don't want going through the proxy such as servers - ; inside your firewall, separate patterns with a ';' - ; HttpProxyExceptions = ".mydomain.com;localhost" - - startup_console_commands_file = "startup_commands.txt" - shutdown_console_commands_file = "shutdown_commands.txt" - - ; To run a script every few minutes, set the script filename here - ; timer_Script = "filename" - - ; ## - ; ## SYSTEM - ; ## - - ; Sets the method that OpenSim will use to fire asynchronous - ; events. Valid values are UnsafeQueueUserWorkItem, - ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. - ; SmartThreadPool is reported to work well on Mono/Linux, but - ; UnsafeQueueUserWorkItem has been benchmarked with better - ; performance on .NET/Windows - async_call_method = SmartThreadPool - - ; Max threads to allocate on the FireAndForget thread pool - ; when running with the SmartThreadPool option above - MaxPoolThreads = 15 - - ; ## - ; ## CLIENTS - ; ## - - ; Enables EventQueueGet Service. - EventQueue = true - - ; Set this to the DLL containing the client stack to use. - clientstack_plugin="OpenSim.Region.ClientStack.LindenUDP.dll" - - ; ## - ; ## REGIONS - ; ## - - ; Determine where OpenSimulator looks for the files which tell it which regions to server - ; Defaults to "filesystem" if this setting isn't present - region_info_source = "filesystem" - ; region_info_source = "web" - - ; Determines where the region XML files are stored if you are loading these from the filesystem. - ; Defaults to bin/Regions in your OpenSimulator installation directory - ; regionload_regionsdir="C:\somewhere\xmlfiles\" - - ; Determines the page from which regions xml is retrieved if you are loading these from the web - ; The XML here has the same format as it does on the filesystem (including the tag), - ; except that everything is also enclosed in a tag. - ; regionload_webserver_url = "http://example.com/regions.xml"; - - ; Draw objects on maptile. This step might take a long time if you've got a large number of - ; objects, so you can turn it off here if you'd like. - DrawPrimOnMapTile = true - ; Use terrain texture for maptiles if true, use shaded green if false - TextureOnMapTile = false - - ; Maximum total size, and maximum size where a prim can be physical - NonPhysicalPrimMax = 256 - PhysicalPrimMax = 10 ; (I think this was moved to the Regions.ini!) - ClampPrimSize = false - - ; Allow scripts to cross region boundaries. These are recompiled on the new region. - AllowScriptCrossing = false - - ; Allow compiled script binary code to cross region boundaries. - ; If you set this to "true", any region that can teleport to you can - ; inject ARBITRARY BINARY CODE into your system. Use at your own risk. - ; YOU HAVE BEEN WARNED!!! - TrustBinaries = false - - ; Combine all contiguous regions into one large megaregion - ; Order your regions from South to North, West to East in your regions.ini and then set this to true - ; Warning! Don't use this with regions that have existing content!, This will likely break them - CombineContiguousRegions = false - - ; If you have only one region in an instance, or to avoid the many bugs - ; that you can trigger in modules by restarting a region, set this to - ; true to make the entire instance exit instead of restarting the region. - ; This is meant to be used on systems where some external system like - ; Monit will restart any instance that exits, thereby making the shutdown - ; into a restart. - ;InworldRestartShutsDown = false - - ; ## - ; ## PRIM STORAGE - ; ## - - ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to - ; prevent frequently changing objects from heavily loading the region data store. - ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep. - ; - ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds - MinimumTimeBeforePersistenceConsidered = 60 - ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago - MaximumTimeBeforePersistenceConsidered = 600 - - ; Should avatars in neighbor sims see objects in this sim? - see_into_this_sim_from_neighbor = true - - ; ## - ; ## PHYSICS - ; ## - - ; if you would like to allow prims to be physical and move by physics with the physical checkbox in the client set this to true. - physical_prim = true - - ; Select a mesher here. - ; - ; Meshmerizer properly handles complex prims by using triangle meshes. - ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way - ; - ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports - ; Usually this is only a box - - meshing = Meshmerizer - ;meshing = ZeroMesher - - ; Choose one of the physics engines below - ; OpenDynamicsEngine is by some distance the most developed physics engine - ; basicphysics effectively does not model physics at all, making all objects phantom - - physics = OpenDynamicsEngine - ;physics = basicphysics - ;physics = POS - ;physics = modified_BulletX - - ; ## - ; ## PERMISSIONS - ; ## - - ;permissionmodules = "DefaultPermissionsModule" - - ;If any of the specified permissions modules fail to load, quit? - SecurePermissionsLoading = true - - ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy - ; any item, etc. This may not yet be implemented uniformally. - ; If set to true, then all permissions checks are carried out - ; Default is false - serverside_object_permissions = false - - allow_grid_gods = false - - ; This allows somne control over permissions - ; please note that this still doesn't duplicate SL, and is not intended to - ;region_owner_is_god = true - ;region_manager_is_god = false - ;parcel_owner_is_god = true - - ; Control user types that are allowed to create new scripts - ; Only enforced if serviceside_object_permissions is true - ; - ; Current possible values are - ; all - anyone can create scripts (subject to normal permissions) - ; gods - only administrators can create scripts (as long as allow_grid_gods is true) - ; Default value is all - ; allowed_script_creators = all - - ; Control user types that are allowed to edit (save) scripts - ; Only enforced if serviceside_object_permissions is true - ; - ; Current possible values are - ; all - anyone can edit scripts (subject to normal permissions) - ; gods - only administrators can edit scripts (as long as allow_grid_gods is true) - ; Default value is all - ; allowed_script_editors = all - - ; ## - ; ## SCRIPT ENGINE - ; ## - - DefaultScriptEngine = "XEngine" - - ; ## - ; ## WORLD MAP - ; ## - - ;WorldMapModule = "WorldMap" - ;MapImageModule = "MapImageModule" - ; Set to false to not generate any maptiles - ;GenerateMaptiles = "true" - ; Refresh (in seconds) the map tile periodically - ;MaptileRefresh = 0 - ; If not generating maptiles, use this static texture asset ID - ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" - - ; ## - ; ## EMAIL MODULE - ; ## - - ;emailmodule = DefaultEmailModule - - ; ## - ; ## ANIMATIONS - ; ## - - ; If enabled, enableFlySlow will change the primary fly state to - ; FLYSLOW, and the "always run" state will be the regular fly. - - enableflyslow = false - - ; PreJump is an additional animation state, but it probably - ; won't look right until the physics engine supports it - ; (i.e delays takeoff for a moment) - - ; This is commented so it will come on automatically once it's - ; supported. - - ; enableprejump = true - - ; Simulator Stats URI - ; Enable JSON simulator data by setting a URI name (case sensitive) - ; Stats_URI = "jsonSimStats" - - ; Make OpenSim start all regions woth logins disabled. They will need - ; to be enabled from the console if this is set - ; StartDisabled = false - - ; Image decoding. Use CSJ2K for layer boundary decoding if true, - ; OpenJPEG if false - ; UseCSJ2K = true - -[SMTP] - enabled=false - - ;enabled=true - ;internal_object_host=lsl.opensim.local - ;host_domain_header_from=127.0.0.1 - ;SMTP_SERVER_HOSTNAME=127.0.0.1 - ;SMTP_SERVER_PORT=25 - ;SMTP_SERVER_LOGIN=foo - ;SMTP_SERVER_PASSWORD=bar - -[Network] - ConsoleUser = "Test" - ConsolePass = "secret" - http_listener_port = 9000 - console_port = 0 - - ; ssl config: Experimental! The auto https config only really works definately on windows XP now - ; you need a Cert Request/Signed pair installed in the MY store with the CN specified below - ; you can use https on other platforms, but you'll need to configure the httpapi yourself for now - http_listener_ssl = false ; Also create a SSL server - http_listener_cn = "localhost" ; Use the cert with the common name - http_listener_sslport = 9001 ; Use this port for SSL connections - http_listener_ssl_cert = "" ; Currently unused, but will be used for OSHttpServer - - ; Hostname to use in llRequestURL/llRequestSecureURL - ; if not defined - default machine name is being used - ; (on Windows this mean NETBIOS name - useably only inside local network) - ; ExternalHostNameForLSL=127.0.0.1 - - ; What is reported as the "X-Secondlife-Shard" - ; Defaults to the user server url if not set - ; The old default is "OpenSim", set here for compatibility - shard = "OpenSim" - - ; What is reported as the "User-Agent" when using llHTTPRequest - ; Defaults to not sent if not set here. See the notes section in the wiki at - ; http://wiki.secondlife.com/wiki/LlHTTPRequest for comments on adding - ; " (Mozilla Compatible)" to the text where there are problems with a web server - ;user_agent = "OpenSim LSL (Mozilla Compatible)" - -[XMLRPC] - ; ## - ; ## Scripting XMLRPC mapper - ; ## - - ; If enabled, this will post an event, "xmlrpc_uri(string)" to the - ; script concurrently with the first remote_data event. - ; This will contain the fully qualified URI an external site needs - ; to use to send XMLRPC requests to that script - - ;XmlRpcRouterModule = "XmlRpcRouterModule" - ;XmlRpcPort = 20800 - -[ClientStack.LindenUDP] - ; Set this to true to process incoming packets asynchronously. Networking is - ; already separated from packet handling with a queue, so this will only - ; affect whether networking internals such as packet decoding and - ; acknowledgement accounting are done synchronously or asynchronously - ; - ;async_packet_handling = false - - ; The client socket receive buffer size determines how many - ; incoming requests we can process; the default on .NET is 8192 - ; which is about 2 4k-sized UDP datagrams. On mono this is - ; whatever the underlying operating system has as default; for - ; example, ubuntu 8.04 or SLES11 have about 111k, which is about - ; 27 4k-sized UDP datagrams (on linux platforms you can [as root] - ; do "sysctl net.core.rmem_default" to find out what your system - ; uses a default socket receive buffer size. - ; - ; client_socket_rcvbuf_size allows you to specify the receive - ; buffer size LLUDPServer should use. NOTE: this will be limited - ; by the system's settings for the maximum client receive buffer - ; size (on linux systems you can set that with "sysctl -w - ; net.core.rmem_max=X") - ; - ;client_socket_rcvbuf_size = 8388608 - - ; Maximum outbound bytes per second for a single scene. This can be used to - ; throttle total outbound UDP traffic for a simulator. The default value is - ; 0, meaning no throttling at the scene level. The example given here is - ; 20 megabits - ; - ;scene_throttle_max_bps = 2621440 - - ; Maximum bits per second to send to any single client. This will override - ; the user's viewer preference settings. The default value is 0, meaning no - ; aggregate throttling on clients (only per-category throttling). The - ; example given here is 1.5 megabits - ; - ;client_throttle_max_bps = 196608 - - ; Per-client bytes per second rates for the various throttle categories. - ; These are default values that will be overriden by clients - ; - ;resend_default = 12500 - ;land_default = 1000 - ;wind_default = 1000 - ;cloud_default = 1000 - ;task_default = 1000 - ;texture_default = 1000 - ;asset_default = 1000 - ;state_default = 1000 - - ; Per-client maximum burst rates in bytes per second for the various - ; throttle categories. These are default values that will be overriden by - ; clients - ; - ;resend_limit = 18750 - ;land_limit = 29750 - ;wind_limit = 18750 - ;cloud_limit = 18750 - ;task_limit = 18750 - ;texture_limit = 55750 - ;asset_limit = 27500 - ;state_limit = 37000 - - ; Configures how ObjectUpdates are aggregated. These numbers - ; do not literally mean how many updates will be put in each - ; packet that goes over the wire, as packets are - ; automatically split on a 1400 byte boundary. These control - ; the balance between responsiveness of interest list updates - ; and total throughput. Higher numbers will ensure more full- - ; sized packets and faster sending of data, but more delay in - ; updating interest lists - ; - ;PrimTerseUpdatesPerPacket = 25 - ;AvatarTerseUpdatesPerPacket = 10 - ;PrimFullUpdatesPerPacket = 100 - - ; TextureSendLimit determines how many packets will be put on - ; the outgoing queue each cycle. Like the settings above, this - ; is a balance between responsiveness to priority updates and - ; total throughput. Higher numbers will give a better - ; throughput at the cost of reduced responsiveness to client - ; priority changes or transfer aborts - ; - ;TextureSendLimit = 20 - - ; Quash and remove any light properties from attachments not on the - ; hands. This allows flashlights and lanterns to function, but kills - ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps - ; will also be affected. - ; - ;DisableFacelights = "false" - -[Chat] - ; Controls whether the chat module is enabled. Default is true. - enabled = true; - - ; Distance in meters that whispers should travel. Default is 10m - whisper_distance = 10 - - ; Distance in meters that ordinary chat should travel. Default is 30m - say_distance = 30 - - ; Distance in meters that shouts should travel. Default is 100m - shout_distance = 100 - - ; Append a prefix to the god avatar names appearing in chat whilst in god mode - ; admin_prefix = "@" - - -[Messaging] - ; Control which region module is used for instant messaging. - ; Default is InstantMessageModule (this is the name of the core IM module as well as the setting) - InstantMessageModule = InstantMessageModule - ; MessageTransferModule = MessageTransferModule - ; OfflineMessageModule = OfflineMessageModule - ; OfflineMessageURL = http://yourserver/Offline.php - ; MuteListModule = MuteListModule - ; MuteListURL = http://yourserver/Mute.php - - ; Control whether group messages are forwarded to offline users. Default is true. - ; ForwardOfflineGroupMessages = true - - -[ODEPhysicsSettings] - ;## - ;## World Settings - ;## - - ;Gravity. Feel like falling up? change world_gravityz to 9.8 instead of -9.8. m/s - world_gravityx = 0 - world_gravityy = 0 - world_gravityz = -9.8 - - ; World Step size. (warning these are dangerous. Changing these will probably cause your scene to explode dramatically) - ; reference: fps = (0.09375/ODE_STEPSIZE) * 1000; - world_stepsize = 0.020 - world_internal_steps_without_collisions = 10 - - ;World Space settings. Affects memory consumption vs Collider CPU time for avatar and physical prim - world_hashspace_size_low = -4 - world_hashSpace_size_high = 128 - - ;Dynamic space settings Affects memory consumption vs Collider CPU time for static prim - meters_in_small_space = 29.9 - small_hashspace_size_low = -4 - small_hashspace_size_high = 66 - - ; ## - ; ## Contact properties. (the stuff that happens when things come in contact with each other) - ; ## - - ; surface layer around geometries other geometries can sink into before generating a contact - world_contact_surface_layer = 0.001 - - ; Filtering collisions helps keep things stable physics wise, but sometimes - ; it can be overzealous. If you notice bouncing, chances are it's that. - filter_collisions = false - - ; Non Moving Terrain Contact (avatar isn't moving) - nm_terraincontact_friction = 255.0 - nm_terraincontact_bounce = 0.1 - nm_terraincontact_erp = 0.1025 - - ; Moving Terrain Contact (avatar is moving) - m_terraincontact_friction = 75.0 - m_terraincontact_bounce = 0.05 - m_terrainContact_erp = 0.05025 - - ; Moving Avatar to object Contact - m_avatarobjectcontact_friction = 75.0 - m_avatarobjectcontact_bounce = 0.1 - - ; Object to Object Contact and Non-Moving Avatar to object - objectcontact_friction = 250.0 - objectcontact_bounce = 0.2 - - ; ## - ; ## Avatar Control - ; ## - - ; PID Controller Settings. These affect the math that causes the avatar to reach the - ; desired velocity - ; See http://en.wikipedia.org/wiki/PID_controller - - av_pid_derivative_linux = 2200.0 - av_pid_proportional_linux = 900.0; - - av_pid_derivative_win = 2200.0 - av_pid_proportional_win = 900.0; - - ;girth of the avatar. Adds radius to the height also - av_capsule_radius = 0.37 - - ; Max force permissible to use to keep the avatar standing up straight - av_capsule_standup_tensor_win = 550000 - av_capsule_standup_tensor_linux = 550000 - - ; specifies if the capsule should be tilted (=true; old compatibility mode) - ; or straight up-and-down (=false; better and more consistent physics behavior) - av_capsule_tilted = false - - ; used to calculate mass of avatar. - ; float AVvolume = (float) (Math.PI*Math.Pow(CAPSULE_RADIUS, 2)*CAPSULE_LENGTH); - ; av_density * AVvolume; - av_density = 80 - - ; use this value to cut 52% of the height the sim gives us - av_height_fudge_factor = 0.52 - - ; Movement. Smaller is faster. - - ; speed of movement with Always Run off - av_movement_divisor_walk = 1.3 - - ; speed of movement with Always Run on - av_movement_divisor_run = 0.8 - - ; When the avatar flies, it will be moved up by this amount off the ground (in meters) - minimum_ground_flight_offset = 3.0 - - ; ## - ; ## Object options - ; ## - - ; used in the mass calculation. - geometry_default_density = 10.000006836 - - ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep - body_frames_auto_disable = 20 - - ; used to control llMove2Target - body_pid_derivative = 35 - body_pid_gain = 25 - - ; maximum number of contact points to generate per collision - contacts_per_collision = 80 - - ; amount of time a geom/body will try to cross a region border before it gets disabled - geom_crossing_failures_before_outofbounds = 5 - - ; start throttling the object updates if object comes in contact with 3 or more other objects - geom_contactpoints_start_throttling = 3 - - ; send 1 update for every x updates below when throttled - geom_updates_before_throttled_update = 15 - - ; Used for llSetStatus. How rigid the object rotation is held on the axis specified - body_motor_joint_maxforce_tensor_linux = 5 - body_motor_joint_maxforce_tensor_win = 5 - - ; Maximum mass an object can be before it is clamped - maximum_mass_object = 10000.01 - - ; ## - ; ## Sculpted Prim settings - ; ## - - ; Do we want to mesh sculpted prim to collide like they look? - mesh_sculpted_prim = true - - ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies - mesh_lod = 32 - - ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies - mesh_physical_lod = 16 - - ; ## - ; ## Physics logging settings - logfiles are saved to *.DIF files - ; ## - - ; default is false - ;physics_logging = true - ;; every n simulation iterations, the physics snapshot file is updated - ;physics_logging_interval = 50 - ;; append to existing physics logfile, or overwrite existing logfiles? - ;physics_logging_append_existing_logfile = true - - ; ## - ; ## Joint support - ; ## - - ; if you would like physics joints to be enabled through a special naming convention in the client, set this to true. - ; (see NINJA Physics documentation, http://opensimulator.org/wiki/NINJA_Physics) - ; default is false - ;use_NINJA_physics_joints = true - - ; ## - ; ## additional meshing options - ; ## - - ; physical collision mesh proxies are normally created for complex prim shapes, and collisions for simple boxes and - ; spheres are computed algorithmically. If you would rather have mesh proxies for simple prims, you can set this to - ; true. Note that this will increase memory usage and region startup time. Default is false. - ;force_simple_prim_meshing = true - - -[RemoteAdmin] - enabled = false - - ; Set this to a nonzero value to have remote admin use a different port - port = 0 - - ; This password is required to make any XMLRPC call (should be set as the "password" parameter) - access_password = unknown - - ; set this variable to true if you want the create_region XmlRpc - ; call to unconditionally enable voice on all parcels for a newly - ; created region [default: false] - create_region_enable_voice = false - - ; set this variable to false if you want the create_region XmlRpc - ; call to create all regions as private per default (can be - ; overridden in the XmlRpc call) [default: true] - create_region_public = false - - ; the create_region XmlRpc call uses region_file_template to generate - ; the file name of newly create regions (if they are created - ; persistent). the parameter available are: - ; {0} - X location - ; {1} - Y location - ; {2} - region UUID - ; {3} - region port - ; {4} - region name with " ", ":", "/" mapped to "_" - region_file_template = "{0}x{1}-{2}.ini" - - ; we can limit the number of regions that XmlRpcCreateRegion will - ; allow by setting this to a positive, non-0 number: as long as the - ; number of regions is below region_limits, XmlRpcCreateRegion will - ; succeed. setting region_limit to 0 disables the check. - ; default is 0 - ;region_limit = 0 - - ; enable only those methods you deem to be appropriate using a | delimited whitelist - ; for example, enabled_methods = admin_broadcast|admin_region_query|admin_save_oar|admin_save_xml - ; if this parameter is not specified but enabled = true, all methods will be available - enabled_methods = all - - ; specify the default appearance for an avatar created through the remote admin interface - ; This will only take effect is the file specified by the default_appearance setting below exists - ;default_male = Default Male - ;default_female = Default Female - - ; update appearance copies inventory items and wearables of default avatars. if this value is false - ; (default), just worn assets are copied to the Clothes folder; if true, all Clothes and Bodyparts - ; subfolders are copied. the receiver will wear the same items the default avatar did wear. - ;copy_folders = false - - ; path to default appearance XML file that specifies the look of the default avatars - ;default_appearance = default_appearance.xml - -[RestPlugins] - ; Change this to true to enable REST Plugins. This must be true if you wish to use - ; REST Region or REST Asset and Inventory Plugins - enabled = false - god_key = SECRET - prefix = /admin - - -[RestRegionPlugin] - ; Change this to true to enable the REST Region Plugin - enabled = false - - -[RestHandler] - ; Change this to true to enable the REST Asset and Inventory Plugin - enabled = false - authenticate = true - secured = true - extended-escape = true - realm = OpenSim REST - dump-asset = false - path-fill = true - dump-line-size = 32 - flush-on-error = true - - -; Uncomment the following for IRC bridge -; experimental, so if it breaks... keep both parts... yada yada -; also, not good error detection when it fails -;[IRC] - ;enabled = true ; you need to set this otherwise it won't connect - ;server = name.of.irc.server.on.the.net - ;; user password - only use this if the server requires one - ;password = mypass - ;nick = OpenSimBotNameProbablyMakeThisShorter - ;channel = #the_irc_channel_you_want_to_connect_to - ;user = "USER OpenSimBot 8 * :I'm an OpenSim to IRC bot" - ;port = 6667 - ;; channel to listen for configuration commands - ;commands_enabled = false - ;command_channel = 2777 - ;report_clients = true - ;; relay private chat connections - ;; relay_private_channels = true: will relay IRC chat from/to private in-world channels - ;; relay_private_channel_out -- channel to send messages out to the IRC bridge - ;; relay_private_channel_in -- channel to receive message from the IRC bridge - ;; relay_chat = false: IRC bridge will not relay normal chat - ;; access_password -- simple security device - ;; - ;; so, to just relay chat from an IRC channel to in-world region and vice versa: - ;; - ;; relay_private_channels = false - ;; relay_chat = true - ;; - ;; to relay chat only to/from private in-world channels: - ;; - ;; relay_chat = false - ;; relay_private_channels = true - ;; relay_private_channel_in = 2226 - ;; relay_private_channel_out = 2225 - ;; - ;; in this example, all chat coming in from IRC will be send out via - ;; in-world channel 2226, and all chat from in-world channel 2225 will - ;; be relayed to the IRC channel. - ;; - ;relay_private_channels = false - ;relay_private_channel_in = 2226 - ;relay_private_channel_out = 2225 - ;relay_chat = true - ;access_password = foobar - - ;;fallback_region = name of "default" region - ;;MSGformat fields : 0=botnick, 1=user, 2=region, 3=message - ;; must start with "PRIVMSG {0} : " or irc server will get upset - ;;for : : - ;;msgformat = "PRIVMSG {0} :<{1} in {2}>: {3}" - ;;for : - : - ;msgformat = "PRIVMSG {0} : {3} - {1} of {2}" - ;;for : - from : - ;;msgformat = "PRIVMSG {0} : {3} - from {1}" - - ;; exclude_list allows you to stop the IRC connector from announcing the - ;;arrival and departure of certain users. For example: admins, bots. - - ;exclude_list=User 1,User 2,User 3 - - -;[CMS] - ;enabled = true - ;channel = 345 - - -; Uncomment the following to control the progression of daytime -; in the Sim. The defaults are what is shown below -;[Sun] - ; number of wall clock hours for an opensim day. 24.0 would mean realtime - ;day_length = 4 - ; Year length in days - ;year_length = 60 - ; Day to Night Ratio - ;day_night_offset = 0.45 - ; send a Sun update every update_interval # of frames. A lower number will - ; make for smoother sun transition at the cost of network - ;update_interval = 100 - - -[Wind] - ; Enables the wind module. Default is true - enabled = true - - ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second - wind_update_rate = 150 - - ; The Default Wind Plugin to load - wind_plugin = SimpleRandomWind - - ; These settings are specific to the ConfigurableWind plugin - ; To use ConfigurableWind as the default, simply change wind_plugin to ConfigurableWind and uncomment the following. - ; avg_strength = 5.0 - ; avg_direction = 0.0 - ; var_strength = 0.0 - ; var_direction = 0.0 - ; rate_change = 1.0 - - ; This setting is specific to the SimpleRandomWind plugin - ; Adjusts wind strength. 0.0 = no wind, 1.0 = normal wind. Default is 1.0 - strength = 1.0 - - -[Cloud] - ; Enable this to generate classic particle clouds above the sim. - ; default is disabled - turn it on here - enabled = false - - ; Density of cloud cover 0.0 to 1.0 Defult 0.5 - density = 0.5 - - ; update interval for the cloud cover data returned by llCloud(). - ; default is 1000 - cloud_update_rate = 1000 - -[LightShare] - - ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer. - ; It has no ill effect on viewers which do not support server-side windlight settings. - ; Currently we only have support for MySQL databases. - enable_windlight = false; - -[Trees] - ; Enable this to allow the tree module to manage your sim trees, including growing, reproducing and dying - ; default is false - active_trees = false - - ; Density of tree population - tree_density = 1000.0 - - -[VectorRender] - - ; the font to use for rendering text (default: Arial) - ; font_name = "Arial" - - -[LL-Functions] - ; Set the following to true to allow administrator owned scripts to execute console commands - ; currently unused - ; AllowosConsoleCommand=false - - AllowGodFunctions = false - - ; Maximum number of llListen events we allow per script - ; Set this to 0 to have no limit imposed. - max_listens_per_script = 64 - - -[DataSnapshot] - ; The following set of configs pertains to search. - ; Set index_sims to true to enable search engines to index your searchable data - ; If false, no data will be exposed, DataSnapshot module will be off, and you can ignore the rest of these search-related configs - ; default is false - index_sims = false - - ; The variable data_exposure controls what the regions expose: - ; minimum: exposes only things explicitly marked for search - ; all: exposes everything - data_exposure = minimum - - ; If search is on, change this to your grid name; will be ignored for standalones - gridname = "OSGrid" - - ; Period between data snapshots, in seconds. 20 minutes, for starters, so that you see the initial changes fast. - ; Later, you may want to increase this to 3600 (1 hour) or more - default_snapshot_period = 1200 - - ; This will be created in bin, if it doesn't exist already. It will hold the data snapshots. - snapshot_cache_directory = "DataSnapshot" - - ; This semicolon-separated string serves to notify specific data services about the existence - ; of this sim. Uncomment if you want to index your data with this and/or other search providers. - ;data_services="http://metaverseink.com/cgi-bin/register.py" - - -[Economy] - ; These economy values get used in the BetaGridLikeMoneyModule. - This module is for demonstration only - - - ; Enables selling things for $0 - SellEnabled = "false" - - ; 45000 is the highest value that the sim could possibly report because of protocol constraints - ObjectCapacity = 45000 - - ; Money Unit fee to upload textures, animations etc - PriceUpload = 0 - - ; Money Unit fee to create groups - PriceGroupCreate = 0 - - ; We don't really know what the rest of these values do. These get sent to the client - ; These taken from Agni at a Public Telehub. Change at your own risk. - ObjectCount = 0 - PriceEnergyUnit = 100 - PriceObjectClaim = 10 - PricePublicObjectDecay = 4 - PricePublicObjectDelete = 4 - PriceParcelClaim = 1 - PriceParcelClaimFactor = 1 - - PriceRentLight = 5 - TeleportMinPrice = 2 - TeleportPriceExponent = 2 - EnergyEfficiency = 1 - PriceObjectRent = 1 - PriceObjectScaleFactor = 10 - PriceParcelRent = 1 - -[Git] -Enabled = true -RepoPath = "git" - -;How many seconds between the scheduled commits? -CommitInterval = 21600 - -;Disable all except the initial commit? -DisableNonEssentialCommits = false - -;Should we automatically commit when necessary to avoid objects never making it into the repo? -UseSafetyCommit = true - - -[SVN] - Enabled = false - Directory = SVNmodule\repo - URL = "svn://your.repo.here/" - Username = "user" - Password = "password" - ImportOnStartup = false - Autosave = false - AutoSavePeriod = 15 ; Number of minutes between autosave backups - - -[XEngine] - ; Enable this engine in this OpenSim instance - Enabled = true - - ; How many threads to keep alive even if nothing is happening - MinThreads = 2 - - ; How many threads to start at maximum load - MaxThreads = 100 - - ; Time a thread must be idle (in seconds) before it dies - IdleTimeout = 60 - - ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest") - Priority = "BelowNormal" - - ; Maximum number of events to queue for a script (excluding timers) - MaxScriptEventQueue = 300 - - ; Stack size per thread created - ThreadStackSize = 262144 - - ; Set this to true (the default) to load each script into a separate - ; AppDomain. Setting this to false will load all script assemblies into the - ; current AppDomain, which will reduce the per-script overhead at the - ; expense of reduced security and the inability to garbage collect the - ; script assemblies - AppDomainLoading = true - - ; Rate to poll for asynchronous command replies (ms) - ; currently unused - ;AsyncLLCommandLoopms = 50 - - ; Save the source of all compiled scripts - WriteScriptSourceToDebugFile = false - - ; Default language for scripts - DefaultCompileLanguage = lsl - - ; List of allowed languages (lsl,vb,js,cs) - ; AllowedCompilers=lsl,cs,js,vb. - ; *warning*, non lsl languages have access to static methods such as System.IO.File. Enable at your own risk. - AllowedCompilers=lsl - - ; Compile debug info (line numbers) into the script assemblies - CompileWithDebugInformation = true - - ; Allow the user of mod* functions. This allows a script to pass messages - ; to a region module via the modSendCommand() function - ; Default is false - AllowMODFunctions = false - - ; Allow the use of os* functions (some are dangerous) - AllowOSFunctions = false - - ; Allow the user of LightShare functions - AllowLightShareFunctions = false - - ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe - OSFunctionThreatLevel = VeryLow - - ; Interval (s) between background save of script states - SaveInterval = 120 - - ; Interval (s) between maintenance runs (0 = disable) - MaintenanceInterval = 10 - - ; Time a script can spend in an event handler before it is interrupted - EventLimit = 30 - - ; If a script overruns it's event limit, kill the script? - KillTimedOutScripts = false - - ; Sets the multiplier for the scripting delays - ScriptDelayFactor = 1.0 - - ; The factor the 10 m distances llimits are multiplied by - ScriptDistanceLimitFactor = 1.0 - - ; Maximum length of notecard line read - ; Increasing this to large values potentially opens - ; up the system to malicious scripters - ; NotecardLineReadCharsMax = 255 - - ; Sensor settings - SensorMaxRange = 96.0 - SensorMaxResults = 16 - - ; OS Functions enable/disable - ; For each function, you can add one line, as shown - ; The default for all functions allows them if below threat level - - ; true allows the use of the function unconditionally - ; Allow_osSetRegionWaterHeight = true - - ; false disables the function completely - ; Allow_osSetRegionWaterHeight = false - - ; Comma separated list of UUIDS allows the function for that list of UUIDS - ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb - - ; You can also use script creators as the uuid - ; Creators_osSetRegionWaterHeight = , ... - - ; If both Allow_ and Creators_ are given, effective permissions - ; are the union of the two. - - ; Allow for llCreateLink and llBreakLink to work without asking for permission - ; only enable this in a trusted environment otherwise you may be subject to hijacking - ; AutomaticLinkPermission = false - - ; Disable underground movement of prims (default true); set to - ; false to allow script controlled underground positioning of - ; prims - ; DisableUndergroundMovement = true - - -[OpenGridProtocol] - ;These are the settings for the Open Grid Protocol.. the Agent Domain, Region Domain, you know.. - ;On/true or Off/false - ogp_enabled=false - - ;Name Prefix/suffix when using OGP - ogp_firstname_prefix="" - ogp_lastname_suffix="_EXTERNAL" - - -[Concierge] - ; Enable concierge module - ; Default is false - enabled = false - - ; name of the concierge - whoami = "jeeves" - - ; password for updating the welcome message templates via XmlRpc - password = SECRET - - ; regex specifying for which regions concierge service is desired; if - ; empty, then for all - regions = "^MeetingSpace-" - - ; for each region that matches the regions regexp you can provide - ; (optionally) a welcome template using format substitution: - ; {0} is replaced with the name of the avatar entering the region - ; {1} is replaced with the name of the region - ; {2} is replaced with the name of the concierge (whoami variable above) - - welcomes = /path/to/welcome/template/directory - - ; Concierge can send attendee lists to an event broker whenever an - ; avatar enters or leaves a concierged region. the URL is subject - ; to format substitution: - ; {0} is replaced with the region's name - ; {1} is replaced with the region's UUID - broker = "http://broker.place.com/{1}" - - -[RegionReady] - ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled - ; default is false - enabled = false - - ; Channel on which to signal region readiness through a message - ; formatted as follows: "{server_startup|oar_file_load},{0|1},n,[oar error]" - ; - the first field indicating whether this is an initial server startup - ; - the second field is a number indicating whether the OAR file loaded ok (1 == ok, 0 == error) - ; - the third field is a number indicating how many scripts failed to compile - ; - "oar error" if supplied, provides the error message from the OAR load - channel_notify = -800 - - -[MRM] - ; Enables the Mini Region Modules Script Engine. - ; default is false - Enabled = false - - ; Runs MRM in a Security Sandbox - ; WARNING: DISABLING IS A SECURITY RISK. - Sandboxed = true - - ; The level sandbox to use, adjust at your OWN RISK. - ; Valid values are: - ; * FullTrust - ; * SkipVerification - ; * Execution - ; * Nothing - ; * LocalIntranet - ; * Internet - ; * Everything - SandboxLevel = "Internet" - - ; Only allow Region Owners to run MRMs - ; May represent a security risk if you disable this. - OwnerOnly = true - -[Hypergrid] - ; Keep it false for now. Making it true requires the use of a special client in order to access inventory - safemode = false - -[VivoxVoice] - ; The VivoxVoice module will allow you to provide voice on your - ; region(s). It uses the same voice technology as the LL grid and - ; works with recent LL clients (we have tested 1.22.9.110075, so - ; anything later ought to be fine as well). - ; - ; For this to work you need to obtain an admin account from Vivox - ; that allows you to create voice accounts and region channels. - - enabled = false - - ; vivox voice server - vivox_server = www.foobar.vivox.com - - ; vivox SIP URI - vivox_sip_uri = foobar.vivox.com - - ; vivox admin user name - vivox_admin_user = DeepThroat - - ; vivox admin password - vivox_admin_password = VoiceG4te - - ; channel type: "channel" or "positional" - ; - positional: spatial sound (default) - ; - channel: normal "conference call", no spatial sound - ;vivox_channel_type = positional - - ; channel characteristics (unless you know what you are doing, i'd - ; leave them as they are --- now you WILL muck around with them, - ; huh? sigh) - - ; channel distance model: - ; 0 - no attenuation - ; 1 - inverse distance attenuation - ; 2 - linear attenuation (default) - ; 3 - exponential attenuation - ;vivox_channel_distance_model = 2 - - ; channel mode: - ; - "open" (default) - ; - "lecture" - ; - "presentation" - ; - "auditorium" - ;vivox_channel_mode = "open" - - ; channel roll off: rate of attenuation - ; - a value between 1.0 and 4.0, default is 2.0 - ;vivox_channel_roll_off = 2.0 - - ; channel max range: distance at which channel is silent - ; - a value between 0 and 160, default is 80 - ;vivox_channel_max_range = 80 - - ; channel clamping distance: distance before attenuation applies - ; - a value between 0 and 160, default is 10 - ;vivox_channel_clamping_distance = 10 - -[FreeSwitchVoice] - ; In order for this to work you need a functioning FreeSWITCH PBX set up. - ; Configuration details at http://opensimulator.org/wiki/Freeswitch_Module - enabled = false - ; FreeSWITCH server is going to contact us and ask us all sorts of things - freeswitch_server_user = freeswitch - freeswitch_server_pass = password - freeswitch_api_prefix = /api - ; external IP address of your OpenSim voice enabled region - ; note: all regions running on same OpenSim.exe will be enabled - freeswitch_service_server = ip.address.of.your.sim - ; this should be the same port the region listens on - freeswitch_service_port = 9000 - freeswitch_realm = ip.address.of.freeswitch.server - freeswitch_sip_proxy = ip.address.of.freeswitch.server:5060 - ; STUN = Simple Traversal of UDP through NATs - ; See http://wiki.freeswitch.org/wiki/NAT_Traversal - ; stun.freeswitch.org is not guaranteed to be running so use it in production at your own risk - freeswitch_attempt_stun = false - freeswitch_stun_server = ip.address.of.stun.server - freeswitch_echo_server = ip.address.of.freeswitch.server - freeswitch_echo_port = 50505 - freeswitch_well_known_ip = ip.address.of.freeswitch.server - ; - ; Type the address of your http server here, hostname is allowed. This is provided so you can specify a hostname - ; This is used by client for account verification. By default, it's the same as the freeswitch service server. - ; - ; opensim_well_known_http_address = Address_Of_Your_SIM_HTTP_Server_Hostname_Allowed - ; - freeswitch_default_timeout = 5000 - freeswitch_subscribe_retry = 120 - ; freeswitch_password_reset_url = - -[Groups] - Enabled = false - - ; This is the current groups stub in Region.CoreModules.Avatar.Groups. All the other settings below only really - ; apply to the Flotsam/SimianGrid GroupsModule - Module = Default - - ; This module can use a PHP XmlRpc server from the Flotsam project at http://code.google.com/p/flotsam/ - ; or from the SimianGrid project at http://code.google.com/p/openmetaverse - ;Module = GroupsModule - - ; Enable Group Notices - ;NoticesEnabled = true - - ; This makes the Groups modules very chatty on the console. - DebugEnabled = false - - ; Specify which messaging module to use for groups messaging and if it's enabled - ;MessagingModule = GroupsMessagingModule - ;MessagingEnabled = true - - ; Service connectors to the Groups Service. Select one depending on whether you're using a Flotsam XmlRpc backend or a SimianGrid backend - - ; SimianGrid Service for Groups - ;ServicesConnectorModule = SimianGroupsServicesConnector - ;GroupsServerURI = http://mygridserver.com:82/Grid/ - - ; Flotsam XmlRpc Service for Groups - ;ServicesConnectorModule = XmlRpcGroupsServicesConnector - ;GroupsServerURI = http://yourxmlrpcserver.com/xmlrpc.php - - ; XmlRpc Security settings. These must match those set on your backend groups service. - ;XmlRpcServiceReadKey = 1234 - ;XmlRpcServiceWriteKey = 1234 - - ; Disables HTTP Keep-Alive for XmlRpcGroupsServicesConnector HTTP Requests, - ; this is a work around fora problem discovered on some Windows based region servers. - ; Only disable keep alive if you see a large number (dozens) of the following Exceptions: - ; System.Net.WebException: The request was aborted: The request was canceled. - ; XmlRpcDisableKeepAlive = false - - -[PacketPool] - ; Enables the experimental packet pool. Yes, we've been here before. - ;RecyclePackets = true; - ;RecycleDataBlocks = true; - - -[InterestManagement] - ; This section controls how state updates are prioritized for each client - ; Valid values are Time, Distance, SimpleAngularDistance, and FrontBack - UpdatePrioritizationScheme = FrontBack - ReprioritizationEnabled = true - ReprioritizationInterval = 2000.0 - RootReprioritizationDistance = 10.0 - ChildReprioritizationDistance = 20.0 - - -[WebStats] -; View region statistics via a web page -; See http://opensimulator.org/wiki/FAQ#Region_Statistics_on_a_Web_Page -; Use a web browser and type in the "Login URI" + "/SStats/" -; For example- http://127.0.0.1:9000/SStats/ -; enabled=false - -[LandManagement] -; DefaultAdministratorGroupUUID = ""; -; DefaultAdministratorParcelName = ""; - -[MediaOnAPrim] - ; Enable media on a prim facilities - Enabled = true; - -[MOTD] -Enabled = false -Message = "The MOTD module is working!" - - -;; -;; These are defaults that are overwritten below in [Architecture]. -;; These defaults allow OpenSim to work out of the box with -;; zero configuration -;; -[AssetService] - DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" - AssetLoaderArgs = "assets/AssetSets.xml" - - ; Disable this to prevent the default asset set from being inserted into the - ; asset store each time the region starts - AssetLoaderEnabled = true - -[GridService] - ;; default standalone, overridable in StandaloneCommon.ini - StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" - - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - ;; The following is the configuration section for the new style services - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -[Architecture] - ; Choose exactly one and only one of the architectures below. - - Include-Standalone = "config-include/Standalone.ini" - ;Include-HGStandalone = "config-include/StandaloneHypergrid.ini" - ;Include-Grid = "config-include/Grid.ini" - ;Include-HGGrid = "config-include/GridHypergrid.ini" - ;Include-SimianGrid = "config-include/SimianGrid.ini" - ;Include-HyperSimianGrid = "config-include/HyperSimianGrid.ini" - - ; Then choose - ; config-include/StandaloneCommon.ini.example (if you're in standlone) OR - ; config-include/GridCommon.ini.example (if you're connected to a grid) - ; Copy to your own .ini there (without .example extension) and edit it - ; to customize your data - - - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; - ;; The below pulls in optional module config files - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -[Modules] - Include-modules = "addon-modules/*/config/*.ini" - - -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -;; ENSURE [Architecture] and [Modules] Sections with their "includes" -;; are last to allow for overrides -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/bin/OpenSimDefaults.ini.example b/bin/OpenSimDefaults.ini.example new file mode 100644 index 0000000..ef8f73a --- /dev/null +++ b/bin/OpenSimDefaults.ini.example @@ -0,0 +1,1325 @@ +[Startup] + ; Set this to true if you want to log crashes to disk + ; this can be useful when submitting bug reports. + save_crashes = false + + ; Directory to save crashes to if above is enabled + ; (default is /opensimdir/crashes/*.txt or C:\opensim\crashes\*.txt) + crash_dir = "crashes" + + ; Place to create a PID file + ; PIDFile = "/tmp/my.pid" + + ; Http proxy support for llHTTPRequest and dynamic texture loading + ; Set HttpProxy to the URL for your proxy server if you would like + ; to proxy llHTTPRequests through a firewall + ; HttpProxy = "http://proxy.com" + ; Set HttpProxyExceptions to a list of regular expressions for + ; URLs that you don't want going through the proxy such as servers + ; inside your firewall, separate patterns with a ';' + ; HttpProxyExceptions = ".mydomain.com;localhost" + + startup_console_commands_file = "startup_commands.txt" + shutdown_console_commands_file = "shutdown_commands.txt" + + ; To run a script every few minutes, set the script filename here + ; timer_Script = "filename" + + ; ## + ; ## SYSTEM + ; ## + + ; Sets the method that OpenSim will use to fire asynchronous + ; events. Valid values are UnsafeQueueUserWorkItem, + ; QueueUserWorkItem, BeginInvoke, SmartThreadPool, and Thread. + ; SmartThreadPool is reported to work well on Mono/Linux, but + ; UnsafeQueueUserWorkItem has been benchmarked with better + ; performance on .NET/Windows + async_call_method = SmartThreadPool + + ; Max threads to allocate on the FireAndForget thread pool + ; when running with the SmartThreadPool option above + MaxPoolThreads = 15 + + ; ## + ; ## CLIENTS + ; ## + + ; Enables EventQueueGet Service. + EventQueue = true + + ; Set this to the DLL containing the client stack to use. + clientstack_plugin="OpenSim.Region.ClientStack.LindenUDP.dll" + + ; ## + ; ## REGIONS + ; ## + + ; Determine where OpenSimulator looks for the files which tell it which regions to server + ; Defaults to "filesystem" if this setting isn't present + region_info_source = "filesystem" + ; region_info_source = "web" + + ; Determines where the region XML files are stored if you are loading these from the filesystem. + ; Defaults to bin/Regions in your OpenSimulator installation directory + ; regionload_regionsdir="C:\somewhere\xmlfiles\" + + ; Determines the page from which regions xml is retrieved if you are loading these from the web + ; The XML here has the same format as it does on the filesystem (including the tag), + ; except that everything is also enclosed in a tag. + ; regionload_webserver_url = "http://example.com/regions.xml"; + + ; Draw objects on maptile. This step might take a long time if you've got a large number of + ; objects, so you can turn it off here if you'd like. + DrawPrimOnMapTile = true + ; Use terrain texture for maptiles if true, use shaded green if false + TextureOnMapTile = false + + ; Maximum total size, and maximum size where a prim can be physical + NonPhysicalPrimMax = 256 + PhysicalPrimMax = 10 ; (I think this was moved to the Regions.ini!) + ClampPrimSize = false + + ; Allow scripts to cross region boundaries. These are recompiled on the new region. + AllowScriptCrossing = false + + ; Allow compiled script binary code to cross region boundaries. + ; If you set this to "true", any region that can teleport to you can + ; inject ARBITRARY BINARY CODE into your system. Use at your own risk. + ; YOU HAVE BEEN WARNED!!! + TrustBinaries = false + + ; Combine all contiguous regions into one large megaregion + ; Order your regions from South to North, West to East in your regions.ini and then set this to true + ; Warning! Don't use this with regions that have existing content!, This will likely break them + CombineContiguousRegions = false + + ; If you have only one region in an instance, or to avoid the many bugs + ; that you can trigger in modules by restarting a region, set this to + ; true to make the entire instance exit instead of restarting the region. + ; This is meant to be used on systems where some external system like + ; Monit will restart any instance that exits, thereby making the shutdown + ; into a restart. + ;InworldRestartShutsDown = false + + ; ## + ; ## PRIM STORAGE + ; ## + + ; Persistence of changed objects happens during regular sweeps. The following control that behaviour to + ; prevent frequently changing objects from heavily loading the region data store. + ; If both of these values are set to zero then persistence of all changed objects will happen on every sweep. + ; + ; Objects will be considered for persistance in the next sweep when they have not changed for this number of seconds + MinimumTimeBeforePersistenceConsidered = 60 + ; Objects will always be considered for persistance in the next sweep if the first change occurred this number of seconds ago + MaximumTimeBeforePersistenceConsidered = 600 + + ; Should avatars in neighbor sims see objects in this sim? + see_into_this_sim_from_neighbor = true + + ; ## + ; ## PHYSICS + ; ## + + ; if you would like to allow prims to be physical and move by physics with the physical checkbox in the client set this to true. + physical_prim = true + + ; Select a mesher here. + ; + ; Meshmerizer properly handles complex prims by using triangle meshes. + ; Note that only the ODE physics engine currently deals with meshed prims in a satisfactory way + ; + ; ZeroMesher is faster but leaves the physics engine to model the mesh using the basic shapes that it supports + ; Usually this is only a box + + meshing = Meshmerizer + ;meshing = ZeroMesher + + ; Choose one of the physics engines below + ; OpenDynamicsEngine is by some distance the most developed physics engine + ; basicphysics effectively does not model physics at all, making all objects phantom + + physics = OpenDynamicsEngine + ;physics = basicphysics + ;physics = POS + ;physics = modified_BulletX + + ; ## + ; ## PERMISSIONS + ; ## + + ;permissionmodules = "DefaultPermissionsModule" + + ;If any of the specified permissions modules fail to load, quit? + SecurePermissionsLoading = true + + ; If set to false, then, in theory, the server never carries out permission checks (allowing anybody to copy + ; any item, etc. This may not yet be implemented uniformally. + ; If set to true, then all permissions checks are carried out + ; Default is false + serverside_object_permissions = false + + allow_grid_gods = false + + ; This allows somne control over permissions + ; please note that this still doesn't duplicate SL, and is not intended to + ;region_owner_is_god = true + ;region_manager_is_god = false + ;parcel_owner_is_god = true + + ; Control user types that are allowed to create new scripts + ; Only enforced if serviceside_object_permissions is true + ; + ; Current possible values are + ; all - anyone can create scripts (subject to normal permissions) + ; gods - only administrators can create scripts (as long as allow_grid_gods is true) + ; Default value is all + ; allowed_script_creators = all + + ; Control user types that are allowed to edit (save) scripts + ; Only enforced if serviceside_object_permissions is true + ; + ; Current possible values are + ; all - anyone can edit scripts (subject to normal permissions) + ; gods - only administrators can edit scripts (as long as allow_grid_gods is true) + ; Default value is all + ; allowed_script_editors = all + + ; ## + ; ## SCRIPT ENGINE + ; ## + + DefaultScriptEngine = "XEngine" + + ; ## + ; ## WORLD MAP + ; ## + + ;WorldMapModule = "WorldMap" + ;MapImageModule = "MapImageModule" + ; Set to false to not generate any maptiles + ;GenerateMaptiles = "true" + ; Refresh (in seconds) the map tile periodically + ;MaptileRefresh = 0 + ; If not generating maptiles, use this static texture asset ID + ;MaptileStaticUUID = "00000000-0000-0000-0000-000000000000" + + ; ## + ; ## EMAIL MODULE + ; ## + + ;emailmodule = DefaultEmailModule + + ; ## + ; ## ANIMATIONS + ; ## + + ; If enabled, enableFlySlow will change the primary fly state to + ; FLYSLOW, and the "always run" state will be the regular fly. + + enableflyslow = false + + ; PreJump is an additional animation state, but it probably + ; won't look right until the physics engine supports it + ; (i.e delays takeoff for a moment) + + ; This is commented so it will come on automatically once it's + ; supported. + + ; enableprejump = true + + ; Simulator Stats URI + ; Enable JSON simulator data by setting a URI name (case sensitive) + ; Stats_URI = "jsonSimStats" + + ; Make OpenSim start all regions woth logins disabled. They will need + ; to be enabled from the console if this is set + ; StartDisabled = false + + ; Image decoding. Use CSJ2K for layer boundary decoding if true, + ; OpenJPEG if false + ; UseCSJ2K = true + +[SMTP] + enabled=false + + ;enabled=true + ;internal_object_host=lsl.opensim.local + ;host_domain_header_from=127.0.0.1 + ;SMTP_SERVER_HOSTNAME=127.0.0.1 + ;SMTP_SERVER_PORT=25 + ;SMTP_SERVER_LOGIN=foo + ;SMTP_SERVER_PASSWORD=bar + +[Network] + ConsoleUser = "Test" + ConsolePass = "secret" + http_listener_port = 9000 + console_port = 0 + + ; ssl config: Experimental! The auto https config only really works definately on windows XP now + ; you need a Cert Request/Signed pair installed in the MY store with the CN specified below + ; you can use https on other platforms, but you'll need to configure the httpapi yourself for now + http_listener_ssl = false ; Also create a SSL server + http_listener_cn = "localhost" ; Use the cert with the common name + http_listener_sslport = 9001 ; Use this port for SSL connections + http_listener_ssl_cert = "" ; Currently unused, but will be used for OSHttpServer + + ; Hostname to use in llRequestURL/llRequestSecureURL + ; if not defined - default machine name is being used + ; (on Windows this mean NETBIOS name - useably only inside local network) + ; ExternalHostNameForLSL=127.0.0.1 + + ; What is reported as the "X-Secondlife-Shard" + ; Defaults to the user server url if not set + ; The old default is "OpenSim", set here for compatibility + shard = "OpenSim" + + ; What is reported as the "User-Agent" when using llHTTPRequest + ; Defaults to not sent if not set here. See the notes section in the wiki at + ; http://wiki.secondlife.com/wiki/LlHTTPRequest for comments on adding + ; " (Mozilla Compatible)" to the text where there are problems with a web server + ;user_agent = "OpenSim LSL (Mozilla Compatible)" + +[XMLRPC] + ; ## + ; ## Scripting XMLRPC mapper + ; ## + + ; If enabled, this will post an event, "xmlrpc_uri(string)" to the + ; script concurrently with the first remote_data event. + ; This will contain the fully qualified URI an external site needs + ; to use to send XMLRPC requests to that script + + ;XmlRpcRouterModule = "XmlRpcRouterModule" + ;XmlRpcPort = 20800 + +[ClientStack.LindenUDP] + ; Set this to true to process incoming packets asynchronously. Networking is + ; already separated from packet handling with a queue, so this will only + ; affect whether networking internals such as packet decoding and + ; acknowledgement accounting are done synchronously or asynchronously + ; + ;async_packet_handling = false + + ; The client socket receive buffer size determines how many + ; incoming requests we can process; the default on .NET is 8192 + ; which is about 2 4k-sized UDP datagrams. On mono this is + ; whatever the underlying operating system has as default; for + ; example, ubuntu 8.04 or SLES11 have about 111k, which is about + ; 27 4k-sized UDP datagrams (on linux platforms you can [as root] + ; do "sysctl net.core.rmem_default" to find out what your system + ; uses a default socket receive buffer size. + ; + ; client_socket_rcvbuf_size allows you to specify the receive + ; buffer size LLUDPServer should use. NOTE: this will be limited + ; by the system's settings for the maximum client receive buffer + ; size (on linux systems you can set that with "sysctl -w + ; net.core.rmem_max=X") + ; + ;client_socket_rcvbuf_size = 8388608 + + ; Maximum outbound bytes per second for a single scene. This can be used to + ; throttle total outbound UDP traffic for a simulator. The default value is + ; 0, meaning no throttling at the scene level. The example given here is + ; 20 megabits + ; + ;scene_throttle_max_bps = 2621440 + + ; Maximum bits per second to send to any single client. This will override + ; the user's viewer preference settings. The default value is 0, meaning no + ; aggregate throttling on clients (only per-category throttling). The + ; example given here is 1.5 megabits + ; + ;client_throttle_max_bps = 196608 + + ; Per-client bytes per second rates for the various throttle categories. + ; These are default values that will be overriden by clients + ; + ;resend_default = 12500 + ;land_default = 1000 + ;wind_default = 1000 + ;cloud_default = 1000 + ;task_default = 1000 + ;texture_default = 1000 + ;asset_default = 1000 + ;state_default = 1000 + + ; Per-client maximum burst rates in bytes per second for the various + ; throttle categories. These are default values that will be overriden by + ; clients + ; + ;resend_limit = 18750 + ;land_limit = 29750 + ;wind_limit = 18750 + ;cloud_limit = 18750 + ;task_limit = 18750 + ;texture_limit = 55750 + ;asset_limit = 27500 + ;state_limit = 37000 + + ; Configures how ObjectUpdates are aggregated. These numbers + ; do not literally mean how many updates will be put in each + ; packet that goes over the wire, as packets are + ; automatically split on a 1400 byte boundary. These control + ; the balance between responsiveness of interest list updates + ; and total throughput. Higher numbers will ensure more full- + ; sized packets and faster sending of data, but more delay in + ; updating interest lists + ; + ;PrimTerseUpdatesPerPacket = 25 + ;AvatarTerseUpdatesPerPacket = 10 + ;PrimFullUpdatesPerPacket = 100 + + ; TextureSendLimit determines how many packets will be put on + ; the outgoing queue each cycle. Like the settings above, this + ; is a balance between responsiveness to priority updates and + ; total throughput. Higher numbers will give a better + ; throughput at the cost of reduced responsiveness to client + ; priority changes or transfer aborts + ; + ;TextureSendLimit = 20 + + ; Quash and remove any light properties from attachments not on the + ; hands. This allows flashlights and lanterns to function, but kills + ; silly vanity "Facelights" dead. Sorry, head mounted miner's lamps + ; will also be affected. + ; + ;DisableFacelights = "false" + +[Chat] + ; Controls whether the chat module is enabled. Default is true. + enabled = true; + + ; Distance in meters that whispers should travel. Default is 10m + whisper_distance = 10 + + ; Distance in meters that ordinary chat should travel. Default is 30m + say_distance = 30 + + ; Distance in meters that shouts should travel. Default is 100m + shout_distance = 100 + + ; Append a prefix to the god avatar names appearing in chat whilst in god mode + ; admin_prefix = "@" + + +[Messaging] + ; Control which region module is used for instant messaging. + ; Default is InstantMessageModule (this is the name of the core IM module as well as the setting) + InstantMessageModule = InstantMessageModule + ; MessageTransferModule = MessageTransferModule + ; OfflineMessageModule = OfflineMessageModule + ; OfflineMessageURL = http://yourserver/Offline.php + ; MuteListModule = MuteListModule + ; MuteListURL = http://yourserver/Mute.php + + ; Control whether group messages are forwarded to offline users. Default is true. + ; ForwardOfflineGroupMessages = true + + +[ODEPhysicsSettings] + ;## + ;## World Settings + ;## + + ;Gravity. Feel like falling up? change world_gravityz to 9.8 instead of -9.8. m/s + world_gravityx = 0 + world_gravityy = 0 + world_gravityz = -9.8 + + ; World Step size. (warning these are dangerous. Changing these will probably cause your scene to explode dramatically) + ; reference: fps = (0.09375/ODE_STEPSIZE) * 1000; + world_stepsize = 0.020 + world_internal_steps_without_collisions = 10 + + ;World Space settings. Affects memory consumption vs Collider CPU time for avatar and physical prim + world_hashspace_size_low = -4 + world_hashSpace_size_high = 128 + + ;Dynamic space settings Affects memory consumption vs Collider CPU time for static prim + meters_in_small_space = 29.9 + small_hashspace_size_low = -4 + small_hashspace_size_high = 66 + + ; ## + ; ## Contact properties. (the stuff that happens when things come in contact with each other) + ; ## + + ; surface layer around geometries other geometries can sink into before generating a contact + world_contact_surface_layer = 0.001 + + ; Filtering collisions helps keep things stable physics wise, but sometimes + ; it can be overzealous. If you notice bouncing, chances are it's that. + filter_collisions = false + + ; Non Moving Terrain Contact (avatar isn't moving) + nm_terraincontact_friction = 255.0 + nm_terraincontact_bounce = 0.1 + nm_terraincontact_erp = 0.1025 + + ; Moving Terrain Contact (avatar is moving) + m_terraincontact_friction = 75.0 + m_terraincontact_bounce = 0.05 + m_terrainContact_erp = 0.05025 + + ; Moving Avatar to object Contact + m_avatarobjectcontact_friction = 75.0 + m_avatarobjectcontact_bounce = 0.1 + + ; Object to Object Contact and Non-Moving Avatar to object + objectcontact_friction = 250.0 + objectcontact_bounce = 0.2 + + ; ## + ; ## Avatar Control + ; ## + + ; PID Controller Settings. These affect the math that causes the avatar to reach the + ; desired velocity + ; See http://en.wikipedia.org/wiki/PID_controller + + av_pid_derivative_linux = 2200.0 + av_pid_proportional_linux = 900.0; + + av_pid_derivative_win = 2200.0 + av_pid_proportional_win = 900.0; + + ;girth of the avatar. Adds radius to the height also + av_capsule_radius = 0.37 + + ; Max force permissible to use to keep the avatar standing up straight + av_capsule_standup_tensor_win = 550000 + av_capsule_standup_tensor_linux = 550000 + + ; specifies if the capsule should be tilted (=true; old compatibility mode) + ; or straight up-and-down (=false; better and more consistent physics behavior) + av_capsule_tilted = false + + ; used to calculate mass of avatar. + ; float AVvolume = (float) (Math.PI*Math.Pow(CAPSULE_RADIUS, 2)*CAPSULE_LENGTH); + ; av_density * AVvolume; + av_density = 80 + + ; use this value to cut 52% of the height the sim gives us + av_height_fudge_factor = 0.52 + + ; Movement. Smaller is faster. + + ; speed of movement with Always Run off + av_movement_divisor_walk = 1.3 + + ; speed of movement with Always Run on + av_movement_divisor_run = 0.8 + + ; When the avatar flies, it will be moved up by this amount off the ground (in meters) + minimum_ground_flight_offset = 3.0 + + ; ## + ; ## Object options + ; ## + + ; used in the mass calculation. + geometry_default_density = 10.000006836 + + ; amount of ODE steps where object is non moving for ODE to automatically put it to sleep + body_frames_auto_disable = 20 + + ; used to control llMove2Target + body_pid_derivative = 35 + body_pid_gain = 25 + + ; maximum number of contact points to generate per collision + contacts_per_collision = 80 + + ; amount of time a geom/body will try to cross a region border before it gets disabled + geom_crossing_failures_before_outofbounds = 5 + + ; start throttling the object updates if object comes in contact with 3 or more other objects + geom_contactpoints_start_throttling = 3 + + ; send 1 update for every x updates below when throttled + geom_updates_before_throttled_update = 15 + + ; Used for llSetStatus. How rigid the object rotation is held on the axis specified + body_motor_joint_maxforce_tensor_linux = 5 + body_motor_joint_maxforce_tensor_win = 5 + + ; Maximum mass an object can be before it is clamped + maximum_mass_object = 10000.01 + + ; ## + ; ## Sculpted Prim settings + ; ## + + ; Do we want to mesh sculpted prim to collide like they look? + mesh_sculpted_prim = true + + ; number^2 non-physical level of detail of the sculpt texture. 32x32 - 1024 verticies + mesh_lod = 32 + + ; number^2 physical level of detail of the sculpt texture. 16x16 - 256 verticies + mesh_physical_lod = 16 + + ; ## + ; ## Physics logging settings - logfiles are saved to *.DIF files + ; ## + + ; default is false + ;physics_logging = true + ;; every n simulation iterations, the physics snapshot file is updated + ;physics_logging_interval = 50 + ;; append to existing physics logfile, or overwrite existing logfiles? + ;physics_logging_append_existing_logfile = true + + ; ## + ; ## Joint support + ; ## + + ; if you would like physics joints to be enabled through a special naming convention in the client, set this to true. + ; (see NINJA Physics documentation, http://opensimulator.org/wiki/NINJA_Physics) + ; default is false + ;use_NINJA_physics_joints = true + + ; ## + ; ## additional meshing options + ; ## + + ; physical collision mesh proxies are normally created for complex prim shapes, and collisions for simple boxes and + ; spheres are computed algorithmically. If you would rather have mesh proxies for simple prims, you can set this to + ; true. Note that this will increase memory usage and region startup time. Default is false. + ;force_simple_prim_meshing = true + + +[RemoteAdmin] + enabled = false + + ; Set this to a nonzero value to have remote admin use a different port + port = 0 + + ; This password is required to make any XMLRPC call (should be set as the "password" parameter) + access_password = unknown + + ; set this variable to true if you want the create_region XmlRpc + ; call to unconditionally enable voice on all parcels for a newly + ; created region [default: false] + create_region_enable_voice = false + + ; set this variable to false if you want the create_region XmlRpc + ; call to create all regions as private per default (can be + ; overridden in the XmlRpc call) [default: true] + create_region_public = false + + ; the create_region XmlRpc call uses region_file_template to generate + ; the file name of newly create regions (if they are created + ; persistent). the parameter available are: + ; {0} - X location + ; {1} - Y location + ; {2} - region UUID + ; {3} - region port + ; {4} - region name with " ", ":", "/" mapped to "_" + region_file_template = "{0}x{1}-{2}.ini" + + ; we can limit the number of regions that XmlRpcCreateRegion will + ; allow by setting this to a positive, non-0 number: as long as the + ; number of regions is below region_limits, XmlRpcCreateRegion will + ; succeed. setting region_limit to 0 disables the check. + ; default is 0 + ;region_limit = 0 + + ; enable only those methods you deem to be appropriate using a | delimited whitelist + ; for example, enabled_methods = admin_broadcast|admin_region_query|admin_save_oar|admin_save_xml + ; if this parameter is not specified but enabled = true, all methods will be available + enabled_methods = all + + ; specify the default appearance for an avatar created through the remote admin interface + ; This will only take effect is the file specified by the default_appearance setting below exists + ;default_male = Default Male + ;default_female = Default Female + + ; update appearance copies inventory items and wearables of default avatars. if this value is false + ; (default), just worn assets are copied to the Clothes folder; if true, all Clothes and Bodyparts + ; subfolders are copied. the receiver will wear the same items the default avatar did wear. + ;copy_folders = false + + ; path to default appearance XML file that specifies the look of the default avatars + ;default_appearance = default_appearance.xml + +[RestPlugins] + ; Change this to true to enable REST Plugins. This must be true if you wish to use + ; REST Region or REST Asset and Inventory Plugins + enabled = false + god_key = SECRET + prefix = /admin + + +[RestRegionPlugin] + ; Change this to true to enable the REST Region Plugin + enabled = false + + +[RestHandler] + ; Change this to true to enable the REST Asset and Inventory Plugin + enabled = false + authenticate = true + secured = true + extended-escape = true + realm = OpenSim REST + dump-asset = false + path-fill = true + dump-line-size = 32 + flush-on-error = true + + +; Uncomment the following for IRC bridge +; experimental, so if it breaks... keep both parts... yada yada +; also, not good error detection when it fails +;[IRC] + ;enabled = true ; you need to set this otherwise it won't connect + ;server = name.of.irc.server.on.the.net + ;; user password - only use this if the server requires one + ;password = mypass + ;nick = OpenSimBotNameProbablyMakeThisShorter + ;channel = #the_irc_channel_you_want_to_connect_to + ;user = "USER OpenSimBot 8 * :I'm an OpenSim to IRC bot" + ;port = 6667 + ;; channel to listen for configuration commands + ;commands_enabled = false + ;command_channel = 2777 + ;report_clients = true + ;; relay private chat connections + ;; relay_private_channels = true: will relay IRC chat from/to private in-world channels + ;; relay_private_channel_out -- channel to send messages out to the IRC bridge + ;; relay_private_channel_in -- channel to receive message from the IRC bridge + ;; relay_chat = false: IRC bridge will not relay normal chat + ;; access_password -- simple security device + ;; + ;; so, to just relay chat from an IRC channel to in-world region and vice versa: + ;; + ;; relay_private_channels = false + ;; relay_chat = true + ;; + ;; to relay chat only to/from private in-world channels: + ;; + ;; relay_chat = false + ;; relay_private_channels = true + ;; relay_private_channel_in = 2226 + ;; relay_private_channel_out = 2225 + ;; + ;; in this example, all chat coming in from IRC will be send out via + ;; in-world channel 2226, and all chat from in-world channel 2225 will + ;; be relayed to the IRC channel. + ;; + ;relay_private_channels = false + ;relay_private_channel_in = 2226 + ;relay_private_channel_out = 2225 + ;relay_chat = true + ;access_password = foobar + + ;;fallback_region = name of "default" region + ;;MSGformat fields : 0=botnick, 1=user, 2=region, 3=message + ;; must start with "PRIVMSG {0} : " or irc server will get upset + ;;for : : + ;;msgformat = "PRIVMSG {0} :<{1} in {2}>: {3}" + ;;for : - : + ;msgformat = "PRIVMSG {0} : {3} - {1} of {2}" + ;;for : - from : + ;;msgformat = "PRIVMSG {0} : {3} - from {1}" + + ;; exclude_list allows you to stop the IRC connector from announcing the + ;;arrival and departure of certain users. For example: admins, bots. + + ;exclude_list=User 1,User 2,User 3 + + +;[CMS] + ;enabled = true + ;channel = 345 + + +; Uncomment the following to control the progression of daytime +; in the Sim. The defaults are what is shown below +;[Sun] + ; number of wall clock hours for an opensim day. 24.0 would mean realtime + ;day_length = 4 + ; Year length in days + ;year_length = 60 + ; Day to Night Ratio + ;day_night_offset = 0.45 + ; send a Sun update every update_interval # of frames. A lower number will + ; make for smoother sun transition at the cost of network + ;update_interval = 100 + + +[Wind] + ; Enables the wind module. Default is true + enabled = true + + ; How often should wind be updated, as a function of world frames. Approximately 50 frames a second + wind_update_rate = 150 + + ; The Default Wind Plugin to load + wind_plugin = SimpleRandomWind + + ; These settings are specific to the ConfigurableWind plugin + ; To use ConfigurableWind as the default, simply change wind_plugin to ConfigurableWind and uncomment the following. + ; avg_strength = 5.0 + ; avg_direction = 0.0 + ; var_strength = 0.0 + ; var_direction = 0.0 + ; rate_change = 1.0 + + ; This setting is specific to the SimpleRandomWind plugin + ; Adjusts wind strength. 0.0 = no wind, 1.0 = normal wind. Default is 1.0 + strength = 1.0 + + +[Cloud] + ; Enable this to generate classic particle clouds above the sim. + ; default is disabled - turn it on here + enabled = false + + ; Density of cloud cover 0.0 to 1.0 Defult 0.5 + density = 0.5 + + ; update interval for the cloud cover data returned by llCloud(). + ; default is 1000 + cloud_update_rate = 1000 + +[LightShare] + + ; This enables the transmission of Windlight scenes to supporting clients, such as the Meta7 viewer. + ; It has no ill effect on viewers which do not support server-side windlight settings. + ; Currently we only have support for MySQL databases. + enable_windlight = false; + +[Trees] + ; Enable this to allow the tree module to manage your sim trees, including growing, reproducing and dying + ; default is false + active_trees = false + + ; Density of tree population + tree_density = 1000.0 + + +[VectorRender] + + ; the font to use for rendering text (default: Arial) + ; font_name = "Arial" + + +[LL-Functions] + ; Set the following to true to allow administrator owned scripts to execute console commands + ; currently unused + ; AllowosConsoleCommand=false + + AllowGodFunctions = false + + ; Maximum number of llListen events we allow per script + ; Set this to 0 to have no limit imposed. + max_listens_per_script = 64 + + +[DataSnapshot] + ; The following set of configs pertains to search. + ; Set index_sims to true to enable search engines to index your searchable data + ; If false, no data will be exposed, DataSnapshot module will be off, and you can ignore the rest of these search-related configs + ; default is false + index_sims = false + + ; The variable data_exposure controls what the regions expose: + ; minimum: exposes only things explicitly marked for search + ; all: exposes everything + data_exposure = minimum + + ; If search is on, change this to your grid name; will be ignored for standalones + gridname = "OSGrid" + + ; Period between data snapshots, in seconds. 20 minutes, for starters, so that you see the initial changes fast. + ; Later, you may want to increase this to 3600 (1 hour) or more + default_snapshot_period = 1200 + + ; This will be created in bin, if it doesn't exist already. It will hold the data snapshots. + snapshot_cache_directory = "DataSnapshot" + + ; This semicolon-separated string serves to notify specific data services about the existence + ; of this sim. Uncomment if you want to index your data with this and/or other search providers. + ;data_services="http://metaverseink.com/cgi-bin/register.py" + + +[Economy] + ; These economy values get used in the BetaGridLikeMoneyModule. - This module is for demonstration only - + + ; Enables selling things for $0 + SellEnabled = "false" + + ; 45000 is the highest value that the sim could possibly report because of protocol constraints + ObjectCapacity = 45000 + + ; Money Unit fee to upload textures, animations etc + PriceUpload = 0 + + ; Money Unit fee to create groups + PriceGroupCreate = 0 + + ; We don't really know what the rest of these values do. These get sent to the client + ; These taken from Agni at a Public Telehub. Change at your own risk. + ObjectCount = 0 + PriceEnergyUnit = 100 + PriceObjectClaim = 10 + PricePublicObjectDecay = 4 + PricePublicObjectDelete = 4 + PriceParcelClaim = 1 + PriceParcelClaimFactor = 1 + + PriceRentLight = 5 + TeleportMinPrice = 2 + TeleportPriceExponent = 2 + EnergyEfficiency = 1 + PriceObjectRent = 1 + PriceObjectScaleFactor = 10 + PriceParcelRent = 1 + +[Git] +Enabled = true +RepoPath = "git" + +;How many seconds between the scheduled commits? +CommitInterval = 21600 + +;Disable all except the initial commit? +DisableNonEssentialCommits = false + +;Should we automatically commit when necessary to avoid objects never making it into the repo? +UseSafetyCommit = true + + +[SVN] + Enabled = false + Directory = SVNmodule\repo + URL = "svn://your.repo.here/" + Username = "user" + Password = "password" + ImportOnStartup = false + Autosave = false + AutoSavePeriod = 15 ; Number of minutes between autosave backups + + +[XEngine] + ; Enable this engine in this OpenSim instance + Enabled = true + + ; How many threads to keep alive even if nothing is happening + MinThreads = 2 + + ; How many threads to start at maximum load + MaxThreads = 100 + + ; Time a thread must be idle (in seconds) before it dies + IdleTimeout = 60 + + ; Thread priority ("Lowest", "BelowNormal", "Normal", "AboveNormal", "Highest") + Priority = "BelowNormal" + + ; Maximum number of events to queue for a script (excluding timers) + MaxScriptEventQueue = 300 + + ; Stack size per thread created + ThreadStackSize = 262144 + + ; Set this to true (the default) to load each script into a separate + ; AppDomain. Setting this to false will load all script assemblies into the + ; current AppDomain, which will reduce the per-script overhead at the + ; expense of reduced security and the inability to garbage collect the + ; script assemblies + AppDomainLoading = true + + ; Rate to poll for asynchronous command replies (ms) + ; currently unused + ;AsyncLLCommandLoopms = 50 + + ; Save the source of all compiled scripts + WriteScriptSourceToDebugFile = false + + ; Default language for scripts + DefaultCompileLanguage = lsl + + ; List of allowed languages (lsl,vb,js,cs) + ; AllowedCompilers=lsl,cs,js,vb. + ; *warning*, non lsl languages have access to static methods such as System.IO.File. Enable at your own risk. + AllowedCompilers=lsl + + ; Compile debug info (line numbers) into the script assemblies + CompileWithDebugInformation = true + + ; Allow the user of mod* functions. This allows a script to pass messages + ; to a region module via the modSendCommand() function + ; Default is false + AllowMODFunctions = false + + ; Allow the use of os* functions (some are dangerous) + AllowOSFunctions = false + + ; Allow the user of LightShare functions + AllowLightShareFunctions = false + + ; Threat level to allow, one of None, VeryLow, Low, Moderate, High, VeryHigh, Severe + OSFunctionThreatLevel = VeryLow + + ; Interval (s) between background save of script states + SaveInterval = 120 + + ; Interval (s) between maintenance runs (0 = disable) + MaintenanceInterval = 10 + + ; Time a script can spend in an event handler before it is interrupted + EventLimit = 30 + + ; If a script overruns it's event limit, kill the script? + KillTimedOutScripts = false + + ; Sets the multiplier for the scripting delays + ScriptDelayFactor = 1.0 + + ; The factor the 10 m distances llimits are multiplied by + ScriptDistanceLimitFactor = 1.0 + + ; Maximum length of notecard line read + ; Increasing this to large values potentially opens + ; up the system to malicious scripters + ; NotecardLineReadCharsMax = 255 + + ; Sensor settings + SensorMaxRange = 96.0 + SensorMaxResults = 16 + + ; OS Functions enable/disable + ; For each function, you can add one line, as shown + ; The default for all functions allows them if below threat level + + ; true allows the use of the function unconditionally + ; Allow_osSetRegionWaterHeight = true + + ; false disables the function completely + ; Allow_osSetRegionWaterHeight = false + + ; Comma separated list of UUIDS allows the function for that list of UUIDS + ; Allow_osSetRegionWaterHeight = 888760cb-a3cf-43ac-8ea4-8732fd3ee2bb + + ; You can also use script creators as the uuid + ; Creators_osSetRegionWaterHeight = , ... + + ; If both Allow_ and Creators_ are given, effective permissions + ; are the union of the two. + + ; Allow for llCreateLink and llBreakLink to work without asking for permission + ; only enable this in a trusted environment otherwise you may be subject to hijacking + ; AutomaticLinkPermission = false + + ; Disable underground movement of prims (default true); set to + ; false to allow script controlled underground positioning of + ; prims + ; DisableUndergroundMovement = true + + +[OpenGridProtocol] + ;These are the settings for the Open Grid Protocol.. the Agent Domain, Region Domain, you know.. + ;On/true or Off/false + ogp_enabled=false + + ;Name Prefix/suffix when using OGP + ogp_firstname_prefix="" + ogp_lastname_suffix="_EXTERNAL" + + +[Concierge] + ; Enable concierge module + ; Default is false + enabled = false + + ; name of the concierge + whoami = "jeeves" + + ; password for updating the welcome message templates via XmlRpc + password = SECRET + + ; regex specifying for which regions concierge service is desired; if + ; empty, then for all + regions = "^MeetingSpace-" + + ; for each region that matches the regions regexp you can provide + ; (optionally) a welcome template using format substitution: + ; {0} is replaced with the name of the avatar entering the region + ; {1} is replaced with the name of the region + ; {2} is replaced with the name of the concierge (whoami variable above) + + welcomes = /path/to/welcome/template/directory + + ; Concierge can send attendee lists to an event broker whenever an + ; avatar enters or leaves a concierged region. the URL is subject + ; to format substitution: + ; {0} is replaced with the region's name + ; {1} is replaced with the region's UUID + broker = "http://broker.place.com/{1}" + + +[RegionReady] + ; Enable this module to get notified once all items and scripts in the region have been completely loaded and compiled + ; default is false + enabled = false + + ; Channel on which to signal region readiness through a message + ; formatted as follows: "{server_startup|oar_file_load},{0|1},n,[oar error]" + ; - the first field indicating whether this is an initial server startup + ; - the second field is a number indicating whether the OAR file loaded ok (1 == ok, 0 == error) + ; - the third field is a number indicating how many scripts failed to compile + ; - "oar error" if supplied, provides the error message from the OAR load + channel_notify = -800 + + +[MRM] + ; Enables the Mini Region Modules Script Engine. + ; default is false + Enabled = false + + ; Runs MRM in a Security Sandbox + ; WARNING: DISABLING IS A SECURITY RISK. + Sandboxed = true + + ; The level sandbox to use, adjust at your OWN RISK. + ; Valid values are: + ; * FullTrust + ; * SkipVerification + ; * Execution + ; * Nothing + ; * LocalIntranet + ; * Internet + ; * Everything + SandboxLevel = "Internet" + + ; Only allow Region Owners to run MRMs + ; May represent a security risk if you disable this. + OwnerOnly = true + +[Hypergrid] + ; Keep it false for now. Making it true requires the use of a special client in order to access inventory + safemode = false + +[VivoxVoice] + ; The VivoxVoice module will allow you to provide voice on your + ; region(s). It uses the same voice technology as the LL grid and + ; works with recent LL clients (we have tested 1.22.9.110075, so + ; anything later ought to be fine as well). + ; + ; For this to work you need to obtain an admin account from Vivox + ; that allows you to create voice accounts and region channels. + + enabled = false + + ; vivox voice server + vivox_server = www.foobar.vivox.com + + ; vivox SIP URI + vivox_sip_uri = foobar.vivox.com + + ; vivox admin user name + vivox_admin_user = DeepThroat + + ; vivox admin password + vivox_admin_password = VoiceG4te + + ; channel type: "channel" or "positional" + ; - positional: spatial sound (default) + ; - channel: normal "conference call", no spatial sound + ;vivox_channel_type = positional + + ; channel characteristics (unless you know what you are doing, i'd + ; leave them as they are --- now you WILL muck around with them, + ; huh? sigh) + + ; channel distance model: + ; 0 - no attenuation + ; 1 - inverse distance attenuation + ; 2 - linear attenuation (default) + ; 3 - exponential attenuation + ;vivox_channel_distance_model = 2 + + ; channel mode: + ; - "open" (default) + ; - "lecture" + ; - "presentation" + ; - "auditorium" + ;vivox_channel_mode = "open" + + ; channel roll off: rate of attenuation + ; - a value between 1.0 and 4.0, default is 2.0 + ;vivox_channel_roll_off = 2.0 + + ; channel max range: distance at which channel is silent + ; - a value between 0 and 160, default is 80 + ;vivox_channel_max_range = 80 + + ; channel clamping distance: distance before attenuation applies + ; - a value between 0 and 160, default is 10 + ;vivox_channel_clamping_distance = 10 + +[FreeSwitchVoice] + ; In order for this to work you need a functioning FreeSWITCH PBX set up. + ; Configuration details at http://opensimulator.org/wiki/Freeswitch_Module + enabled = false + ; FreeSWITCH server is going to contact us and ask us all sorts of things + freeswitch_server_user = freeswitch + freeswitch_server_pass = password + freeswitch_api_prefix = /api + ; external IP address of your OpenSim voice enabled region + ; note: all regions running on same OpenSim.exe will be enabled + freeswitch_service_server = ip.address.of.your.sim + ; this should be the same port the region listens on + freeswitch_service_port = 9000 + freeswitch_realm = ip.address.of.freeswitch.server + freeswitch_sip_proxy = ip.address.of.freeswitch.server:5060 + ; STUN = Simple Traversal of UDP through NATs + ; See http://wiki.freeswitch.org/wiki/NAT_Traversal + ; stun.freeswitch.org is not guaranteed to be running so use it in production at your own risk + freeswitch_attempt_stun = false + freeswitch_stun_server = ip.address.of.stun.server + freeswitch_echo_server = ip.address.of.freeswitch.server + freeswitch_echo_port = 50505 + freeswitch_well_known_ip = ip.address.of.freeswitch.server + ; + ; Type the address of your http server here, hostname is allowed. This is provided so you can specify a hostname + ; This is used by client for account verification. By default, it's the same as the freeswitch service server. + ; + ; opensim_well_known_http_address = Address_Of_Your_SIM_HTTP_Server_Hostname_Allowed + ; + freeswitch_default_timeout = 5000 + freeswitch_subscribe_retry = 120 + ; freeswitch_password_reset_url = + +[Groups] + Enabled = false + + ; This is the current groups stub in Region.CoreModules.Avatar.Groups. All the other settings below only really + ; apply to the Flotsam/SimianGrid GroupsModule + Module = Default + + ; This module can use a PHP XmlRpc server from the Flotsam project at http://code.google.com/p/flotsam/ + ; or from the SimianGrid project at http://code.google.com/p/openmetaverse + ;Module = GroupsModule + + ; Enable Group Notices + ;NoticesEnabled = true + + ; This makes the Groups modules very chatty on the console. + DebugEnabled = false + + ; Specify which messaging module to use for groups messaging and if it's enabled + ;MessagingModule = GroupsMessagingModule + ;MessagingEnabled = true + + ; Service connectors to the Groups Service. Select one depending on whether you're using a Flotsam XmlRpc backend or a SimianGrid backend + + ; SimianGrid Service for Groups + ;ServicesConnectorModule = SimianGroupsServicesConnector + ;GroupsServerURI = http://mygridserver.com:82/Grid/ + + ; Flotsam XmlRpc Service for Groups + ;ServicesConnectorModule = XmlRpcGroupsServicesConnector + ;GroupsServerURI = http://yourxmlrpcserver.com/xmlrpc.php + + ; XmlRpc Security settings. These must match those set on your backend groups service. + ;XmlRpcServiceReadKey = 1234 + ;XmlRpcServiceWriteKey = 1234 + + ; Disables HTTP Keep-Alive for XmlRpcGroupsServicesConnector HTTP Requests, + ; this is a work around fora problem discovered on some Windows based region servers. + ; Only disable keep alive if you see a large number (dozens) of the following Exceptions: + ; System.Net.WebException: The request was aborted: The request was canceled. + ; XmlRpcDisableKeepAlive = false + + +[PacketPool] + ; Enables the experimental packet pool. Yes, we've been here before. + ;RecyclePackets = true; + ;RecycleDataBlocks = true; + + +[InterestManagement] + ; This section controls how state updates are prioritized for each client + ; Valid values are Time, Distance, SimpleAngularDistance, and FrontBack + UpdatePrioritizationScheme = FrontBack + ReprioritizationEnabled = true + ReprioritizationInterval = 2000.0 + RootReprioritizationDistance = 10.0 + ChildReprioritizationDistance = 20.0 + + +[WebStats] +; View region statistics via a web page +; See http://opensimulator.org/wiki/FAQ#Region_Statistics_on_a_Web_Page +; Use a web browser and type in the "Login URI" + "/SStats/" +; For example- http://127.0.0.1:9000/SStats/ +; enabled=false + +[LandManagement] +; DefaultAdministratorGroupUUID = ""; +; DefaultAdministratorParcelName = ""; + +[MediaOnAPrim] + ; Enable media on a prim facilities + Enabled = true; + +[MOTD] +Enabled = false +Message = "The MOTD module is working!" + + +;; +;; These are defaults that are overwritten below in [Architecture]. +;; These defaults allow OpenSim to work out of the box with +;; zero configuration +;; +[AssetService] + DefaultAssetLoader = "OpenSim.Framework.AssetLoader.Filesystem.dll" + AssetLoaderArgs = "assets/AssetSets.xml" + + ; Disable this to prevent the default asset set from being inserted into the + ; asset store each time the region starts + AssetLoaderEnabled = true + +[GridService] + ;; default standalone, overridable in StandaloneCommon.ini + StorageProvider = "OpenSim.Data.Null.dll:NullRegionData" + + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; The following is the configuration section for the new style services + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +[Architecture] + ; Choose exactly one and only one of the architectures below. + + Include-Standalone = "config-include/Standalone.ini" + ;Include-HGStandalone = "config-include/StandaloneHypergrid.ini" + ;Include-Grid = "config-include/Grid.ini" + ;Include-HGGrid = "config-include/GridHypergrid.ini" + ;Include-SimianGrid = "config-include/SimianGrid.ini" + ;Include-HyperSimianGrid = "config-include/HyperSimianGrid.ini" + + ; Then choose + ; config-include/StandaloneCommon.ini.example (if you're in standlone) OR + ; config-include/GridCommon.ini.example (if you're connected to a grid) + ; Copy to your own .ini there (without .example extension) and edit it + ; to customize your data + + + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + ;; The below pulls in optional module config files + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +[Modules] + Include-modules = "addon-modules/*/config/*.ini" + + +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +;; ENSURE [Architecture] and [Modules] Sections with their "includes" +;; are last to allow for overrides +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -- cgit v1.1 From 9f7aa7deef82fcace272002b06dad6c0929e999c Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 17 Sep 2010 21:40:49 +0100 Subject: Add LandServices to make landmarks work right in grids --- bin/config-include/Grid.ini | 1 + bin/config-include/GridHypergrid.ini | 1 + 2 files changed, 2 insertions(+) (limited to 'bin') diff --git a/bin/config-include/Grid.ini b/bin/config-include/Grid.ini index 1794573..5624a38 100644 --- a/bin/config-include/Grid.ini +++ b/bin/config-include/Grid.ini @@ -20,6 +20,7 @@ SimulationServices = "RemoteSimulationConnectorModule" EntityTransferModule = "BasicEntityTransferModule" InventoryAccessModule = "BasicInventoryAccessModule" + LandServices = "RemoteLandServicesConnector" LandServiceInConnector = true NeighbourServiceInConnector = true diff --git a/bin/config-include/GridHypergrid.ini b/bin/config-include/GridHypergrid.ini index cb9ead4..409b2a9 100644 --- a/bin/config-include/GridHypergrid.ini +++ b/bin/config-include/GridHypergrid.ini @@ -23,6 +23,7 @@ SimulationServices = "RemoteSimulationConnectorModule" EntityTransferModule = "HGEntityTransferModule" InventoryAccessModule = "HGInventoryAccessModule" + LandServices = "RemoteLandServicesConnector" LandServiceInConnector = true NeighbourServiceInConnector = true -- cgit v1.1 From 6f689f591a295195cf8db3c37bcd382502d468d7 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sun, 26 Sep 2010 17:56:31 +0100 Subject: Merge Master --- bin/OpenSim.ini.example | 4 ++++ bin/OpenSimDefaults.ini | 6 ++++++ 2 files changed, 10 insertions(+) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 109e0aa..2b78014 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -546,6 +546,10 @@ ;; prims ; DisableUndergroundMovement = true + ;; Path to script engine assemblies + ;; Default is ./bin/ScriptEngines + ; ScriptEnginesPath = "ScriptEngines" + [MRM] ;; Enables the Mini Region Modules Script Engine. ;; default is false diff --git a/bin/OpenSimDefaults.ini b/bin/OpenSimDefaults.ini index e78f25b..4c579c9 100644 --- a/bin/OpenSimDefaults.ini +++ b/bin/OpenSimDefaults.ini @@ -135,6 +135,10 @@ meshing = Meshmerizer ;meshing = ZeroMesher + + ;; Path to decoded sculpty maps + ;; Defaults to "j2kDecodeCache + ;DecodedSculpMapPath = "j2kDecodeCache" ; Choose one of the physics engines below ; OpenDynamicsEngine is by some distance the most developed physics engine @@ -1000,6 +1004,8 @@ ; prims ; DisableUndergroundMovement = true + ;; Path to script assemblies + ; ScriptEnginesPath = "ScriptEngines" [OpenGridProtocol] ;These are the settings for the Open Grid Protocol.. the Agent Domain, Region Domain, you know.. -- cgit v1.1 From b4fe6da4eb5152e2023410f47aa1fe3cac715673 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sun, 3 Oct 2010 16:57:45 +0100 Subject: Add the Warp3D dll --- bin/Warp3D.dll | Bin 0 -> 77824 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 bin/Warp3D.dll (limited to 'bin') diff --git a/bin/Warp3D.dll b/bin/Warp3D.dll new file mode 100644 index 0000000..8781a82 Binary files /dev/null and b/bin/Warp3D.dll differ -- cgit v1.1 From 50b03d08a8cdec9359adcece5b4645a6dc821d26 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 4 Oct 2010 00:04:42 +0200 Subject: Add linden prim renderer and update libOMV --- bin/OpenMetaverse.Rendering.Linden.dll | Bin 0 -> 40960 bytes bin/OpenMetaverse.StructuredData.XML | 398 +- bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 95232 bytes bin/OpenMetaverse.XML | 36146 ++++++++++++++++--------------- bin/OpenMetaverse.dll | Bin 1691648 -> 1768960 bytes bin/OpenMetaverse.dll.config | 14 +- bin/OpenMetaverseTypes.XML | 3302 +-- bin/OpenMetaverseTypes.dll | Bin 106496 -> 105984 bytes 8 files changed, 20577 insertions(+), 19283 deletions(-) create mode 100644 bin/OpenMetaverse.Rendering.Linden.dll (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Linden.dll b/bin/OpenMetaverse.Rendering.Linden.dll new file mode 100644 index 0000000..9642a8d Binary files /dev/null and b/bin/OpenMetaverse.Rendering.Linden.dll differ diff --git a/bin/OpenMetaverse.StructuredData.XML b/bin/OpenMetaverse.StructuredData.XML index b8f45b1..927e960 100644 --- a/bin/OpenMetaverse.StructuredData.XML +++ b/bin/OpenMetaverse.StructuredData.XML @@ -1,333 +1,363 @@ - OpenMetaverse.StructuredData + /home/root/libopenmetaverse/bin/OpenMetaverse.StructuredData - + - + + - + + - - + - - - - + - - - - + - - - - + - - - - + - - - - - + - - - - - - + - - - - - + - - - - - + - - - - + - - - - + - - - - + - + Uses reflection to create an SDMap from all of the SD + serializable types in an object - - + Class or struct containing serializable types + An SDMap holding the serialized values from the + container object - + - + Uses reflection to deserialize member variables in an object from + an SDMap - + Reference to an object to fill with deserialized + values + Serialized values to put in the target + object - + - - - - - + - - - - - + - - - - - + - - - - + - - - - + - - - - + - - - - + - - - - + - - - - + - - - - + - - - - - - - - - - - - - - - + - - - + + + + - + - + + + + - - + + + + + + + - - + + + + + + + - - + + + + + - - + + + + + + + + + - - + + + + + + + + + - - + + + + + + + + + - - + + + + + + + - - + + + + + + + - - + + + + + + + - - + + + + + + + - - + + + + + + + - + - + + + + - + - + + + + - + - Uses reflection to create an SDMap from all of the SD - serializable types in an object - Class or struct containing serializable types - An SDMap holding the serialized values from the - container object + + + + + + - + - Uses reflection to deserialize member variables in an object from - an SDMap - Reference to an object to fill with deserialized - values - Serialized values to put in the target - object + + + + + + + + - + - + + + + + + - + - + + + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + + + - + - + + + + diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 54681e4..27ccfbc 100644 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML index ca9f359..fa1057a 100644 --- a/bin/OpenMetaverse.XML +++ b/bin/OpenMetaverse.XML @@ -1,4438 +1,4072 @@ - OpenMetaverse + /home/root/libopenmetaverse/bin/OpenMetaverse - + - Capability to load TGAs to Bitmap + Permission request flags, asked when a script wants to control an Avatar - - - Represents a primitive asset - + + Placeholder for empty values, shouldn't ever see this - - - Base class for all Asset types - + + Script wants ability to take money from you - - A byte array containing the raw asset data + + Script wants to take camera controls for you - - True if the asset it only stored on the server temporarily + + Script wants to remap avatars controls - - A unique ID + + Script wants to trigger avatar animations + This function is not implemented on the grid - - - Construct a new Asset object - + + Script wants to attach or detach the prim or primset to your avatar - - - Construct a new Asset object - - A unique specific to this asset - A byte array containing the raw asset data + + Script wants permission to release ownership + This function is not implemented on the grid + The concept of "public" objects does not exist anymore. - - - Regenerates the AssetData byte array from the properties - of the derived class. - + + Script wants ability to link/delink with other prims - - - Decodes the AssetData, placing it in appropriate properties of the derived - class. - - True if the asset decoding succeeded, otherwise false + + Script wants permission to change joints + This function is not implemented on the grid - - The assets unique ID + + Script wants permissions to change permissions + This function is not implemented on the grid - - - The "type" of asset, Notecard, Animation, etc - + + Script wants to track avatars camera position and rotation - - Initializes a new instance of an AssetPrim object + + Script wants to control your camera - + - + Special commands used in Instant Messages - - - - - + + Indicates a regular IM from another agent - - Override the base classes AssetType + + Simple notification box with an OK button - - - Only used internally for XML serialization/deserialization - + + You've been invited to join a group. - - - pre-defined built in sounds - + + Inventory offer - - + + Accepted inventory offer - - + + Declined inventory offer - - + + Group vote - - + + An object is offering its inventory - - + + Accept an inventory offer from an object - - + + Decline an inventory offer from an object - - + + Unknown - - + + Start a session, or add users to a session - - coins + + Start a session, but don't prune offline users - - cash register bell + + Start a session with your group - - + + Start a session without a calling card (finder or objects) - - + + Send a message to a session - - rubber + + Leave a session - - plastic + + Indicates that the IM is from an object - - flesh + + Sent an IM to a busy user, this is the auto response - - wood splintering? + + Shows the message in the console and chat history - - glass break + + Send a teleport lure - - metal clunk + + Response sent to the agent which inititiated a teleport invitation - - whoosh + + Response sent to the agent which inititiated a teleport invitation - - shake + + Only useful if you have Linden permissions - - + + A placeholder type for future expansion, currently not + used - - ding + + IM to tell the user to go to an URL - - + + IM for help - - + + IM sent automatically on call for help, sends a lure + to each Helper reached - - + + Like an IM but won't go to email - - + + IM from a group officer to all group members - - + + Unknown - - + + Unknown - - + + Accept a group invitation - - + + Decline a group invitation - - + + Unknown - - + + An avatar is offering you friendship - - + + An avatar has accepted your friendship offer - - + + An avatar has declined your friendship offer - - + + Indicates that a user has started typing - - + + Indicates that a user has stopped typing - + - A dictionary containing all pre-defined sounds + Flag in Instant Messages, whether the IM should be delivered to + offline avatars as well - A dictionary containing the pre-defined sounds, - where the key is the sounds ID, and the value is a string - containing a name to identify the purpose of the sound - + + Only deliver to online avatars + + + If the avatar is offline the message will be held until + they login next, and possibly forwarded to their e-mail account + + - Type of return to use when returning objects from a parcel + Conversion type to denote Chat Packet types in an easier-to-understand format - - - - - Return objects owned by parcel owner + + Whisper (5m radius) - - Return objects set to group + + Normal chat (10/20m radius), what the official viewer typically sends - - Return objects not owned by parcel owner or set to group + + Shouting! (100m radius) - - Return a specific list of objects on parcel + + Event message when an Avatar has begun to type - - Return objects that are marked for-sale + + Event message when an Avatar has stopped typing - + + Send the message to the debug channel + + + Event message when an object uses llOwnerSay + + + Special value to support llRegionSay, never sent to the client + + - Blacklist/Whitelist flags used in parcels Access List + Identifies the source of a chat message - - Agent is denied access + + Chat from the grid or simulator - - Agent is granted access + + Chat from another avatar - + + Chat from an object + + - The result of a request for parcel properties - - No matches were found for the request + + + - - Request matched a single parcel + + + - - Request matched multiple parcels + + + - + - Flags used in the ParcelAccessListRequest packet to specify whether - we want the access list (whitelist), ban list (blacklist), or both + Effect type used in ViewerEffect packets - - Request the access list + + + - - Request the ban list + + + - - Request both White and Black lists + + + - + - Sequence ID in ParcelPropertiesReply packets (sent when avatar - tries to cross a parcel border) - - Parcel is currently selected + + + - - Parcel restricted to a group the avatar is not a - member of + + + - - Avatar is banned from the parcel + + + - - Parcel is restricted to an access list that the - avatar is not on + + Project a beam from a source to a destination, such as + the one used when editing an object - - Response to hovering over a parcel + + + - + - The tool to use when modifying terrain levels - - Level the terrain + + + - - Raise the terrain + + Create a swirl of particles around an object - - Lower the terrain + + + - - Smooth the terrain + + + - - Add random noise to the terrain + + Cause an avatar to look at an object - - Revert terrain to simulator default + + Cause an avatar to point at an object - + - The tool size to use when changing terrain levels + The action an avatar is doing when looking at something, used in + ViewerEffect packets for the LookAt effect - - Small + + + - - Medium + + + - - Large + + + - + - Reasons agent is denied access to a parcel on the simulator - - Agent is not denied, access is granted + + + - - Agent is not a member of the group set for the parcel, or which owns the parcel + + + - - Agent is not on the parcels specific allow list + + Deprecated - - Agent is on the parcels ban list + + + - - Unknown + + + - - Agent is not age verified and parcel settings deny access to non age verified avatars + + + - + - Parcel overlay type. This is used primarily for highlighting and - coloring which is why it is a single integer instead of a set of - flags - These values seem to be poorly thought out. The first three - bits represent a single value, not flags. For example Auction (0x05) is - not a combination of OwnedByOther (0x01) and ForSale(0x04). However, - the BorderWest and BorderSouth values are bit flags that get attached - to the value stored in the first three bits. Bits four, five, and six - are unused - - Public land + + + The action an avatar is doing when pointing at something, used in + ViewerEffect packets for the PointAt effect + - - Land is owned by another avatar + + + - - Land is owned by a group + + + - - Land is owned by the current avatar + + + - - Land is for sale + + + - - Land is being auctioned + + + Money transaction types + - - To the west of this area is a parcel border + + + - - To the south of this area is a parcel border + + + - + - Various parcel properties - - No flags set + + + - - Allow avatars to fly (a client-side only restriction) + + + - - Allow foreign scripts to run + + + - - This parcel is for sale + + + - - Allow avatars to create a landmark on this parcel + + + - - Allows all avatars to edit the terrain on this parcel + + + - - Avatars have health and can take damage on this parcel. - If set, avatars can be killed and sent home here + + + - - Foreign avatars can create objects here + + + - - All objects on this parcel can be purchased + + + - - Access is restricted to a group + + + - - Access is restricted to a whitelist + + + - - Ban blacklist is enabled + + + - - Unknown + + + - - List this parcel in the search directory + + + - - Allow personally owned parcels to be deeded to group + + + - - If Deeded, owner contributes required tier to group parcel is deeded to + + + - - Restrict sounds originating on this parcel to the - parcel boundaries + + + - - Objects on this parcel are sold when the land is - purchsaed + + + - - Allow this parcel to be published on the web + + + - - The information for this parcel is mature content + + + - - The media URL is an HTML page + + + - - The media URL is a raw HTML string + + + - - Restrict foreign object pushes + + + - - Ban all non identified/transacted avatars + + + - - Allow group-owned scripts to run + + + - - Allow object creation by group members or group - objects + + + - - Allow all objects to enter this parcel + + + - - Only allow group and owner objects to enter this parcel + + + - - Voice Enabled on this parcel + + + - - Use Estate Voice channel for Voice on this parcel + + + - - Deny Age Unverified Users + + + - + - Parcel ownership status - - Placeholder + + + - - Parcel is leased (owned) by an avatar or group + + + - - Parcel is in process of being leased (purchased) by an avatar or group + + + - - Parcel has been abandoned back to Governor Linden + + + - + - Category parcel is listed in under search - - No assigned category + + + - - Linden Infohub or public area + + + - - Adult themed area + + + - - Arts and Culture + + + - - Business + + + - - Educational + + + - - Gaming + + + - - Hangout or Club + + + - - Newcomer friendly + + + - - Parks and Nature + + + - - Residential + + + - - Shopping + + + - - Not Used? + + + - - Other + + + - - Not an actual category, only used for queries + + + - + - Type of teleport landing for a parcel - - Unset, simulator default + + + - - Specific landing point set for this parcel + + + - - No landing point set, direct teleports enabled for - this parcel + + + - + - Parcel Media Command used in ParcelMediaCommandMessage - - Stop the media stream and go back to the first frame + + + - - Pause the media stream (stop playing but stay on current frame) + + + - - Start the current media stream playing and stop when the end is reached + + + - - Start the current media stream playing, - loop to the beginning when the end is reached and continue to play + + + - - Specifies the texture to replace with video - If passing the key of a texture, it must be explicitly typecast as a key, - not just passed within double quotes. + + + Flags sent when a script takes or releases a control + + NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, - - Specifies the movie URL (254 characters max) + + No Flags set - - Specifies the time index at which to begin playing + + Forward (W or up Arrow) - - Specifies a single agent to apply the media command to + + Back (S or down arrow) - - Unloads the stream. While the stop command sets the texture to the first frame of the movie, - unload resets it to the real texture that the movie was replacing. + + Move left (shift+A or left arrow) - - Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties - (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. + + Move right (shift+D or right arrow) - - Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). - Use "text/html" for HTML. + + Up (E or PgUp) - - Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). - This might still not be working + + Down (C or PgDown) - - Sets a description for the media being displayed (1.19.1 RC0 and later only). + + Rotate left (A or left arrow) - + + Rotate right (D or right arrow) + + + Left Mouse Button + + + Left Mouse button in MouseLook + + - Some information about a parcel of land returned from a DirectoryManager search + Currently only used to hide your group title - - Global Key of record + + No flags set - - Parcel Owners + + Hide your group title - - Name field of parcel, limited to 128 characters + + + Action state of the avatar, which can currently be typing and + editing + - - Description field of parcel, limited to 256 characters + + + - - Total Square meters of parcel + + + - - Total area billable as Tier, for group owned land this will be 10% less than ActualArea + + + - - True of parcel is in Mature simulator + + + Current teleport status + - - Grid global X position of parcel + + Unknown status - - Grid global Y position of parcel + + Teleport initialized - - Grid global Z position of parcel (not used) + + Teleport in progress - - Name of simulator parcel is located in + + Teleport failed - - Texture of parcels display picture + + Teleport completed - - Float representing calculated traffic based on time spent on parcel by avatars + + Teleport cancelled - - Sale price of parcel (not used) + + + - - Auction ID of parcel + + No flags set, or teleport failed - + + Set when newbie leaves help island for first time + + - Parcel Media Information - - A byte, if 0x1 viewer should auto scale media to fit object + + Via Lure - - A boolean, if true the viewer should loop the media + + Via Landmark - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + Via Location - - A URL which points to any Quicktime supported media type + + Via Home - - A description of the media + + Via Telehub - - An Integer which represents the height of the media + + Via Login - - An integer which represents the width of the media + + Linden Summoned - - A string which contains the mime type of the media + + Linden Forced me - + - Parcel of land, a portion of virtual real estate in a simulator - - The total number of contiguous 4x4 meter blocks your agent owns within this parcel + + Agent Teleported Home via Script - - The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own + + + - - Deprecated, Value appears to always be 0 + + + - - Simulator-local ID of this parcel + + + - - UUID of the owner of this parcel + + forced to new location for example when avatar is banned or ejected - - Whether the land is deeded to a group or not + + Teleport Finished via a Lure - - + + Finished, Sim Changed - - Date land was claimed + + Finished, Same Sim - - Appears to always be zero + + + - - This field is no longer used + + + - - Minimum corner of the axis-aligned bounding box for this - parcel + + + - - Maximum corner of the axis-aligned bounding box for this - parcel + + + - - Bitmap describing land layout in 4x4m squares across the - entire region + + + - - Total parcel land area + + + - - + + + - - Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used + + + - - Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel - owned by the agent or group that owns this parcel + + + - - Maximum number of primitives this parcel supports + + + Instant Message + - - Total number of primitives on this parcel + + Key of sender - - For group-owned parcels this indicates the total number of prims deeded to the group, - for parcels owned by an individual this inicates the number of prims owned by the individual + + Name of sender - - Total number of primitives owned by the parcel group on - this parcel, or for parcels owned by an individual with a group set the - total number of prims set to that group. + + Key of destination avatar - - Total number of prims owned by other avatars that are not set to group, or not the parcel owner + + ID of originating estate - - A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect - the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed + + Key of originating region - - Autoreturn value in minutes for others' objects + + Coordinates in originating region - - + + Instant message type - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it + + Group IM session toggle - - Parcel Name + + Key of IM session, for Group Messages, the groups UUID - - Parcel Description + + Timestamp of the instant message - - URL For Music Stream + + Instant message text - - + + Whether this message is held for offline avatars - - Price for a temporary pass + + Context specific packed data - - How long is pass valid for + + Print the struct data as a string + A string containing the field name, and field value - - + + + Manager class for our own avatar + - - Key of authorized buyer + + + Constructor, setup callbacks for packets related to our avatar + + A reference to the Class - - Key of parcel snapshot + + + Agent movement and camera control + Agent movement is controlled by setting specific + After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags + This is most easily accomplished by setting one or more of the AgentMovement properties + Movement of an avatar is always based on a compass direction, for example AtPos will move the + agent from West to East or forward on the X Axis, AtNeg will of course move agent from + East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis + The Z axis is Up, finer grained control of movements can be done using the Nudge properties + - - The landing point location + + Default constructor - - The landing point LookAt + + + Camera controls for the agent, mostly a thin wrapper around + CoordinateFrame. This class is only responsible for state + tracking and math, it does not send any packets + - - The type of landing enforced from the enum + + + Default constructor + - - + + + - - + + The camera is a local frame of reference inside of + the larger grid space. This is where the math happens - - + + + - - Access list of who is whitelisted on this - parcel + + + - - Access list of who is blacklisted on this - parcel + + + - - TRUE of region denies access to age unverified users + + + - - true to obscure (hide) media url + + Agent camera controls - - true to obscure (hide) music url + + Currently only used for hiding your group title - - A struct containing media details + + Action state of the avatar, which can currently be + typing and editing - + - Displays a parcel object in string format - string containing key=value pairs of a parcel object - + - Defalt constructor - Local ID of this parcel - + - Update the simulator with any local changes to this Parcel object - Simulator to send updates to - Whether we want the simulator to confirm - the update with a reply packet or not - + - Set Autoreturn time - Simulator to send the update to - + - Parcel (subdivided simulator lots) subsystem - - The event subscribers. null if no subcribers + + + - - Raises the ParcelDwellReply event - A ParcelDwellReplyEventArgs object containing the - data returned from the simulator + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the ParcelInfoReply event - A ParcelInfoReplyEventArgs object containing the - data returned from the simulator + + Timer for sending AgentUpdate packets - - Thread sync lock object + + Move agent positive along the X axis - - The event subscribers. null if no subcribers + + Move agent negative along the X axis - - Raises the ParcelProperties event - A ParcelPropertiesEventArgs object containing the - data returned from the simulator + + Move agent positive along the Y axis - - Thread sync lock object + + Move agent negative along the Y axis - - The event subscribers. null if no subcribers + + Move agent positive along the Z axis - - Raises the ParcelAccessListReply event - A ParcelAccessListReplyEventArgs object containing the - data returned from the simulator + + Move agent negative along the Z axis - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the ParcelObjectOwnersReply event - A ParcelObjectOwnersReplyEventArgs object containing the - data returned from the simulator + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the SimParcelsDownloaded event - A SimParcelsDownloadedEventArgs object containing the - data returned from the simulator + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + Causes simulator to make agent fly - - Raises the ForceSelectObjectsReply event - A ForceSelectObjectsReplyEventArgs object containing the - data returned from the simulator + + Stop movement - - Thread sync lock object + + Finish animation - - The event subscribers. null if no subcribers + + Stand up from a sit - - Raises the ParcelMediaUpdateReply event - A ParcelMediaUpdateReplyEventArgs object containing the - data returned from the simulator + + Tells simulator to sit agent on ground - - Thread sync lock object + + Place agent into mouselook mode - - The event subscribers. null if no subcribers + + Nudge agent positive along the X axis - - Raises the ParcelMediaCommand event - A ParcelMediaCommandEventArgs object containing the - data returned from the simulator + + Nudge agent negative along the X axis - - Thread sync lock object + + Nudge agent positive along the Y axis - - - Default constructor - - A reference to the GridClient object + + Nudge agent negative along the Y axis - - - Request basic information for a single parcel - - Simulator-local ID of the parcel + + Nudge agent positive along the Z axis - - - Request properties of a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - multiple simultaneous requests + + Nudge agent negative along the Z axis - + - Request the access list for a single parcel - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelAccessList reply, useful for distinguishing between - multiple simultaneous requests - - + - Request properties of parcels using a bounding box selection - Simulator containing the parcel - Northern boundary of the parcel selection - Eastern boundary of the parcel selection - Southern boundary of the parcel selection - Western boundary of the parcel selection - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - different types of parcel property requests - A boolean that is returned with the - ParcelProperties reply, useful for snapping focus to a single - parcel - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) + + Tell simulator to mark agent as away - + - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - Simulator to request parcels from (must be connected) - If TRUE, will force a full refresh - Number of milliseconds to pause in between each request - + - Request the dwell value for a parcel - Simulator containing the parcel - Simulator-local ID of the parcel - + - Send a request to Purchase a parcel of land - The Simulator the parcel is located in - The parcels region specific local ID - true if this parcel is being purchased by a group - The groups - true to remove tier contribution if purchase is successful - The parcels size - The purchase price of the parcel - - + - Reclaim a parcel of land - The simulator the parcel is in - The parcels region specific local ID - + - Deed a parcel to a group + Returns "always run" value, or changes it by sending a SetAlwaysRunPacket - The simulator the parcel is in - The parcels region specific local ID - The groups - - - Request prim owners of a parcel of land. - - Simulator parcel is in - The parcels region specific local ID + + The current value of the agent control flags - - - Return objects from a parcel - - Simulator parcel is in - The parcels region specific local ID - the type of objects to return, - A list containing object owners s to return + + Gets or sets the interval in milliseconds at which + AgentUpdate packets are sent to the current simulator. Setting + this to a non-zero value will also enable the packet sending if + it was previously off, and setting it to zero will disable - + + Gets or sets whether AgentUpdate packets are sent to + the current simulator + + + Reset movement controls every time we send an update + + - Subdivide (split) a parcel + Send an AgentUpdate with the camera set at the current agent + position and pointing towards the heading specified - - - - - + Camera rotation in radians + Whether to send the AgentUpdate reliable + or not - + - Join two parcels of land creating a single parcel + Rotates the avatar body and camera toward a target position. + This will also anchor the camera position on the avatar - - - - - + Region coordinates to turn toward - + - Get a parcels LocalID + Send new AgentUpdate packet to update our current camera + position and rotation - Simulator parcel is in - Vector3 position in simulator (Z not used) - 0 on failure, or parcel LocalID on success. - A call to Parcels.RequestAllSimParcels is required to populate map and - dictionary. - + - Terraform (raise, lower, etc) an area or whole parcel of land + Send new AgentUpdate packet to update our current camera + position and rotation - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + Whether to require server acknowledgement + of this packet - + - Terraform (raise, lower, etc) an area or whole parcel of land + Send new AgentUpdate packet to update our current camera + position and rotation - Simulator land area is in. - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + Whether to require server acknowledgement + of this packet + Simulator to send the update to - + - Terraform (raise, lower, etc) an area or whole parcel of land + Builds an AgentUpdate packet entirely from parameters. This + will not touch the state of Self.Movement or + Self.Movement.Camera in any way - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + + + + + + + + + + + + + + + + + + + + + + - + - Terraform (raise, lower, etc) an area or whole parcel of land + Used to specify movement actions for your agent - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - Height at which the terraform operation is acting at - - - - Sends a request to the simulator to return a list of objects owned by specific owners - - Simulator local ID of parcel - Owners, Others, Etc - List containing keys of avatars objects to select; - if List is null will return Objects of type selectType - Response data is returned in the event - - - - Eject and optionally ban a user from a parcel - - target key of avatar to eject - true to also ban target - - - - Freeze or unfreeze an avatar over your land - - target key to freeze - true to freeze, false to unfreeze - - - - Abandon a parcel of land - - Simulator parcel is in - Simulator local ID of parcel - - - - Requests the UUID of the parcel in a remote region at a specified location - - Location of the parcel in the remote region - Remote region handle - Remote region UUID - If successful UUID of the remote parcel, UUID.Zero otherwise - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Empty flag - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Move Forward (SL Keybinding: W/Up Arrow) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Move Backward (SL Keybinding: S/Down Arrow) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Move Left (SL Keybinding: Shift-(A/Left Arrow)) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Move Right (SL Keybinding: Shift-(D/Right Arrow)) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Not Flying: Jump/Flying: Move Up (SL Keybinding: E) - - Raised when the simulator responds to a request + + Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) - - Raised when the simulator responds to a request + + Unused - - Raised when the simulator responds to a request + + Unused - - Raised when the simulator responds to a request + + Unused - - Raised when the simulator responds to a request + + Unused - - Raised when the simulator responds to a request + + ORed with AGENT_CONTROL_AT_* if the keyboard is being used - - Raised when the simulator responds to a request + + ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used - - Raised when the simulator responds to a Parcel Update request + + ORed with AGENT_CONTROL_UP_* if the keyboard is being used - - Raised when the parcel your agent is located sends a ParcelMediaCommand + + Fly - + - Parcel Accesslist - - Agents + + Finish our current animation - - + + Stand up from the ground or a prim seat - - Flags for specific entry in white/black lists + + Sit on the ground at our current location - - - Owners of primitives on parcel - + + Whether mouselook is currently enabled - - Prim Owners + + Legacy, used if a key was pressed for less than a certain amount of time - - True of owner is group + + Legacy, used if a key was pressed for less than a certain amount of time - - Total count of prims owned by OwnerID + + Legacy, used if a key was pressed for less than a certain amount of time - - true of OwnerID is currently online and is not a group + + Legacy, used if a key was pressed for less than a certain amount of time - - The date of the most recent prim left by OwnerID + + Legacy, used if a key was pressed for less than a certain amount of time - - Contains a parcels dwell data returned from the simulator in response to an + + Legacy, used if a key was pressed for less than a certain amount of time - + - Construct a new instance of the ParcelDwellReplyEventArgs class - The global ID of the parcel - The simulator specific ID of the parcel - The calculated dwell for the parcel - - Get the global ID of the parcel - - - Get the simulator specific ID of the parcel + + + - - Get the calculated dwell + + Set when the avatar is idled or set to away. Note that the away animation is + activated separately from setting this flag - - Contains basic parcel information data returned from the - simulator in response to an request + + + - + - Construct a new instance of the ParcelInfoReplyEventArgs class - The object containing basic parcel info - - Get the object containing basic parcel info + + + - - Contains basic parcel information data returned from the simulator in response to an request + + + - + - Construct a new instance of the ParcelPropertiesEventArgs class + Called once attachment resource usage information has been collected - The object containing the details - The object containing the details - The result of the request - The number of primitieves your agent is - currently selecting and or sitting on in this parcel - The user assigned ID used to correlate a request with - these results - TODO: + Indicates if operation was successfull + Attachment resource usage information - - Get the simulator the parcel is located in + + The event subscribers. null if no subcribers - - Get the object containing the details - If Result is NoData, this object will not contain valid data + + Thread sync lock object - - Get the result of the request + + The event subscribers. null if no subcribers - - Get the number of primitieves your agent is - currently selecting and or sitting on in this parcel + + Thread sync lock object - - Get the user assigned ID used to correlate a request with - these results + + The event subscribers. null if no subcribers - - TODO: + + Thread sync lock object - - Contains blacklist and whitelist data returned from the simulator in response to an request + + The event subscribers. null if no subcribers - - - Construct a new instance of the ParcelAccessListReplyEventArgs class - - The simulator the parcel is located in - The user assigned ID used to correlate a request with - these results - The simulator specific ID of the parcel - TODO: - The list containing the white/blacklisted agents for the parcel + + Thread sync lock object - - Get the simulator the parcel is located in + + The event subscribers. null if no subcribers - - Get the user assigned ID used to correlate a request with - these results + + Thread sync lock object - - Get the simulator specific ID of the parcel + + The event subscribers. null if no subcribers - - TODO: + + Thread sync lock object - - Get the list containing the white/blacklisted agents for the parcel + + The event subscribers. null if no subcribers - - Contains blacklist and whitelist data returned from the - simulator in response to an request + + Thread sync lock object - - - Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - - The simulator the parcel is located in - The list containing prim ownership counts - - - Get the simulator the parcel is located in + + The event subscribers. null if no subcribers - - Get the list containing prim ownership counts + + Thread sync lock object - - Contains the data returned when all parcel data has been retrieved from a simulator + + The event subscribers. null if no subcribers - - - Construct a new instance of the SimParcelsDownloadedEventArgs class - - The simulator the parcel data was retrieved from - The dictionary containing the parcel data - The multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + Thread sync lock object - - Get the simulator the parcel data was retrieved from + + The event subscribers. null if no subcribers - - A dictionary containing the parcel data where the key correlates to the ParcelMap entry + + Thread sync lock object - - Get the multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + The event subscribers. null if no subcribers - - Contains the data returned when a request + + Thread sync lock object - - - Construct a new instance of the ForceSelectObjectsReplyEventArgs class - - The simulator the parcel data was retrieved from - The list of primitive IDs - true if the list is clean and contains the information - only for a given request + + The event subscribers. null if no subcribers - - Get the simulator the parcel data was retrieved from + + Thread sync lock object - - Get the list of primitive IDs + + The event subscribers. null if no subcribers - - true if the list is clean and contains the information - only for a given request + + Thread sync lock object - - Contains data when the media data for a parcel the avatar is on changes + + The event subscribers. null if no subcribers - - - Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - - the simulator the parcel media data was updated in - The updated media information + + Thread sync lock object - - Get the simulator the parcel media data was updated in + + The event subscribers. null if no subcribers - - Get the updated media information + + Thread sync lock object - - Contains the media command for a parcel the agent is currently on + + The event subscribers. null if no subcribers - - - Construct a new instance of the ParcelMediaCommandEventArgs class - - The simulator the parcel media command was issued in - - - The media command that was sent - + + Thread sync lock object - - Get the simulator the parcel media command was issued in + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - Get the media command that was sent + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - - - + + Thread sync lock object - - - - + + The event subscribers. null if no subcribers - - - - + + Thread sync lock object - - - - + + Reference to the GridClient instance - - - - - - + + Used for movement and camera tracking - - - The ObservableDictionary class is used for storing key/value pairs. It has methods for firing - events to subscribers when items are added, removed, or changed. - - Key - Value + + Currently playing animations for the agent. Can be used to + check the current movement status such as walking, hovering, aiming, + etc. by checking against system animations found in the Animations class - - - A dictionary of callbacks to fire when specified action occurs - + + Dictionary containing current Group Chat sessions and members - - - Register a callback to be fired when an action occurs - - The action - The callback to fire + + Raised when a scripted object or agent within range sends a public message - - - Unregister a callback - - The action - The callback to fire + + Raised when a scripted object sends a dialog box containing possible + options an agent can respond to - - - - - - + + Raised when an object requests a change in the permissions an agent has permitted - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking + + Raised when a script requests an agent open the specified URL - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); - - + + Raised when an agents currency balance is updated - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); - - + + Raised when a transaction occurs involving currency such as a land purchase - - - Try to get entry from the with specified key - - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - + + Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from + private messaging to friendship offers. The Dialog field defines what type of message has arrived - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - + + Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times + for each teleport indicating the progress of the request - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - + + Raised when a simulator sends agent specific information for our avatar. - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - + + Raised when our agents animation playlist changes - - Check if Key exists in Dictionary - Key to check for - if found, otherwise + + Raised when an object or avatar forcefully collides with our agent - - Check if Value exists in Dictionary - Value to check for - if found, otherwise + + Raised when our agent crosses a region border into another region - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value - - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise + + Raised when our agent succeeds or fails to join a group chat session - - - Clear the contents of the dictionary - + + Raised when a simulator sends an urgent message usually indication the recent failure of + another action we have attempted to take such as an attempt to enter a parcel where we are denied access - - - Enumerator for iterating dictionary entries - - + + Raised when a script attempts to take or release specified controls for our agent - - - Gets the number of Key/Value pairs contained in the - + + Raised when the simulator detects our agent is trying to view something + beyond its limits - - - Indexer for the dictionary - - The key - The value + + Raised when a script sensor reply is received from a simulator - - - A Wrapper around openjpeg to encode and decode images to and from byte arrays - + + Raised in response to a request - - TGA Header size + + Raised when an avatar enters a group chat session we are participating in - - OpenJPEG is not threadsafe, so this object is used to lock - during calls into unmanaged code + + Raised when an agent exits a group chat session we are participating in - - - Encode a object into a byte array - - The object to encode - true to enable lossless conversion, only useful for small images ie: sculptmaps - A byte array containing the encoded Image object + + Your (client) avatars + "client", "agent", and "avatar" all represent the same thing - - - Encode a object into a byte array - - The object to encode - a byte array of the encoded image + + Temporary assigned to this session, used for + verifying our identity in packets - - - Decode JPEG2000 data to an and - - - JPEG2000 encoded data - ManagedImage object to decode to - Image object to decode to - True if the decode succeeds, otherwise false + + Shared secret that is never sent over the wire - - - - - - - + + Your (client) avatar ID, local to the current region/sim - - - - - - - - + + Where the avatar started at login. Can be "last", "home" + or a login - - - Encode a object into a byte array - - The source object to encode - true to enable lossless decoding - A byte array containing the source Bitmap object + + The access level of this agent, usually M or PG - - - Defines the beginning and ending file positions of a layer in an - LRCP-progression JPEG2000 file - + + The CollisionPlane of Agent - - - This structure is used to marshal both encoded and decoded images. - MUST MATCH THE STRUCT IN dotnet.h! - + + An representing the velocity of our agent - - - Information about a single packet in a JPEG2000 stream - + + An representing the acceleration of our agent - - Packet start position + + A which specifies the angular speed, and axis about which an Avatar is rotating. - - Packet header end position + + Position avatar client will goto when login to 'home' or during + teleport request to 'home' region. - - Packet end position + + LookAt point saved/restored with HomePosition - - - Represents a Sound Asset - + + Avatar First Name (i.e. Philip) - - Initializes a new instance of an AssetSound object + + Avatar Last Name (i.e. Linden) - - Initializes a new instance of an AssetSound object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + Avatar Full Name (i.e. Philip Linden) - - - TODO: Encodes a sound file - + + Gets the health of the agent - - - TODO: Decode a sound file - - true + + Gets the current balance of the agent - - Override the base classes AssetType + + Gets the local ID of the prim the agent is sitting on, + zero if the avatar is not currently sitting - - - Represents a Landmark with RegionID and Position vector - + + Gets the of the agents active group. - - UUID of the Landmark target region + + Gets the Agents powers in the currently active group - - Local position of the target + + Current status message for teleporting - - Construct an Asset of type Landmark + + Current position of the agent as a relative offset from + the simulator, or the parent object if we are sitting on something - - - Construct an Asset object of type Landmark - - A unique specific to this asset - A byte array containing the raw asset data + + Current rotation of the agent as a relative rotation from + the simulator, or the parent object if we are sitting on something - - - Constuct an asset of type Landmark - - UUID of the target region - Local position of landmark + + Current position of the agent in the simulator - + - Encode the raw contents of a string with the specific Landmark format + A representing the agents current rotation - - - Decode the raw asset data, populating the RegionID and Position - - true if the AssetData was successfully decoded to a UUID and Vector + + Returns the global grid position of the avatar - - Override the base classes AssetType + + Raises the ChatFromSimulator event + A ChatEventArgs object containing the + data returned from the data server - - - Represents an that can be worn on an avatar - such as a Shirt, Pants, etc. - + + Raises the ScriptDialog event + A SctriptDialogEventArgs object containing the + data returned from the data server - - - Represents a Wearable Asset, Clothing, Hair, Skin, Etc - + + Raises the ScriptQuestion event + A ScriptQuestionEventArgs object containing the + data returned from the data server - - A string containing the name of the asset + + Raises the LoadURL event + A LoadUrlEventArgs object containing the + data returned from the data server - - A string containing a short description of the asset + + Raises the MoneyBalance event + A BalanceEventArgs object containing the + data returned from the data server - - The Assets WearableType + + Raises the MoneyBalanceReply event + A MoneyBalanceReplyEventArgs object containing the + data returned from the data server - - The For-Sale status of the object + + Raises the IM event + A InstantMessageEventArgs object containing the + data returned from the data server - - An Integer representing the purchase price of the asset + + Raises the TeleportProgress event + A TeleportEventArgs object containing the + data returned from the data server - - The of the assets creator + + Raises the AgentDataReply event + A AgentDataReplyEventArgs object containing the + data returned from the data server - - The of the assets current owner + + Raises the AnimationsChanged event + A AnimationsChangedEventArgs object containing the + data returned from the data server - - The of the assets prior owner + + Raises the MeanCollision event + A MeanCollisionEventArgs object containing the + data returned from the data server - - The of the Group this asset is set to + + Raises the RegionCrossed event + A RegionCrossedEventArgs object containing the + data returned from the data server - - True if the asset is owned by a + + Raises the GroupChatJoined event + A GroupChatJoinedEventArgs object containing the + data returned from the data server - - The Permissions mask of the asset + + Raises the AlertMessage event + A AlertMessageEventArgs object containing the + data returned from the data server - - A Dictionary containing Key/Value pairs of the objects parameters + + Raises the ScriptControlChange event + A ScriptControlEventArgs object containing the + data returned from the data server - - A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures + + Raises the CameraConstraint event + A CameraConstraintEventArgs object containing the + data returned from the data server - - Initializes a new instance of an AssetWearable object + + Raises the ScriptSensorReply event + A ScriptSensorReplyEventArgs object containing the + data returned from the data server - - Initializes a new instance of an AssetWearable object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + Raises the AvatarSitResponse event + A AvatarSitResponseEventArgs object containing the + data returned from the data server - - Initializes a new instance of an AssetWearable object with parameters - A string containing the asset parameters + + Raises the ChatSessionMemberAdded event + A ChatSessionMemberAddedEventArgs object containing the + data returned from the data server - + + Raises the ChatSessionMemberLeft event + A ChatSessionMemberLeftEventArgs object containing the + data returned from the data server + + - Decode an assets byte encoded data to a string + Send a text message from the Agent to the Simulator - true if the asset data was decoded successfully + A containing the message + The channel to send the message on, 0 is the public channel. Channels above 0 + can be used however only scripts listening on the specified channel will see the message + Denotes the type of message being sent, shout, whisper, etc. - + - Encode the assets string represantion into a format consumable by the asset server + Request any instant messages sent while the client was offline to be resent. - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - Initializes a new instance of an AssetScriptBinary object with parameters - A string containing the Clothings data - - - Override the base classes AssetType - - + - Represents an Animation + Send an Instant Message to another Avatar + The recipients + A containing the message to send - - Default Constructor + + + Send an Instant Message to an existing group chat or conference chat + + The recipients + A containing the message to send + IM session ID (to differentiate between IM windows) - + - Construct an Asset object of type Animation + Send an Instant Message - A unique specific to this asset - A byte array containing the raw asset data + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + IDs of sessions for a conference - - Override the base classes AssetType + + + Send an Instant Message + + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + Type of instant message to send + Whether to IM offline avatars as well + Senders Position + RegionID Sender is In + Packed binary data that is specific to + the dialog type - + - Operation to apply when applying color to texture + Send an Instant Message to a group + + of the group to send message to + Text Message being sent. - + - Information needed to translate visual param value to RGBA color + Send an Instant Message to a group the agent is a member of + The name this IM will show up as being from + + of the group to send message to + Text message being sent - + - Construct VisualColorParam + Send a request to join a group chat session - Operation to apply when applying color to texture - Colors + + of Group to leave - + - Represents alpha blending and bump infor for a visual parameter - such as sleive length + Exit a group chat session. This will stop further Group chat messages + from being sent until session is rejoined. + + of Group chat session to leave - - Stregth of the alpha to apply + + + Reply to script dialog questions. + + Channel initial request came on + Index of button you're "clicking" + Label of button you're "clicking" + + of Object that sent the dialog request + - - File containing the alpha channel + + + Accept invite for to a chatterbox session + + + of session to accept invite to - - Skip blending if parameter value is 0 + + + Start a friends conference + + + List of UUIDs to start a conference with + the temportary session ID returned in the callback> - - Use miltiply insted of alpha blending + + + Start a particle stream between an agent and an object + + + Key of the source agent + + Key of the target object + + + The type from the enum + A unique for this effect - + - Create new alhpa information for a visual param + Start a particle stream between an agent and an object - Stregth of the alpha to apply - File containing the alpha channel - Skip blending if parameter value is 0 - Use miltiply insted of alpha blending + + Key of the source agent + + Key of the target object + A representing the beams offset from the source + A which sets the avatars lookat animation + + of the Effect - + - A single visual characteristic of an avatar mesh, such as eyebrow height + Create a particle beam between an avatar and an primitive + The ID of source avatar + The ID of the target primitive + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam + - - Index of this visual param + + + Create a particle swirl around a target position using a packet + + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam - - Internal name + + + Sends a request to sit on the specified object + + + of the object to sit on + Sit at offset - - Group ID this parameter belongs to + + + Follows a call to to actually sit on the object + - - Name of the wearable this parameter belongs to + + Stands up from sitting on a prim or the ground + true of AgentUpdate was sent - - Displayable label of this characteristic + + + Does a "ground sit" at the avatar's current position + - - Displayable label for the minimum value of this characteristic + + + Starts or stops flying + + True to start flying, false to stop flying - - Displayable label for the maximum value of this characteristic + + + Starts or stops crouching + + True to start crouching, false to stop crouching - - Default value + + + Starts a jump (begin holding the jump key) + - - Minimum value + + + Use the autopilot sim function to move the avatar to a new + position. Uses double precision to get precise movements + + The z value is currently not handled properly by the simulator + Global X coordinate to move to + Global Y coordinate to move to + Z coordinate to move to - - Maximum value + + + Use the autopilot sim function to move the avatar to a new position + + The z value is currently not handled properly by the simulator + Integer value for the global X coordinate to move to + Integer value for the global Y coordinate to move to + Floating-point value for the Z coordinate to move to - - Is this param used for creation of bump layer? - - - Alpha blending/bump info - - - Color information + + + Use the autopilot sim function to move the avatar to a new position + + The z value is currently not handled properly by the simulator + Integer value for the local X coordinate to move to + Integer value for the local Y coordinate to move to + Floating-point value for the Z coordinate to move to - - Array of param IDs that are drivers for this parameter + + Macro to cancel autopilot sim function + Not certain if this is how it is really done + true if control flags were set and AgentUpdate was sent to the simulator - + - Set all the values through the constructor + Grabs an object - Index of this visual param - Internal name - - - Displayable label of this characteristic - Displayable label for the minimum value of this characteristic - Displayable label for the maximum value of this characteristic - Default value - Minimum value - Maximum value - Is this param used for creation of bump layer? - Array of param IDs that are drivers for this parameter - Alpha blending/bump info - Color information + an unsigned integer of the objects ID within the simulator + - + - Holds the Params array of all the avatar appearance parameters + Overload: Grab a simulated object + an unsigned integer of the objects ID within the simulator + + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - - X position of this patch - - - Y position of this patch - - - A 16x16 array of floats holding decompressed layer data - - + - Creates a LayerData packet for compressed land data given a full - simulator heightmap and an array of indices of patches to compress + Drag an object - A 256 * 256 array of floating point values - specifying the height at each meter in the simulator - Array of indexes in the 16x16 grid of patches - for this simulator. For example if 1 and 17 are specified, patches - x=1,y=0 and x=1,y=1 are sent - + + of the object to drag + Drag target in region coordinates - + - Add a patch of terrain to a BitPacker + Overload: Drag an object - BitPacker to write the patch to - Heightmap of the simulator, must be a 256 * - 256 float array - X offset of the patch to create, valid values are - from 0 to 15 - Y offset of the patch to create, valid values are - from 0 to 15 + + of the object to drag + Drag target in region coordinates + + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - + - A Name Value pair with additional settings, used in the protocol - primarily to transmit avatar names and active group in object packets + Release a grabbed object + The Objects Simulator Local ID + + + - - - - - - - - - - - - - - - - + - Constructor that takes all the fields as parameters + Release a grabbed object - - - - - + The Objects Simulator Local ID + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - + - Constructor that takes a single line from a NameValue field + Touches an object - - - - Type of the value - - - Unknown - - - String value - - - - - - - - - - - - - - - Deprecated - - - String value, but designated as an asset - - - + an unsigned integer of the objects ID within the simulator + - + - + Request the current L$ balance - - - - - - - - - - - - - + - + Give Money to destination Avatar + UUID of the Target Avatar + Amount in L$ - - - - - - - - - - - - - - - - + - Starts a thread that keeps the daemon running + Give Money to destination Avatar - - + UUID of the Target Avatar + Amount in L$ + Description that will show up in the + recipients transaction history - + - Stops the daemon and the thread keeping it running + Give L$ to an object + object to give money to + amount of L$ to give + name of object - + - + Give L$ to a group - - - + group to give money to + amount of L$ to give - + - This is used to initialize and stop the Connector as a whole. The Connector - Create call must be completed successfully before any other requests are made - (typically during application initialization). The shutdown should be called - when the application is shutting down to gracefully release resources + Give L$ to a group - A string value indicting the Application name - URL for the management server - LoggingSettings - - + group to give money to + amount of L$ to give + description of transaction - + - Shutdown Connector -- Should be called when the application is shutting down - to gracefully release resources + Pay texture/animation upload fee - Handle returned from successful Connector ‘create’ request - + - Mute or unmute the microphone + Pay texture/animation upload fee - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) + description of the transaction - + - Mute or unmute the speaker + Give Money to destination Object or Avatar - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) + UUID of the Target Object/Avatar + Amount in L$ + Reason (Optional normally) + The type of transaction + Transaction flags, mostly for identifying group + transactions - + - Set microphone volume + Plays a gesture - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume + Asset of the gesture - + - Set local speaker volume + Mark gesture active - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume + Inventory of the gesture + Asset of the gesture - + - Create a Session - Sessions typically represent a connection to a media session with one or more - participants. This is used to generate an ‘outbound’ call to another user or - channel. The specifics depend on the media types involved. A session handle is - required to control the local user functions within the session (or remote - users if the current account has rights to do so). Currently creating a - session automatically connects to the audio media, there is no need to call - Session.Connect at this time, this is reserved for future use. + Mark gesture inactive - Handle returned from successful Connector ‘create’ request - This is the URI of the terminating point of the session (ie who/what is being called) - This is the display name of the entity being called (user or channel) - Only needs to be supplied when the target URI is password protected - This indicates the format of the password as passed in. This can either be - “ClearText” or “SHA1UserName”. If this element does not exist, it is assumed to be “ClearText”. If it is - “SHA1UserName”, the password as passed in is the SHA1 hash of the password and username concatenated together, - then base64 encoded, with the final “=” character stripped off. - - - + Inventory of the gesture - + - Used to accept a call + Send an AgentAnimation packet that toggles a single animation on - SessionHandle such as received from SessionNewEvent - "default" - + The of the animation to start playing + Whether to ensure delivery of this packet or not - + - This command is used to start the audio render process, which will then play - the passed in file through the selected audio render device. This command - should not be issued if the user is on a call. + Send an AgentAnimation packet that toggles a single animation off - The fully qualified path to the sound file. - True if the file is to be played continuously and false if it is should be played once. - + The of a + currently playing animation to stop playing + Whether to ensure delivery of this packet or not - + - This command is used to stop the audio render process. + Send an AgentAnimation packet that will toggle animations on or off - The fully qualified path to the sound file issued in the start render command. - + A list of animation s, and whether to + turn that animation on or off + Whether to ensure delivery of this packet or not - + - This is used to ‘end’ an established session (i.e. hang-up or disconnect). + Teleports agent to their stored home location - Handle returned from successful Session ‘create’ request or a SessionNewEvent - + true on successful teleport to home location - + - Set the combined speaking and listening position in 3D space. + Teleport agent to a landmark - Handle returned from successful Session ‘create’ request or a SessionNewEvent - Speaking position - Listening position - + + of the landmark to teleport agent to + true on success, false on failure - + - Set User Volume for a particular user. Does not affect how other users hear that user. + Attempt to look up a simulator name and teleport to the discovered + destination - Handle returned from successful Session ‘create’ request or a SessionNewEvent - - The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume - + Region name to look up + Position to teleport to + True if the lookup and teleport were successful, otherwise + false - + - Start up the Voice service. + Attempt to look up a simulator name and teleport to the discovered + destination + Region name to look up + Position to teleport to + Target to look at + True if the lookup and teleport were successful, otherwise + false - + - Handle miscellaneous request status + Teleport agent to another region - - - ///If something goes wrong, we log it. + handle of region to teleport agent to + + position in destination sim to teleport to + true on success, false on failure + This call is blocking - + - Cleanup oject resources + Teleport agent to another region + handle of region to teleport agent to + + position in destination sim to teleport to + + direction in destination sim agent will look at + true on success, false on failure + This call is blocking - + - Request voice cap when changing regions + Request teleport to a another simulator + handle of region to teleport agent to + + position in destination sim to teleport to - + - Handle a change in session state + Request teleport to a another simulator + handle of region to teleport agent to + + position in destination sim to teleport to + + direction in destination sim agent will look at - + - Close a voice session + Teleport agent to a landmark - + + of the landmark to teleport agent to - + - Locate a Session context from its handle + Send a teleport lure to another avatar with default "Join me in ..." invitation message - Creates the session context if it does not exist. + target avatars to lure - + - Handle completion of main voice cap request. + Send a teleport lure to another avatar with custom invitation message - - - + target avatars to lure + custom message to send with invitation - + - Daemon has started so connect to it. + Respond to a teleport lure by either accepting it and initiating + the teleport, or denying it + + of the avatar sending the lure + true to accept the lure, false to decline it - + - The daemon TCP connection is open. + Update agent profile + + struct containing updated + profile information - + - Handle creation of the Connector. + Update agents profile interests + selection of interests from struct - + - Handle response to audio output device query + Set the height and the width of the client window. This is used + by the server to build a virtual camera frustum for our avatar + New height of the viewer window + New width of the viewer window - + - Handle response to audio input device query + Request the list of muted objects and avatars for this agent - - - Set voice channel for new parcel - - + + + Sets home location to agents current position + + will fire an AlertMessage () with + success or failure message - + - Request info from a parcel capability Uri. + Move an agent in to a simulator. This packet is the last packet + needed to complete the transition in to a new simulator - + + Object - + - Receive parcel voice cap + Reply to script permissions request - - - + + Object + + of the itemID requesting permissions + + of the taskID requesting permissions + + list of permissions to allow - + - Tell Vivox where we are standing + Respond to a group invitation by either accepting or denying it - This has to be called when we move or turn. + UUID of the group (sent in the AgentID field of the invite message) + IM Session ID from the group invitation message + Accept the group invitation or deny it - + - Start and stop updating out position. + Requests script detection of objects and avatars - + name of the object/avatar to search for + UUID of the object or avatar to search for + Type of search from ScriptSensorTypeFlags + range of scan (96 max?) + the arc in radians to search within + an user generated ID to correlate replies with + Simulator to perform search in - + - This is used to login a specific user account(s). It may only be called after - Connector initialization has completed successfully + Create or update profile pick - Handle returned from successful Connector ‘create’ request - User's account name - User's account password - Values may be “AutoAnswer” or “VerifyAnswer” - "" - This is an integer that specifies how often - the daemon will send participant property events while in a channel. If this is not set - the default will be “on state change”, which means that the events will be sent when - the participant starts talking, stops talking, is muted, is unmuted. - The valid values are: - 0 – Never - 5 – 10 times per second - 10 – 5 times per second - 50 – 1 time per second - 100 – on participant state change (this is the default) - false - + UUID of the pick to update, or random UUID to create a new pick + Is this a top pick? (typically false) + UUID of the parcel (UUID.Zero for the current parcel) + Name of the pick + Global position of the pick landmark + UUID of the image displayed with the pick + Long description of the pick - + - This is used to logout a user session. It should only be called with a valid AccountHandle. + Delete profile pick - Handle returned from successful Connector ‘login’ request - + UUID of the pick to delete - + - This is used to get a list of audio devices that can be used for capture (input) of voice. + Create or update profile Classified - + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Global position of the classified landmark + Name of the classified + Long description of the classified + if true, auto renew classified after expiration - + - This is used to get a list of audio devices that can be used for render (playback) of voice. + Create or update profile Classified + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Name of the classified + Long description of the classified + if true, auto renew classified after expiration - + - This command is used to select the render device. + Delete a classified ad - The name of the device as returned by the Aux.GetRenderDevices command. + The classified ads ID - + - This command is used to select the capture device. + Fetches resource usage by agents attachmetns - The name of the device as returned by the Aux.GetCaptureDevices command. + Called when the requested information is collected - + - This command is used to start the audio capture process which will cause - AuxAudioProperty Events to be raised. These events can be used to display a - microphone VU meter for the currently selected capture device. This command - should not be issued if the user is on a call. + Take an incoming ImprovedInstantMessage packet, auto-parse, and if + OnInstantMessage is defined call that with the appropriate arguments - (unused but required) - + The sender + The EventArgs object containing the packet data - + - This command is used to stop the audio capture process. + Take an incoming Chat packet, auto-parse, and if OnChat is defined call + that with the appropriate arguments. - + The sender + The EventArgs object containing the packet data - + - This command is used to set the mic volume while in the audio tuning process. - Once an acceptable mic level is attained, the application must issue a - connector set mic volume command to have that level be used while on voice - calls. + Used for parsing llDialogs - the microphone volume (-100 to 100 inclusive) - + The sender + The EventArgs object containing the packet data - + - This command is used to set the speaker volume while in the audio tuning - process. Once an acceptable speaker level is attained, the application must - issue a connector set speaker volume command to have that level be used while - on voice calls. + Used for parsing llRequestPermissions dialogs - the speaker volume (-100 to 100 inclusive) - + The sender + The EventArgs object containing the packet data - + - Event for most mundane request reposnses. + Handles Script Control changes when Script with permissions releases or takes a control + The sender + The EventArgs object containing the packet data - - Response to Connector.Create request + + + Used for parsing llLoadURL Dialogs + + The sender + The EventArgs object containing the packet data - - Response to Aux.GetCaptureDevices request - - - Response to Aux.GetRenderDevices request + + + Update client's Position, LookAt and region handle from incoming packet + + The sender + The EventArgs object containing the packet data + This occurs when after an avatar moves into a new sim - - Audio Properties Events are sent after audio capture is started. - These events are used to display a microphone VU meter + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Response to Account.Login request + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - This event message is sent whenever the login state of the - particular Account has transitioned from one value to another + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - List of audio input devices + Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. + The Message Key + An IMessage object Deserialized from the recieved message event + The simulator originating the event message - + - List of audio output devices + Process TeleportFinish from Event Queue and pass it onto our TeleportHandler + The message system key for this event + IMessage object containing decoded data from OSD + The simulator originating the event message - - - Set audio test mode - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Enable logging + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The folder where any logs will be created + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - This will be prepended to beginning of each log file + + + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - The suffix or extension to be appended to each log file + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + This packet is now being sent via the EventQueue - + - 0: NONE - No logging - 1: ERROR - Log errors only - 2: WARNING - Log errors and warnings - 3: INFO - Log errors, warnings and info - 4: DEBUG - Log errors, warnings, info and debug + Group Chat event handler + The capability Key + IMessage object containing decoded data from OSD + + - + - Constructor for default logging settings + Response from request to join a group chat + + + IMessage object containing decoded data from OSD + + - - Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - - + - Interface requirements for Messaging system + Someone joined or left group chat + + + IMessage object containing decoded data from OSD + + - + - The current status of a texture request as it moves through the pipeline or final result of a texture request. + Handle a group chat Invitation + Caps Key + IMessage object containing decoded data from OSD + Originating Simulator - - The initial state given to a request. Requests in this state - are waiting for an available slot in the pipeline - - - A request that has been added to the pipeline and the request packet - has been sent to the simulator - - - A request that has received one or more packets back from the simulator + + + Moderate a chat session + + the of the session to moderate, for group chats this will be the groups UUID + the of the avatar to moderate + Either "voice" to moderate users voice, or "text" to moderate users text session + true to moderate (silence user), false to allow avatar to speak - - A request that has received all packets back from the simulator + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - A request that has taken longer than - to download OR the initial packet containing the packet information was never received + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The texture request was aborted by request of the agent + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The simulator replied to the request that it was not able to find the requested texture + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - A callback fired to indicate the status or final state of the requested texture. For progressive - downloads this will fire each time new asset data is returned from the simulator. - The indicating either Progress for textures not fully downloaded, - or the final result of the request after it has been processed through the TexturePipeline - The object containing the Assets ID, raw data - and other information. For progressive rendering the will contain - the data from the beginning of the file. For failed, aborted and timed out requests it will contain - an empty byte array. - + - Texture request download handler, allows a configurable number of download slots which manage multiple - concurrent texture downloads from the + Construct a new instance of the ChatEventArgs object - This class makes full use of the internal - system for full texture downloads. + Sim from which the message originates + The message sent + The audible level of the message + The type of message sent: whisper, shout, etc + The source type of the message sender + The name of the agent or object sending the message + The ID of the agent or object sending the message + The ID of the object owner, or the agent ID sending the message + The position of the agent or object sending the message - - A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID - and also the Asset Texture ID, and the value is an object containing the current state of the request and also - the asset data as it is being re-assembled + + Get the simulator sending the message - - Holds the reference to the client object + + Get the message sent - - Maximum concurrent texture requests allowed at a time + + Get the audible level of the message - - An array of objects used to manage worker request threads + + Get the type of message sent: whisper, shout, etc - - An array of worker slots which shows the availablity status of the slot + + Get the source type of the message sender - - The primary thread which manages the requests. + + Get the name of the agent or object sending the message - - true if the TexturePipeline is currently running + + Get the ID of the agent or object sending the message - - A synchronization object used by the primary thread + + Get the ID of the object owner, or the agent ID sending the message - - A refresh timer used to increase the priority of stalled requests + + Get the position of the agent or object sending the message - - - Default constructor, Instantiates a new copy of the TexturePipeline class - - Reference to the instantiated object + + Contains the data sent when a primitive opens a dialog with this agent - + - Initialize callbacks required for the TexturePipeline to operate + Construct a new instance of the ScriptDialogEventArgs + The dialog message + The name of the object that sent the dialog request + The ID of the image to be displayed + The ID of the primitive sending the dialog + The first name of the senders owner + The last name of the senders owner + The communication channel the dialog was sent on + The string labels containing the options presented in this dialog - - - Shutdown the TexturePipeline and cleanup any callbacks or transfers - + + Get the dialog message - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request + + Get the name of the object that sent the dialog request - - - Sends the actual request packet to the simulator - - The image to download - Type of the image to download, either a baked - avatar texture or a normal texture - Priority level of the download. Default is - 1,013,000.0f - Number of quality layers to discard. - This controls the end marker of the data sent - Packet number to start the download at. - This controls the start marker of the data sent - Sending a priority of 0 and a discardlevel of -1 aborts - download - - - - Cancel a pending or in process texture request - - The texture assets unique ID + + Get the ID of the image to be displayed - - - Master Download Thread, Queues up downloads in the threadpool - + + Get the ID of the primitive sending the dialog - - - The worker thread that sends the request and handles timeouts - - A object containing the request details + + Get the first name of the senders owner - - - Handle responses from the simulator that tell us a texture we have requested is unable to be located - or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use - - The sender - The EventArgs object containing the packet data + + Get the last name of the senders owner - - - Handles the remaining Image data that did not fit in the initial ImageData packet - - The sender - The EventArgs object containing the packet data + + Get the communication channel the dialog was sent on, responses + should also send responses on this same channel - - - Handle the initial ImageDataPacket sent from the simulator - - The sender - The EventArgs object containing the packet data + + Get the string labels containing the options presented in this dialog - - Current number of pending and in-process transfers + + Contains the data sent when a primitive requests debit or other permissions + requesting a YES or NO answer - + - A request task containing information and status of a request as it is processed through the + Construct a new instance of the ScriptQuestionEventArgs + The simulator containing the object sending the request + The ID of the script making the request + The ID of the primitive containing the script making the request + The name of the primitive making the request + The name of the owner of the object making the request + The permissions being requested - - The current which identifies the current status of the request - - - The Unique Request ID, This is also the Asset ID of the texture being requested + + Get the simulator containing the object sending the request - - The slot this request is occupying in the threadpoolSlots array + + Get the ID of the script making the request - - The ImageType of the request. + + Get the ID of the primitive containing the script making the request - - The callback to fire when the request is complete, will include - the and the - object containing the result data + + Get the name of the primitive making the request - - If true, indicates the callback will be fired whenever new data is returned from the simulator. - This is used to progressively render textures as portions of the texture are received. + + Get the name of the owner of the object making the request - - An object that maintains the data of an request thats in-process. + + Get the permissions being requested - - - Type of gesture step - + + Contains the data sent when a primitive sends a request + to an agent to open the specified URL - + - Base class for gesture steps + Construct a new instance of the LoadUrlEventArgs + The name of the object sending the request + The ID of the object sending the request + The ID of the owner of the object sending the request + True if the object is owned by a group + The message sent with the request + The URL the object sent - - - Retururns what kind of gesture step this is - + + Get the name of the object sending the request - - - Describes animation step of a gesture - + + Get the ID of the object sending the request - - - If true, this step represents start of animation, otherwise animation stop - + + Get the ID of the owner of the object sending the request - - - Animation asset - + + True if the object is owned by a group - - - Animation inventory name - + + Get the message sent with the request - - - Returns what kind of gesture step this is - + + Get the URL the object sent - - - Describes sound step of a gesture - + + The date received from an ImprovedInstantMessage - + - Sound asset + Construct a new instance of the InstantMessageEventArgs object + the InstantMessage object + the simulator where the InstantMessage origniated - - - Sound inventory name - + + Get the InstantMessage object - - - Returns what kind of gesture step this is - + + Get the simulator where the InstantMessage origniated - - - Describes sound step of a gesture - + + Contains the currency balance - + - Text to output in chat + Construct a new BalanceEventArgs object + The currenct balance - + - Returns what kind of gesture step this is + Get the currenct balance - - - Describes sound step of a gesture - + + Contains the transaction summary when an item is purchased, + money is given, or land is purchased - + - If true in this step we wait for all animations to finish + Construct a new instance of the MoneyBalanceReplyEventArgs object + The ID of the transaction + True of the transaction was successful + The current currency balance + The meters credited + The meters comitted + A brief description of the transaction - - - If true gesture player should wait for the specified amount of time - + + Get the ID of the transaction - - - Time in seconds to wait if WaitForAnimation is false - + + True of the transaction was successful - - - Returns what kind of gesture step this is - + + Get the remaining currency balance - - - Describes the final step of a gesture - + + Get the meters credited - - - Returns what kind of gesture step this is - + + Get the meters comitted - - - Represents a sequence of animations, sounds, and chat actions - + + Get the description of the transaction - - - Keyboard key that triggers the gestyre - + + Data sent from the simulator containing information about your agent and active group information - + - Modifier to the trigger key + Construct a new instance of the AgentDataReplyEventArgs object + The agents first name + The agents last name + The agents active group ID + The group title of the agents active group + The combined group powers the agent has in the active group + The name of the group the agent has currently active - - - String that triggers playing of the gesture sequence - + + Get the agents first name - - - Text that replaces trigger in chat once gesture is triggered - + + Get the agents last name - - - Sequence of gesture steps - + + Get the active group ID of your agent - - - Constructs guesture asset - + + Get the active groups title of your agent - - - Constructs guesture asset - - A unique specific to this asset - A byte array containing the raw asset data + + Get the combined group powers of your agent - - - Encodes gesture asset suitable for uplaod - + + Get the active group name of your agent - - - Decodes gesture assset into play sequence - - true if the asset data was decoded successfully + + Data sent by the simulator to indicate the active/changed animations + applied to your agent - + - Returns asset type + Construct a new instance of the AnimationsChangedEventArgs class + The dictionary that contains the changed animations - - - Permissions for control of object media - + + Get the dictionary that contains the changed animations - + - Style of cotrols that shold be displayed to the user + Data sent from a simulator indicating a collision with your agent - + - Class representing media data for a single face + Construct a new instance of the MeanCollisionEventArgs class + The type of collision that occurred + The ID of the agent or object that perpetrated the agression + The ID of the Victim + The strength of the collision + The Time the collision occurred - - Is display of the alternative image enabled + + Get the Type of collision - - Should media auto loop + + Get the ID of the agent or object that collided with your agent - - Shoule media be auto played + + Get the ID of the agent that was attacked - - Auto scale media to prim face + + A value indicating the strength of the collision - - Should viewer automatically zoom in on the face when clicked + + Get the time the collision occurred - - Should viewer interpret first click as interaction with the media - or when false should the first click be treated as zoom in commadn + + Data sent to your agent when it crosses region boundaries - - Style of controls viewer should display when - viewer media on this face + + + Construct a new instance of the RegionCrossedEventArgs class + + The simulator your agent just left + The simulator your agent is now in - - Starting URL for the media + + Get the simulator your agent just left - - Currently navigated URL + + Get the simulator your agent is now in - - Media height in pixes + + Data sent from the simulator when your agent joins a group chat session - - Media width in pixels + + + Construct a new instance of the GroupChatJoinedEventArgs class + + The ID of the session + The name of the session + A temporary session id used for establishing new sessions + True of your agent successfully joined the session - - Who can controls the media + + Get the ID of the group chat session - - Who can interact with the media + + Get the name of the session - - Is URL whitelist enabled + + Get the temporary session ID used for establishing new sessions - - Array of URLs that are whitelisted + + True if your agent successfully joined the session - + + Data sent by the simulator containing urgent messages + + - Serialize to OSD + Construct a new instance of the AlertMessageEventArgs class - OSDMap with the serialized data + The alert message - + + Get the alert message + + + Data sent by a script requesting to take or release specified controls to your agent + + - Deserialize from OSD data + Construct a new instance of the ScriptControlEventArgs class - Serialized OSD data - Deserialized object + The controls the script is attempting to take or release to the agent + True if the script is passing controls back to the agent + True if the script is requesting controls be released to the script - + + Get the controls the script is attempting to take or release to the agent + + + True if the script is passing controls back to the agent + + + True if the script is requesting controls be released to the script + + - Particle system specific enumerators, flags and methods. + Data sent from the simulator to an agent to indicate its view limits - + - Current version of the media data for the prim + Construct a new instance of the CameraConstraintEventArgs class + The collision plane - + + Get the collision plane + + - Array of media entries indexed by face number + Data containing script sensor requests which allow an agent to know the specific details + of a primitive sending script sensor requests - - + + + Construct a new instance of the ScriptSensorReplyEventArgs + + The ID of the primitive sending the sensor + The ID of the group associated with the primitive + The name of the primitive sending the sensor + The ID of the primitive sending the sensor + The ID of the owner of the primitive sending the sensor + The position of the primitive sending the sensor + The range the primitive specified to scan + The rotation of the primitive sending the sensor + The type of sensor the primitive sent + The velocity of the primitive sending the sensor - - + + Get the ID of the primitive sending the sensor - - + + Get the ID of the group associated with the primitive - - + + Get the name of the primitive sending the sensor - - + + Get the ID of the primitive sending the sensor - - + + Get the ID of the owner of the primitive sending the sensor - - + + Get the position of the primitive sending the sensor - - + + Get the range the primitive specified to scan - - + + Get the rotation of the primitive sending the sensor - - Foliage type for this primitive. Only applicable if this - primitive is foliage + + Get the type of sensor the primitive sent - - Unknown + + Get the velocity of the primitive sending the sensor - - + + Contains the response data returned from the simulator in response to a - - + + Construct a new instance of the AvatarSitResponseEventArgs object - - + + Get the ID of the primitive the agent will be sitting on - - + + True if the simulator Autopilot functions were involved - - + + Get the camera offset of the agent when seated - - + + Get the camera eye offset of the agent when seated - - + + True of the agent will be in mouselook mode when seated - - + + Get the position of the agent when seated - - - - - - - - - - - - - - Identifies the owner if audio or a particle system is - active - - - - - - - - - - - - + + Get the rotation of the agent when seated - - + + Data sent when an agent joins a chat session your agent is currently participating in - - + + + Construct a new instance of the ChatSessionMemberAddedEventArgs object + + The ID of the chat session + The ID of the agent joining - - + + Get the ID of the chat session - - + + Get the ID of the agent that joined - - + + Data sent when an agent exits a chat session your agent is currently participating in - - + + + Construct a new instance of the ChatSessionMemberLeftEventArgs object + + The ID of the chat session + The ID of the Agent that left - - + + Get the ID of the chat session - - + + Get the ID of the agent that left - + - Default constructor + Throttles the network traffic for various different traffic types. + Access this class through GridClient.Throttle - + - Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters in to signed eight bit values + Default constructor, uses a default high total of 1500 KBps (1536000) - Floating point parameter to pack - Signed eight bit value containing the packed parameter - + - Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters from signed eight bit integers to floating point values + Constructor that decodes an existing AgentThrottle packet in to + individual values - Signed eight bit value to unpack - Unpacked floating point value - - - Uses basic heuristics to estimate the primitive shape + Reference to the throttle data in an AgentThrottle + packet + Offset position to start reading at in the + throttle data + This is generally not needed in clients as the server will + never send a throttle packet to the client - - - Texture animation mode - + + Maximum bits per second for resending unacknowledged packets - - Disable texture animation + + Maximum bits per second for LayerData terrain - - Enable texture animation + + Maximum bits per second for LayerData wind data - - Loop when animating textures + + Maximum bits per second for LayerData clouds - - Animate in reverse direction + + Unknown, includes object data - - Animate forward then reverse + + Maximum bits per second for textures - - Slide texture smoothly instead of frame-stepping + + Maximum bits per second for downloaded assets - - Rotate texture instead of using frames + + Maximum bits per second the entire connection, divided up + between invidiual streams using default multipliers - - Scale texture instead of using frames + + + Send an AgentThrottle packet to the current server using the + current values + - + - A single textured face. Don't instantiate this class yourself, use the - methods in TextureEntry + Send an AgentThrottle packet to the specified server using the + current values - + - Contains the definition for individual faces + Convert the current throttle values to a byte array that can be put + in an AgentThrottle packet - + Byte array containing all the throttle values - + - + Static pre-defined animations available to all agents - - - + + Agent with afraid expression on face - - + + Agent aiming a bazooka (right handed) - - + + Agent aiming a bow (left handed) - - + + Agent aiming a hand gun (right handed) - - + + Agent aiming a rifle (right handed) - - + + Agent with angry expression on face - - + + Agent hunched over (away) - - + + Agent doing a backflip - - + + Agent laughing while holding belly - - + + Agent blowing a kiss - - In the future this will specify whether a webpage is - attached to this face + + Agent with bored expression on face - - + + Agent bowing to audience - - - Represents all of the texturable faces for an object - - Grid objects have infinite faces, with each face - using the properties of the default face unless set otherwise. So if - you have a TextureEntry with a default texture uuid of X, and face 18 - has a texture UUID of Y, every face would be textured with X except for - face 18 that uses Y. In practice however, primitives utilize a maximum - of nine faces + + Agent brushing himself/herself off - - + + Agent in busy mode - - + + Agent clapping hands - - - Constructor that takes a default texture UUID - - Texture UUID to use as the default texture + + Agent doing a curtsey bow - - - Constructor that takes a TextureEntryFace for the - default face - - Face to use as the default face + + Agent crouching - - - Constructor that creates the TextureEntry class from a byte array - - Byte array containing the TextureEntry field - Starting position of the TextureEntry field in - the byte array - Length of the TextureEntry field, in bytes + + Agent crouching while walking - - - This will either create a new face if a custom face for the given - index is not defined, or return the custom face for that index if - it already exists - - The index number of the face to create or - retrieve - A TextureEntryFace containing all the properties for that - face + + Agent crying - - - - - - + + Agent unanimated with arms out (e.g. setting appearance) - - - - - + + Agent re-animated after set appearance finished - - - - - + + Agent dancing - - - - - + + Agent dancing - - - Controls the texture animation of a particular prim - + + Agent dancing - - + + Agent dancing - - - - - - - - - - - - - - + + Agent dancing - - + + Agent dancing - - - - - - + + Agent dancing - - - - - + + Agent dancing - - - Complete structure for the particle system - + + Agent on ground unanimated - - Particle Flags - There appears to be more data packed in to this area - for many particle systems. It doesn't appear to be flag values - and serialization breaks unless there is a flag for every - possible bit so it is left as an unsigned integer + + Agent boozing it up - - pattern of particles + + Agent with embarassed expression on face - - A representing the maximimum age (in seconds) particle will be displayed - Maximum value is 30 seconds + + Agent with afraid expression on face - - A representing the number of seconds, - from when the particle source comes into view, - or the particle system's creation, that the object will emits particles; - after this time period no more particles are emitted + + Agent with angry expression on face - - A in radians that specifies where particles will not be created + + Agent with bored expression on face - - A in radians that specifies where particles will be created + + Agent crying - - A representing the number of seconds between burts. + + Agent showing disdain (dislike) for something - - A representing the number of meters - around the center of the source where particles will be created. + + Agent with embarassed expression on face - - A representing in seconds, the minimum speed between bursts of new particles - being emitted + + Agent with frowning expression on face - - A representing in seconds the maximum speed of new particles being emitted. + + Agent with kissy face - - A representing the maximum number of particles emitted per burst + + Agent expressing laughgter - - A which represents the velocity (speed) from the source which particles are emitted + + Agent with open mouth - - A which represents the Acceleration from the source which particles are emitted + + Agent with repulsed expression on face - - The Key of the texture displayed on the particle + + Agent expressing sadness - - The Key of the specified target object or avatar particles will follow + + Agent shrugging shoulders - - Flags of particle from + + Agent with a smile - - Max Age particle system will emit particles for + + Agent expressing surprise - - The the particle has at the beginning of its lifecycle + + Agent sticking tongue out - - The the particle has at the ending of its lifecycle + + Agent with big toothy smile - - A that represents the starting X size of the particle - Minimum value is 0, maximum value is 4 + + Agent winking - - A that represents the starting Y size of the particle - Minimum value is 0, maximum value is 4 + + Agent expressing worry - - A that represents the ending X size of the particle - Minimum value is 0, maximum value is 4 + + Agent falling down - - A that represents the ending Y size of the particle - Minimum value is 0, maximum value is 4 + + Agent walking (feminine version) - - - Decodes a byte[] array into a ParticleSystem Object - - ParticleSystem object - Start position for BitPacker + + Agent wagging finger (disapproval) - - - Generate byte[] array from particle data - - Byte array + + I'm not sure I want to know - - - Particle source pattern - + + Agent in superman position - - None + + Agent in superman position - - Drop particles from source position with no force + + Agent greeting another - - "Explode" particles in all directions + + Agent holding bazooka (right handed) - - Particles shoot across a 2D area + + Agent holding a bow (left handed) - - Particles shoot across a 3D Cone + + Agent holding a handgun (right handed) - - Inverse of AngleCone (shoot particles everywhere except the 3D cone defined + + Agent holding a rifle (right handed) - - - Particle Data Flags - + + Agent throwing an object (right handed) - - None + + Agent in static hover - - Interpolate color and alpha from start to end + + Agent hovering downward - - Interpolate scale from start to end + + Agent hovering upward - - Bounce particles off particle sources Z height + + Agent being impatient - - velocity of particles is dampened toward the simulators wind + + Agent jumping - - Particles follow the source + + Agent jumping with fervor - - Particles point towards the direction of source's velocity + + Agent point to lips then rear end - - Target of the particles + + Agent landing from jump, finished flight, etc - - Particles are sent in a straight line + + Agent laughing - - Particles emit a glow + + Agent landing from jump, finished flight, etc - - used for point/grab/touch + + Agent sitting on a motorcycle - + - Particle Flags Enum - - None + + Agent moving head side to side - - Acceleration and velocity for particles are - relative to the object rotation + + Agent moving head side to side with unhappy expression - - Particles use new 'correct' angle parameters + + Agent taunting another - + - Parameters used to construct a visual representation of a primitive - - - - - + + Agent giving peace sign - - + + Agent pointing at self - - + + Agent pointing at another - - + + Agent preparing for jump (bending knees) - - + + Agent punching with left hand - - + + Agent punching with right hand - - + + Agent acting repulsed - - + + Agent trying to be Chuck Norris - - + + Rocks, Paper, Scissors 1, 2, 3 - - + + Agent with hand flat over other hand - - + + Agent with fist over other hand - - + + Agent with two fingers spread over other hand - - + + Agent running - - + + Agent appearing sad - - + + Agent saluting - - + + Agent shooting bow (left handed) - - + + Agent cupping mouth as if shouting - - + + Agent shrugging shoulders - - + + Agent in sit position - - + + Agent in sit position (feminine) - - Attachment point to an avatar + + Agent in sit position (generic) - - + + Agent sitting on ground - - + + Agent sitting on ground - - + + + - - + + Agent sleeping on side - + + Agent smoking + + + Agent inhaling smoke + + - Information on the flexible properties of a primitive - - + + Agent taking a picture - - + + Agent standing - - + + Agent standing up - - + + Agent standing - - + + Agent standing - - + + Agent standing - - - Default constructor - + + Agent standing - - - - - - + + Agent stretching - - - - - + + Agent in stride (fast walk) - - - - - + + Agent surfing - - - Information on the light properties of a primitive - + + Agent acting surprised - - + + Agent striking with a sword - - + + Agent talking (lips moving) - - + + Agent throwing a tantrum - - + + Agent throwing an object (right handed) - - + + Agent trying on a shirt - - - Default constructor - + + Agent turning to the left - - - - - - + + Agent turning to the right - + + Agent typing + + + Agent walking + + + Agent whispering + + + Agent whispering with fingers in mouth + + + Agent winking + + + Agent winking + + + Agent worried + + + Agent nodding yes + + + Agent nodding yes with happy face + + + Agent floating with legs and arms crossed + + - + A dictionary containing all pre-defined animations - + A dictionary containing the pre-defined animations, + where the key is the animations ID, and the value is a string + containing a name to identify the purpose of the animation - + - + Index of TextureEntry slots for avatar appearances - - + - Information on the sculpt properties of a sculpted primitive + Bake layers for avatar appearance - + Default constructor + A reference to our agent - + - + Contains information about a wearable inventory item - - - - - Render inside out (inverts the normals). - + + Inventory ItemID of the wearable - + + AssetID of the wearable asset + + + WearableType of the wearable + + + AssetType of the wearable + + + Asset data for the wearable + + - Render an X axis mirror of the sculpty. + Data collected from visual params for each wearable + needed for the calculation of the color - + - Extended properties to describe an object + Holds a texture assetID and the data needed to bake this layer into + an outfit texture. Used to keep track of currently worn textures + and baking data - - + + A texture AssetID - - + + Asset data for the texture - - + + Collection of alpha masks that needs applying - - + + Tint that should be applied to the texture - - + + Maximum number of concurrent downloads for wearable assets and textures - - + + Maximum number of concurrent uploads for baked textures - - + + Timeout for fetching inventory listings - - + + Timeout for fetching a single wearable, or receiving a single packet response - - + + Timeout for fetching a single texture - - + + Timeout for uploading a single baked texture - - + + Number of times to retry bake upload - - + + When changing outfit, kick off rebake after + 20 seconds has passed since the last change - - + + Total number of wearables for each avatar - - + + Total number of baked textures on each avatar - - + + Total number of wearables per bake layer - - + + Total number of textures on an avatar, baked or not - - + + Mapping between BakeType and AvatarTextureIndex - - + + Map of what wearables are included in each bake - - + + Magic values to finalize the cache check hashes for each + bake - - + + Default avatar texture, used to detect when a custom + texture is not set for a face - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - - Default constructor - + + Thread sync lock object - - - Set the properties that are set in an ObjectPropertiesFamily packet - - that has - been partially filled by an ObjectPropertiesFamily packet + + The event subscribers. null if no subcribers - - - - + + Thread sync lock object - - - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + A cache of wearables currently being worn - - + + A cache of textures currently being worn - - + + Incrementing serial number for AgentCachedTexture packets - - + + Incrementing serial number for AgentSetAppearance packets - - + + Indicates whether or not the appearance thread is currently + running, to prevent multiple appearance threads from running + simultaneously - + + Reference to our agent + + - + Timer used for delaying rebake on changing outfit - + - Map layer request type + Main appearance thread - - Objects and terrain are shown - - - Only the terrain is shown, no objects + + Triggered when an AgentWearablesUpdate packet is received, + telling us what our avatar is currently wearing + request. - - Overlay showing land for sale and for auction + + Raised when an AgentCachedTextureResponse packet is + received, giving a list of cached bakes that were found on the + simulator + request. - + - Type of grid item, such as telehub, event, populator location, etc. + Raised when appearance data is sent to the simulator, also indicates + the main appearance thread is finished. - - - Telehub - - - PG rated event - - - Mature rated event - - - Popular location - - - Locations of avatar groups in a region - - - Land for sale - - - Classified ad - - - Adult rated event - - - Adult land for sale - - + request. + - Information about a region on the grid map + Triggered when the simulator requests the agent rebake its appearance. + - - Sim X position on World Map - - - Sim Y position on World Map - - - Sim Name (NOTE: In lowercase!) - - - - - - Appears to always be zero (None) + + + Returns true if AppearanceManager is busy and trying to set or change appearance will fail + - - Sim's defined Water Height + + Raises the AgentWearablesReply event + An AgentWearablesReplyEventArgs object containing the + data returned from the data server - - + + Raises the CachedBakesReply event + An AgentCachedBakesReplyEventArgs object containing the + data returned from the data server AgentCachedTextureResponse - - UUID of the World Map image + + Raises the AppearanceSet event + An AppearanceSetEventArgs object indicating if the operatin was successfull - - Unique identifier for this region, a combination of the X - and Y position + + Raises the RebakeAvatarRequested event + An RebakeAvatarTexturesEventArgs object containing the + data returned from the data server - + - + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread - - + - + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread - + Unused parameter - + - + Starts the appearance setting thread - - - + - Visual chunk of the grid map + Starts the appearance setting thread + True to force rebaking, otherwise false - + - Base class for Map Items + Ask the server what textures our agent is currently wearing - - The Global X position of the item - - - The Global Y position of the item - - - Get the Local X position of the item - - - Get the Local Y position of the item - - - Get the Handle of the region - - + - Represents an agent or group of agents location + Build hashes out of the texture assetIDs for each baking layer to + ask the simulator whether it has cached copies of each baked texture - + - Represents a Telehub location + Returns the AssetID of the asset that is currently being worn in a + given WearableType slot + WearableType slot to get the AssetID for + The UUID of the asset being worn in the given slot, or + UUID.Zero if no wearable is attached to the given slot or wearables + have not been downloaded yet - + - Represents a non-adult parcel of land for sale + Add a wearable to the current outfit and set appearance + Wearable to be added to the outfit - + - Represents an Adult parcel of land for sale + Add a list of wearables to the current outfit and set appearance + List of wearable inventory items to + be added to the outfit - + - Represents a PG Event + Remove a wearable from the current outfit and set appearance + Wearable to be removed from the outfit - + - Represents a Mature event + Removes a list of wearables from the current outfit and set appearance + List of wearable inventory items to + be removed from the outfit - + - Represents an Adult event + Replace the current outfit with a list of wearables and set appearance + List of wearable inventory items that + define a new outfit - + - Manages grid-wide tasks such as the world map + Checks if an inventory item is currently being worn + The inventory item to check against the agent + wearables + The WearableType slot that the item is being worn in, + or WearbleType.Invalid if it is not currently being worn - - The event subscribers. null if no subcribers - - - Raises the CoarseLocationUpdate event - A CoarseLocationUpdateEventArgs object containing the - data sent by simulator + + + Returns a copy of the agents currently worn wearables + + A copy of the agents currently worn wearables + Avoid calling this function multiple times as it will make + a copy of all of the wearable data each time - - Thread sync lock object + + + Calls either or + depending on the value of + replaceItems + + List of wearable inventory items to add + to the outfit or become a new outfit + True to replace existing items with the + new list of items, false to add these items to the existing outfit - - The event subscribers. null if no subcribers + + + Adds a list of attachments to our agent + + A List containing the attachments to add + If true, tells simulator to remove existing attachment + first - - Raises the GridRegion event - A GridRegionEventArgs object containing the - data sent by simulator + + + Attach an item to our agent at a specific attach point + + A to attach + the on the avatar + to attach the item to - - Thread sync lock object + + + Attach an item to our agent specifying attachment details + + The of the item to attach + The attachments owner + The name of the attachment + The description of the attahment + The to apply when attached + The of the attachment + The on the agent + to attach the item to - - The event subscribers. null if no subcribers + + + Detach an item from our agent using an object + + An object - - Raises the GridLayer event - A GridLayerEventArgs object containing the - data sent by simulator + + + Detach an item from our agent + + The inventory itemID of the item to detach - - Thread sync lock object + + + Inform the sim which wearables are part of our current outfit + - - The event subscribers. null if no subcribers + + + Replaces the Wearables collection with a list of new wearable items + + Wearable items to replace the Wearables collection with - - Raises the GridItems event - A GridItemEventArgs object containing the - data sent by simulator + + + Calculates base color/tint for a specific wearable + based on its params + + All the color info gathered from wearable's VisualParams + passed as list of ColorParamInfo tuples + Base color/tint for the wearable - - Thread sync lock object + + + Blocking method to populate the Wearables dictionary + + True on success, otherwise false - - The event subscribers. null if no subcribers + + + Blocking method to populate the Textures array with cached bakes + + True on success, otherwise false - - Raises the RegionHandleReply event - A RegionHandleReplyEventArgs object containing the - data sent by simulator + + + Populates textures and visual params from a decoded asset + + Wearable to decode - - Thread sync lock object + + + Blocking method to download and parse currently worn wearable assets + + True on success, otherwise false - - A dictionary of all the regions, indexed by region name + + + Get a list of all of the textures that need to be downloaded for a + single bake layer + + Bake layer to get texture AssetIDs for + A list of texture AssetIDs to download - - A dictionary of all the regions, indexed by region handle + + + Helper method to lookup the TextureID for a single layer and add it + to a list if it is not already present + + + + + - + - Constructor + Blocking method to download all of the textures needed for baking + the given bake layers - Instance of GridClient object to associate with this GridManager instance + A list of layers that need baking + No return value is given because the baking will happen + whether or not all textures are successfully downloaded - + - + Blocking method to create and upload baked textures for all of the + missing bakes - + True on success, otherwise false - + - Request a map layer + Blocking method to create and upload a baked texture for a single + bake layer - The name of the region - The type of layer + Layer to bake + True on success, otherwise false - + - + Blocking method to upload a baked texture - - - - - - + Five channel JPEG2000 texture data to upload + UUID of the newly created asset on success, otherwise UUID.Zero - + - + Creates a dictionary of visual param values from the downloaded wearables - - - - - + A dictionary of visual param indices mapping to visual param + values for our agent that can be fed to the Baker class - + - + Create an AgentSetAppearance packet from Wearables data and the + Textures array and send it - - - - + - Request data for all mainland (Linden managed) simulators + Converts a WearableType to a bodypart or clothing WearableType + A WearableType + AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - + - Request the region handle for the specified region UUID + Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - UUID of the region to look up + A BakeType + The AvatarTextureIndex slot that holds the given BakeType - + - Get grid region information using the region name, this function - will block until it can find the region or gives up + Gives the layer number that is used for morph mask - Name of sim you're looking for - Layer that you are requesting - Will contain a GridRegion for the sim you're - looking for if successful, otherwise an empty structure - True if the GridRegion was successfully fetched, otherwise - false + >A BakeType + Which layer number as defined in BakeTypeToTextures is used for morph mask - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Converts a BakeType to a list of the texture slots that make up that bake + + A BakeType + A list of texture slots that are inputs for the given bake - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Contains the Event data returned from the data server from an AgentWearablesRequest - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Construct a new instance of the AgentWearablesReplyEventArgs class - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Contains the Event data returned from the data server from an AgentCachedTextureResponse - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Construct a new instance of the AgentCachedBakesReplyEventArgs class - - Raised when the simulator sends a - containing the location of agents in the simulator + + Contains the Event data returned from an AppearanceSetRequest - - Raised when the simulator sends a Region Data in response to - a Map request + + + Triggered when appearance data is sent to the sim and + the main appearance thread is done. + Indicates whether appearance setting was successful - - Raised when the simulator sends GridLayer object containing - a map tile coordinates and texture information + + Indicates whether appearance setting was successful - - Raised when the simulator sends GridItems object containing - details on events, land sales at a specific location + + Contains the Event data returned from the data server from an RebakeAvatarTextures - - Raised in response to a Region lookup + + + Triggered when the simulator sends a request for this agent to rebake + its appearance + + The ID of the Texture Layer to bake - - Unknown - - - Current direction of the sun - - - Current angular velocity of the sun - - - Current world time + + The ID of the Texture Layer to bake - + - Main class to expose grid functionality to clients. All of the - classes needed for sending and receiving data are accessible through - this class. + Class that handles the local asset cache - - - // Example minimum code required to instantiate class and - // connect to a simulator. - using System; - using System.Collections.Generic; - using System.Text; - using OpenMetaverse; - - namespace FirstBot - { - class Bot - { - public static GridClient Client; - static void Main(string[] args) - { - Client = new GridClient(); // instantiates the GridClient class - // to the global Client object - // Login to Simulator - Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); - // Wait for a Keypress - Console.ReadLine(); - // Logout of simulator - Client.Network.Logout(); - } - } - } - - - - - Networking subsystem - - - Settings class including constant values and changeable - parameters for everything - - - Parcel (subdivided simulator lots) subsystem - - - Our own avatars subsystem - - - Other avatars subsystem - - - Estate subsystem - - - Friends list subsystem - - - Grid (aka simulator group) subsystem - - - Object subsystem - - - Group subsystem - - - Asset subsystem - - - Appearance subsystem - - - Inventory subsystem - - - Directory searches including classifieds, people, land - sales, etc - - - Handles land, wind, and cloud heightmaps - - - Handles sound-related networking - - - Throttling total bandwidth usage, or allocating bandwidth - for specific data stream types - + Default constructor + A reference to the GridClient object - - - Return the full name of this instance - - Client avatars full name - - + - Attempts to convert an LLSD structure to a known Packet type + Helper class for sorting files by their last accessed time - Event name, this must match an actual - packet name for a Packet to be successfully built - LLSD to convert to a Packet - A Packet on success, otherwise null - + - Class that handles the local asset cache + Allows setting weather to periodicale prune the cache if it grows too big + Default is enabled, when caching is enabled - + - Default constructor + How long (in ms) between cache checks (default is 5 min.) - A reference to the GridClient object @@ -4525,20726 +4159,21636 @@ Byte size we want to output String with humanly readable file size - + - Allows setting weather to periodicale prune the cache if it grows too big - Default is enabled, when caching is enabled - + + OK + + + Transfer completed + + - How long (in ms) between cache checks (default is 5 min.) - + - Helper class for sorting files by their last accessed time - + + Unknown error occurred + + + Equivalent to a 404 error + + + Client does not have permission for that resource + + + Unknown status + + - Extract the avatar UUID encoded in a SIP URI - - - + - Represents an LSL Text object containing a string of UTF encoded characters - - A string of characters represting the script contents + + Unknown - - Initializes a new AssetScriptText object + + Virtually all asset transfers use this channel - + - Initializes a new AssetScriptText object with parameters - A unique specific to this asset - A byte array containing the raw asset data - + - Initializes a new AssetScriptText object with parameters - A string containing the scripts contents - + + Asset from the asset server + + + Inventory item + + + Estate asset, such as an estate covenant + + - Encode a string containing the scripts contents into byte encoded AssetData - + - Decode a byte array containing the scripts contents into a string - true if decoding is successful - - Override the base classes AssetType + + + - + - NetworkManager is responsible for managing the network layer of - OpenMetaverse. It tracks all the server connections, serializes - outgoing traffic and deserializes incoming traffic, and provides - instances of delegates for network-related events. + + - Login Routines - - The event subscribers, null of no subscribers + + + - - Raises the PacketSent Event - A PacketSentEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + Image file format + - - The event subscribers, null of no subscribers + + + - - Raises the LoggedOut Event - A LoggedOutEventArgs object containing - the data sent from the simulator + + Number of milliseconds passed since the last transfer + packet was received - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the SimConnecting Event - A SimConnectingEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the SimConnected Event - A SimConnectedEventArgs object containing - the data sent from the simulator + + + + + + + + + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + Default constructor + + A reference to the GridClient object - - Raises the SimDisconnected Event - A SimDisconnectedEventArgs object containing - the data sent from the simulator + + + Callback used for various asset download requests + + Transfer information + Downloaded asset, null on fail - - Thread sync lock object + + + Callback used upon competition of baked texture upload + + Asset UUID of the newly uploaded baked texture - - The event subscribers, null of no subscribers + + Number of milliseconds to wait for a transfer header packet if out of order data was received - - Raises the Disconnected Event - A DisconnectedEventArgs object containing - the data sent from the simulator + + The event subscribers. null if no subcribers - + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the SimChanged Event - A SimChangedEventArgs object containing - the data sent from the simulator + + Thread sync lock object - + + The event subscribers. null if no subcribers + + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the EventQueueRunning Event - A EventQueueRunningEventArgs object containing - the data sent from the simulator + + Thread sync lock object - + + The event subscribers. null if no subcribers + + Thread sync lock object - - All of the simulators we are currently connected to + + Texture download cache - - Handlers for incoming capability events + + Raised when the simulator responds sends - - Handlers for incoming packets + + Raised during upload completes - - Incoming packets that are awaiting handling + + Raised during upload with progres update - - Outgoing packets that are awaiting handling + + Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files - - - Default constructor - - Reference to the GridClient object + + Fired when a texture is in the process of being downloaded by the TexturePipeline class - - - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type to trigger events for - Callback to fire when a packet of this type - is received + + Raises the XferReceived event + A XferReceivedEventArgs object containing the + data returned from the simulator - - - Unregister an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type this callback is registered with - Callback to stop firing events for + + Raises the AssetUploaded event + A AssetUploadedEventArgs object containing the + data returned from the simulator - - - Register a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library - - Name of the CAPS event to register a handler for - Callback to fire when a CAPS event is received + + Raises the UploadProgress event + A UploadProgressEventArgs object containing the + data returned from the simulator - + + Raises the InitiateDownload event + A InitiateDownloadEventArgs object containing the + data returned from the simulator + + + Raises the ImageReceiveProgress event + A ImageReceiveProgressEventArgs object containing the + data returned from the simulator + + - Unregister a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library + Request an asset download - Name of the CAPS event this callback is - registered with - Callback to stop firing events for + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + The callback to fire when the simulator responds with the asset data - + - Send a packet to the simulator the avatar is currently occupying + Request an asset download - Packet to send + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + The callback to fire when the simulator responds with the asset data - + - Send a packet to a specified simulator + Request an asset download - Packet to send - Simulator to send the packet to + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + UUID of the transaction + The callback to fire when the simulator responds with the asset data - + - Connect to a simulator + Request an asset download through the almost deprecated Xfer system - IP address to connect to - Port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null + Filename of the asset to request + Whether or not to delete the asset + off the server after it is retrieved + Use large transfer packets or not + UUID of the file to request, if filename is + left empty + Asset type of vFileID, or + AssetType.Unknown if filename is not empty + Sets the FilePath in the request to Cache + (4) if true, otherwise Unknown (0) is used + + - + - Connect to a simulator - IP address and port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null + Use UUID.Zero if you do not have the + asset ID but have all the necessary permissions + The item ID of this asset in the inventory + Use UUID.Zero if you are not requesting an + asset from an object inventory + The owner of this asset + Asset type + Whether to prioritize this asset download or not + + - + - Initiate a blocking logout request. This will return when the logout - handshake has completed or when Settings.LOGOUT_TIMEOUT - has expired and the network layer is manually shut down + Used to force asset data into the PendingUpload property, ie: for raw terrain uploads + An AssetUpload object containing the data to upload to the simulator - + - Initiate the logout process. Check if logout succeeded with the - OnLogoutReply event, and if this does not fire the - Shutdown() function needs to be manually called + Request an asset be uploaded to the simulator + The Object containing the asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - + - Close a connection to the given simulator + Request an asset be uploaded to the simulator - - + The of the asset being uploaded + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - + - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout + Request an asset be uploaded to the simulator - Type of shutdown + + + Asset type to upload this data as + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - + - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout + Initiate an asset upload - Type of shutdown - Shutdown message + The ID this asset will have if the + upload succeeds + Asset type to upload this data as + Raw asset data to upload + Whether to store this asset on the local + simulator or the grid-wide asset server + The tranaction id for the upload + The transaction ID of this transfer - + - Searches through the list of currently connected simulators to find - one attached to the given IPEndPoint + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator - IPEndPoint of the Simulator to search for - A Simulator reference on success, otherwise null + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress + transfer. + A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority + indicating an off-by-one error. + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + Request an image and fire a callback when the request is complete + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + + Request an image and use an inline anonymous method to handle the downloaded texture data + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + ); + + Request a texture, decode the texture to a bitmap image and apply it to a imagebox + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + ManagedImage imgData; + Image bitmap; + if (state == TextureRequestState.Finished) + { + OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); + picInsignia.Image = bitmap; + } + } + } + - + - Fire an event when an event queue connects for capabilities + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator - Simulator the event queue is attached to + The of the texture asset to download + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data - + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + + + Cancel a texture request + + The texture assets + + + + Lets TexturePipeline class fire the progress event + + The texture ID currently being downloaded + the number of bytes transferred + the total number of bytes expected + + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - The event subscribers, null of no subscribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raises the LoginProgress Event - A LoginProgressEventArgs object containing - the data sent from the simulator + + Xfer data - - Thread sync lock object + + Upload data - - Seed CAPS URL returned from the login server + + Filename used on the simulator - - A list of packets obtained during the login process which - networkmanager will log but not process + + Filename used by the client - + + UUID of the image that is in progress + + + Number of bytes received so far + + + Image size in bytes + + - Generate sane default values for a login request + Avatar profile flags - Account first name - Account last name - Account password - Client application name - Client application version - A populated struct containing - sane defaults - + - Simplified login that takes the most common and required fields + Represents an avatar (other than your own) - Account first name - Account last name - Account password - Client application name - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - + - Simplified login that takes the most common fields along with a - starting location URI, and can accept an MD5 string instead of a - plaintext password + Default constructor - Account first name - Account last name - Account password or MD5 hash of the password - such as $1$1682a1e45e9f957dcdf0bb56eb43319c - Client application name - Starting location URI that can be built with - StartLocation() - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - + - Login that takes a struct of all the values that will be passed to - the login server + Positive and negative ratings - The values that will be passed to the login - server, all fields must be set even if they are String.Empty - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - + + Positive ratings for Behavior + + + Negative ratings for Behavior + + + Positive ratings for Appearance + + + Negative ratings for Appearance + + + Positive ratings for Building + + + Negative ratings for Building + + + Positive ratings given by this avatar + + + Negative ratings given by this avatar + + - Build a start location URI for passing to the Login function + Avatar properties including about text, profile URL, image IDs and + publishing settings - Name of the simulator to start in - X coordinate to start at - Y coordinate to start at - Z coordinate to start at - String with a URI that can be used to login to a specified - location - + + First Life about text + + + First Life image ID + + - Handles response from XML-RPC login replies - + - Handle response from LLSD login replies - - - - + - Get current OS - Either "Win" or "Linux" - + - Get clients default Mac Address - A string containing the first found Mac Address - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... + + Profile image ID - - Raised when the simulator sends us data containing - ... + + Flags of the profile - - Raised when the simulator sends us data containing - ... + + Web URL for this profile - - Raised when the simulator sends us data containing - ... + + Should this profile be published on the web - - Raised when the simulator sends us data containing - ... + + Avatar Online Status - - Raised when the simulator sends us data containing - ... + + Is this a mature profile - - Raised when the simulator sends us data containing - ... + + + - - Unique identifier associated with our connections to - simulators + + + - - The simulator that the logged in avatar is currently - occupying + + + Avatar interests including spoken languages, skills, and "want to" + choices + - - Shows whether the network layer is logged in to the - grid or not + + Languages profile field - - Number of packets in the incoming queue + + + - - Number of packets in the outgoing queue + + + - - Raised when the simulator sends us data containing - ... + + + - - Called when a reply is received from the login server, the - login sequence will block until this event returns + + + - - Current state of logging in + + Groups that this avatar is a member of - - Upon login failure, contains a short string key for the - type of login error that occurred + + Positive and negative ratings - - The raw XML-RPC reply from the login server, exactly as it - was received (minus the HTTP header) + + Avatar properties including about text, profile URL, image IDs and + publishing settings - - During login this contains a descriptive version of - LoginStatusCode. After a successful login this will contain the - message of the day, and after a failed login a descriptive error - message will be returned + + Avatar interests including spoken languages, skills, and "want to" + choices - + + Movement control flags for avatars. Typically not set or used by + clients. To move your avatar, use Client.Self.Movement instead + + - Explains why a simulator or the grid disconnected from us + Contains the visual parameters describing the deformation of the avatar - - The client requested the logout or simulator disconnect + + First name - - The server notified us that it is disconnecting + + Last name - - Either a socket was closed or network traffic timed out + + Full name - - The last active simulator shut down + + Active group - + - Holds a simulator reference and a decoded packet, these structs are put in - the packet inbox for event handling + Holds group information for Avatars such as those you might find in a profile - - Reference to the simulator that this packet came from - - - Packet that needs to be processed - - - - Holds a simulator reference and a serialized packet, these structs are put in - the packet outbox for sending - + + true of Avatar accepts group notices - - Reference to the simulator this packet is destined for + + Groups Key - - Packet that needs to be sent + + Texture Key for groups insignia - - Sequence number of the wrapped packet + + Name of the group - - Number of times this packet has been resent + + Powers avatar has in the group - - Environment.TickCount when this packet was last sent over the wire + + Avatars Currently selected title - - - - - - - - - + + true of Avatar has chosen to list this in their profile - + - Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. + Contains an animation currently being played by an agent - - - Rotation Keyframe count (used internally) - + + The ID of the animation asset - - - Position Keyframe count (used internally) - + + A number to indicate start order of currently playing animations + On Linden Grids this number is unique per region, with OpenSim it is per client - + - Animation Priority - + - The animation length in seconds. + Holds group information on an individual profile pick - + - Expression set in the client. Null if [None] is selected + Retrieve friend status notifications, and retrieve avatar names and + profiles - + - The time in seconds to start the animation + Represents other avatars + + - - - The time in seconds to end the animation - + + The event subscribers, null of no subscribers - - - Loop the animation - + + Thread sync lock object - - - Meta data. Ease in Seconds. - + + The event subscribers, null of no subscribers - - - Meta data. Ease out seconds. - + + Thread sync lock object - - - Meta Data for the Hand Pose - + + The event subscribers, null of no subscribers - - - Number of joints defined in the animation - + + Thread sync lock object - - - Contains an array of joints - + + The event subscribers, null of no subscribers - - - Searialize an animation asset into it's joints/keyframes/meta data - - + + Thread sync lock object - - - Variable length strings seem to be null terminated in the animation asset.. but.. - use with caution, home grown. - advances the index. - - The animation asset byte array - The offset to start reading - a string + + The event subscribers, null of no subscribers - - - Read in a Joint from an animation asset byte array - Variable length Joint fields, yay! - Advances the index - - animation asset byte array - Byte Offset of the start of the joint - The Joint data serialized into the binBVHJoint structure + + Thread sync lock object - - - Read Keyframes of a certain type - advance i - - Animation Byte array - Offset in the Byte Array. Will be advanced - Number of Keyframes - Scaling Min to pass to the Uint16ToFloat method - Scaling Max to pass to the Uint16ToFloat method - + + The event subscribers, null of no subscribers - - - A Joint and it's associated meta data and keyframes - + + Thread sync lock object - - - Name of the Joint. Matches the avatar_skeleton.xml in client distros - + + The event subscribers, null of no subscribers - - - Joint Animation Override? Was the same as the Priority in testing.. - + + Thread sync lock object - - - Array of Rotation Keyframes in order from earliest to latest - + + The event subscribers, null of no subscribers - - - Array of Position Keyframes in order from earliest to latest - This seems to only be for the Pelvis? - - - - - A Joint Keyframe. This is either a position or a rotation. - - - - - Either a Vector3 position or a Vector3 Euler rotation - - - - - Poses set in the animation metadata for the hands. - - - - - Manager class for our own avatar - - - - The event subscribers. null if no subcribers - - - Raises the ChatFromSimulator event - A ChatEventArgs object containing the - data returned from the data server - - + Thread sync lock object - - The event subscribers. null if no subcribers - - - Raises the ScriptDialog event - A SctriptDialogEventArgs object containing the - data returned from the data server + + The event subscribers, null of no subscribers - + Thread sync lock object - - The event subscribers. null if no subcribers - - - Raises the ScriptQuestion event - A ScriptQuestionEventArgs object containing the - data returned from the data server + + The event subscribers, null of no subscribers - + Thread sync lock object - - The event subscribers. null if no subcribers - - - Raises the LoadURL event - A LoadUrlEventArgs object containing the - data returned from the data server + + The event subscribers, null of no subscribers - + Thread sync lock object - - The event subscribers. null if no subcribers - - - Raises the MoneyBalance event - A BalanceEventArgs object containing the - data returned from the data server + + The event subscribers, null of no subscribers - + Thread sync lock object - - The event subscribers. null if no subcribers - - - Raises the MoneyBalanceReply event - A MoneyBalanceReplyEventArgs object containing the - data returned from the data server + + The event subscribers, null of no subscribers - + Thread sync lock object - - The event subscribers. null if no subcribers - - - Raises the IM event - A InstantMessageEventArgs object containing the - data returned from the data server + + The event subscribers, null of no subscribers - + Thread sync lock object - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + an agents animation playlist - - Raises the TeleportProgress event - A TeleportEventArgs object containing the - data returned from the data server + + Raised when the simulator sends us data containing + the appearance information for an agent - - Thread sync lock object + + Raised when the simulator sends us data containing + agent names/id values - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + the interests listed in an agents profile - - Raises the AgentDataReply event - A AgentDataReplyEventArgs object containing the - data returned from the data server + + Raised when the simulator sends us data containing + profile property information for an agent - - Thread sync lock object + + Raised when the simulator sends us data containing + the group membership an agent is a member of - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + name/id pair - - Raises the AnimationsChanged event - A AnimationsChangedEventArgs object containing the - data returned from the data server + + Raised when the simulator sends us data containing + the objects and effect when an agent is pointing at - - Thread sync lock object + + Raised when the simulator sends us data containing + the objects and effect when an agent is looking at - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + an agents viewer effect information - - Raises the MeanCollision event - A MeanCollisionEventArgs object containing the - data returned from the data server + + Raised when the simulator sends us data containing + the top picks from an agents profile - - Thread sync lock object + + Raised when the simulator sends us data containing + the Pick details - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + the classified ads an agent has placed - - Raises the RegionCrossed event - A RegionCrossedEventArgs object containing the - data returned from the data server + + Raised when the simulator sends us data containing + the details of a classified ad - - Thread sync lock object + + Raises the AvatarAnimation Event + An AvatarAnimationEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the AvatarAppearance Event + A AvatarAppearanceEventArgs object containing + the data sent from the simulator - - Raises the GroupChatJoined event - A GroupChatJoinedEventArgs object containing the - data returned from the data server + + Raises the UUIDNameReply Event + A UUIDNameReplyEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the AvatarInterestsReply Event + A AvatarInterestsReplyEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the AvatarPropertiesReply Event + A AvatarPropertiesReplyEventArgs object containing + the data sent from the simulator - - Raises the GroupChatLeft event - A GroupChatLeftEventArgs object containing the - data returned from the data server + + Raises the AvatarGroupsReply Event + A AvatarGroupsReplyEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the AvatarPickerReply Event + A AvatarPickerReplyEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the ViewerEffectPointAt Event + A ViewerEffectPointAtEventArgs object containing + the data sent from the simulator - - Raises the AlertMessage event - A AlertMessageEventArgs object containing the - data returned from the data server + + Raises the ViewerEffectLookAt Event + A ViewerEffectLookAtEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the ViewerEffect Event + A ViewerEffectEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the AvatarPicksReply Event + A AvatarPicksReplyEventArgs object containing + the data sent from the simulator - - Raises the ScriptControlChange event - A ScriptControlEventArgs object containing the - data returned from the data server + + Raises the PickInfoReply Event + A PickInfoReplyEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the AvatarClassifiedReply Event + A AvatarClassifiedReplyEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the ClassifiedInfoReply Event + A ClassifiedInfoReplyEventArgs object containing + the data sent from the simulator - - Raises the CameraConstraint event - A CameraConstraintEventArgs object containing the - data returned from the data server + + Tracks the specified avatar on your map + Avatar ID to track - - Thread sync lock object + + + Request a single avatar name + + The avatar key to retrieve a name for - - The event subscribers. null if no subcribers - - - Raises the ScriptSensorReply event - A ScriptSensorReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the AvatarSitResponse event - A AvatarSitResponseEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ChatSessionMemberAdded event - A ChatSessionMemberAddedEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the ChatSessionMemberLeft event - A ChatSessionMemberLeftEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - Reference to the GridClient instance - - - Used for movement and camera tracking - - - Currently playing animations for the agent. Can be used to - check the current movement status such as walking, hovering, aiming, - etc. by checking against system animations found in the Animations class - - - Dictionary containing current Group Chat sessions and members - - + - Constructor, setup callbacks for packets related to our avatar + Request a list of avatar names - A reference to the Class + The avatar keys to retrieve names for - + - Send a text message from the Agent to the Simulator + Start a request for Avatar Properties - A containing the message - The channel to send the message on, 0 is the public channel. Channels above 0 - can be used however only scripts listening on the specified channel will see the message - Denotes the type of message being sent, shout, whisper, etc. + + - + - Request any instant messages sent while the client was offline to be resent. + Search for an avatar (first name, last name) + The name to search for + An ID to associate with this query - + - Send an Instant Message to another Avatar + Start a request for Avatar Picks - The recipients - A containing the message to send + UUID of the avatar - + - Send an Instant Message to an existing group chat or conference chat + Start a request for Avatar Classifieds - The recipients - A containing the message to send - IM session ID (to differentiate between IM windows) + UUID of the avatar - + - Send an Instant Message + Start a request for details of a specific profile pick - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - IDs of sessions for a conference + UUID of the avatar + UUID of the profile pick - + - Send an Instant Message + Start a request for details of a specific profile classified - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - Type of instant message to send - Whether to IM offline avatars as well - Senders Position - RegionID Sender is In - Packed binary data that is specific to - the dialog type + UUID of the avatar + UUID of the profile classified - - - Send an Instant Message to a group - - of the group to send message to - Text Message being sent. + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Send an Instant Message to a group the agent is a member of - - The name this IM will show up as being from - of the group to send message to - Text message being sent + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Send a request to join a group chat session - - of Group to leave + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Exit a group chat session. This will stop further Group chat messages - from being sent until session is rejoined. - - of Group chat session to leave + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Reply to script dialog questions. - - Channel initial request came on - Index of button you're "clicking" - Label of button you're "clicking" - of Object that sent the dialog request - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Accept invite for to a chatterbox session + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. - of session to accept invite to + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - - Start a friends conference - - List of UUIDs to start a conference with - the temportary session ID returned in the callback> + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Start a particle stream between an agent and an object - - Key of the source agent - Key of the target object - - The type from the enum - A unique for this effect + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Start a particle stream between an agent and an object - - Key of the source agent - Key of the target object - A representing the beams offset from the source - A which sets the avatars lookat animation - of the Effect + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Create a particle beam between an avatar and an primitive - - The ID of source avatar - The ID of the target primitive - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Create a particle swirl around a target position using a packet - - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Sends a request to sit on the specified object - - of the object to sit on - Sit at offset + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Follows a call to to actually sit on the object - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Stands up from sitting on a prim or the ground - true of AgentUpdate was sent + + Provides data for the event + The event occurs when the simulator sends + the animation playlist for an agent + + The following code example uses the and + properties to display the animation playlist of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; + private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) + { + // create a dictionary of "known" animations from the Animations class using System.Reflection + Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); + Type type = typeof(Animations); + System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + foreach (System.Reflection.FieldInfo field in fields) + { + systemAnimations.Add((UUID)field.GetValue(type), field.Name); + } + // find out which animations being played are known animations and which are assets + foreach (Animation animation in e.Animations) + { + if (systemAnimations.ContainsKey(animation.AnimationID)) + { + Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, + systemAnimations[animation.AnimationID], animation.AnimationSequence); + } + else + { + Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, + animation.AnimationID, animation.AnimationSequence); + } + } + } + - + - Does a "ground sit" at the avatar's current position + Construct a new instance of the AvatarAnimationEventArgs class + The ID of the agent + The list of animations to start - - - Starts or stops flying - - True to start flying, false to stop flying + + Get the ID of the agent - + + Get the list of animations to start + + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + + - Starts or stops crouching + Construct a new instance of the AvatarAppearanceEventArgs class - True to start crouching, false to stop crouching + The simulator request was from + The ID of the agent + true of the agent is a trial account + The default agent texture + The agents appearance layer textures + The for the agent - + + Get the Simulator this request is from of the agent + + + Get the ID of the agent + + + true if the agent is a trial account + + + Get the default agent texture + + + Get the agents appearance layer textures + + + Get the for the agent + + + Represents the interests from the profile of an agent + + + Get the ID of the agent + + + The properties of an agent + + + Get the ID of the agent + + + Get the ID of the agent + + + Get the ID of the agent + + + Get the ID of the avatar + + - Starts a jump (begin holding the jump key) + Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. - + - Use the autopilot sim function to move the avatar to a new - position. Uses double precision to get precise movements + Searialize an animation asset into it's joints/keyframes/meta data - The z value is currently not handled properly by the simulator - Global X coordinate to move to - Global Y coordinate to move to - Z coordinate to move to + + - + - Use the autopilot sim function to move the avatar to a new position + Rotation Keyframe count (used internally) - The z value is currently not handled properly by the simulator - Integer value for the global X coordinate to move to - Integer value for the global Y coordinate to move to - Floating-point value for the Z coordinate to move to - + - Use the autopilot sim function to move the avatar to a new position + Position Keyframe count (used internally) - The z value is currently not handled properly by the simulator - Integer value for the local X coordinate to move to - Integer value for the local Y coordinate to move to - Floating-point value for the Z coordinate to move to - - - Macro to cancel autopilot sim function - Not certain if this is how it is really done - true if control flags were set and AgentUpdate was sent to the simulator - + - Grabs an object + Animation Priority - an unsigned integer of the objects ID within the simulator - - + - Overload: Grab a simulated object + The animation length in seconds. - an unsigned integer of the objects ID within the simulator - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - + - Drag an object + Expression set in the client. Null if [None] is selected - of the object to drag - Drag target in region coordinates - + - Overload: Drag an object + The time in seconds to start the animation - of the object to drag - Drag target in region coordinates - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - + - Release a grabbed object + The time in seconds to end the animation - The Objects Simulator Local ID - - - - + - Release a grabbed object + Loop the animation - The Objects Simulator Local ID - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - + - Touches an object + Meta data. Ease in Seconds. - an unsigned integer of the objects ID within the simulator - - + - Request the current L$ balance + Meta data. Ease out seconds. - + - Give Money to destination Avatar + Meta Data for the Hand Pose - UUID of the Target Avatar - Amount in L$ - + - Give Money to destination Avatar + Number of joints defined in the animation - UUID of the Target Avatar - Amount in L$ - Description that will show up in the - recipients transaction history - + - Give L$ to an object + Contains an array of joints - object to give money to - amount of L$ to give - name of object - + - Give L$ to a group + Variable length strings seem to be null terminated in the animation asset.. but.. + use with caution, home grown. + advances the index. - group to give money to - amount of L$ to give + The animation asset byte array + The offset to start reading + a string - + - Give L$ to a group + Read in a Joint from an animation asset byte array + Variable length Joint fields, yay! + Advances the index - group to give money to - amount of L$ to give - description of transaction + animation asset byte array + Byte Offset of the start of the joint + The Joint data serialized into the binBVHJoint structure - + - Pay texture/animation upload fee + Read Keyframes of a certain type + advance i + Animation Byte array + Offset in the Byte Array. Will be advanced + Number of Keyframes + Scaling Min to pass to the Uint16ToFloat method + Scaling Max to pass to the Uint16ToFloat method + + - + - Pay texture/animation upload fee + A Joint and it's associated meta data and keyframes - description of the transaction - + - Give Money to destination Object or Avatar + Name of the Joint. Matches the avatar_skeleton.xml in client distros - UUID of the Target Object/Avatar - Amount in L$ - Reason (Optional normally) - The type of transaction - Transaction flags, mostly for identifying group - transactions - + - Plays a gesture + Joint Animation Override? Was the same as the Priority in testing.. - Asset of the gesture - + - Mark gesture active + Array of Rotation Keyframes in order from earliest to latest - Inventory of the gesture - Asset of the gesture - + - Mark gesture inactive + Array of Position Keyframes in order from earliest to latest + This seems to only be for the Pelvis? - Inventory of the gesture - + - Send an AgentAnimation packet that toggles a single animation on + A Joint Keyframe. This is either a position or a rotation. - The of the animation to start playing - Whether to ensure delivery of this packet or not - + - Send an AgentAnimation packet that toggles a single animation off + Either a Vector3 position or a Vector3 Euler rotation - The of a - currently playing animation to stop playing - Whether to ensure delivery of this packet or not - + - Send an AgentAnimation packet that will toggle animations on or off + Poses set in the animation metadata for the hands. - A list of animation s, and whether to - turn that animation on or off - Whether to ensure delivery of this packet or not - + - Teleports agent to their stored home location + Wrapper around a byte array that allows bit to be packed and unpacked + one at a time or by a variable amount. Useful for very tightly packed + data like LayerData packets - true on successful teleport to home location - + - Teleport agent to a landmark + Default constructor, initialize the bit packer / bit unpacker + with a byte array and starting position - of the landmark to teleport agent to - true on success, false on failure + Byte array to pack bits in to or unpack from + Starting position in the byte array - + - Attempt to look up a simulator name and teleport to the discovered - destination - Region name to look up - Position to teleport to - True if the lookup and teleport were successful, otherwise - false - + - Attempt to look up a simulator name and teleport to the discovered - destination - Region name to look up - Position to teleport to - Target to look at - True if the lookup and teleport were successful, otherwise - false - + - Teleport agent to another region - handle of region to teleport agent to - position in destination sim to teleport to - true on success, false on failure - This call is blocking - + - Teleport agent to another region + Pack a floating point value in to the data - handle of region to teleport agent to - position in destination sim to teleport to - direction in destination sim agent will look at - true on success, false on failure - This call is blocking + Floating point value to pack - + - Request teleport to a another simulator + Pack part or all of an integer in to the data - handle of region to teleport agent to - position in destination sim to teleport to + Integer containing the data to pack + Number of bits of the integer to pack - + - Request teleport to a another simulator + Pack part or all of an unsigned integer in to the data - handle of region to teleport agent to - position in destination sim to teleport to - direction in destination sim agent will look at + Unsigned integer containing the data to pack + Number of bits of the integer to pack - + - Teleport agent to a landmark + Pack a single bit in to the data - of the landmark to teleport agent to + Bit to pack - + - Send a teleport lure to another avatar with default "Join me in ..." invitation message - target avatars to lure + + + + + + + + - + - Send a teleport lure to another avatar with custom invitation message - target avatars to lure - custom message to send with invitation + + - + - Respond to a teleport lure by either accepting it and initiating - the teleport, or denying it - of the avatar sending the lure - true to accept the lure, false to decline it + + - + - Update agent profile + Unpacking a floating point value from the data - struct containing updated - profile information + Unpacked floating point value - + - Update agents profile interests + Unpack a variable number of bits from the data in to integer format - selection of interests from struct + Number of bits to unpack + An integer containing the unpacked bits + This function is only useful up to 32 bits - + - Set the height and the width of the client window. This is used - by the server to build a virtual camera frustum for our avatar + Unpack a variable number of bits from the data in to unsigned + integer format - New height of the viewer window - New width of the viewer window + Number of bits to unpack + An unsigned integer containing the unpacked bits + This function is only useful up to 32 bits - + - Request the list of muted objects and avatars for this agent + Unpack a 16-bit signed integer + 16-bit signed integer - + - Sets home location to agents current position + Unpack a 16-bit unsigned integer - will fire an AlertMessage () with - success or failure message + 16-bit unsigned integer - + - Move an agent in to a simulator. This packet is the last packet - needed to complete the transition in to a new simulator + Unpack a 32-bit signed integer - Object + 32-bit signed integer - + - Reply to script permissions request + Unpack a 32-bit unsigned integer - Object - of the itemID requesting permissions - of the taskID requesting permissions - list of permissions to allow + 32-bit unsigned integer - + - Respond to a group invitation by either accepting or denying it + Capabilities is the name of the bi-directional HTTP REST protocol + used to communicate non real-time transactions such as teleporting or + group messaging - UUID of the group (sent in the AgentID field of the invite message) - IM Session ID from the group invitation message - Accept the group invitation or deny it - + - Requests script detection of objects and avatars + Default constructor - name of the object/avatar to search for - UUID of the object or avatar to search for - Type of search from ScriptSensorTypeFlags - range of scan (96 max?) - the arc in radians to search within - an user generated ID to correlate replies with - Simulator to perform search in + + + + - + - Create or update profile pick + Triggered when an event is received via the EventQueueGet + capability - UUID of the pick to update, or random UUID to create a new pick - Is this a top pick? (typically false) - UUID of the parcel (UUID.Zero for the current parcel) - Name of the pick - Global position of the pick landmark - UUID of the image displayed with the pick - Long description of the pick + Event name + Decoded event data + The simulator that generated the event - - - Delete profile pick - - UUID of the pick to delete + + Reference to the simulator this system is connected to - - - Create or update profile Classified - - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Global position of the classified landmark - Name of the classified - Long description of the classified - if true, auto renew classified after expiration + + Capabilities URI this system was initialized with - - - Create or update profile Classified - - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Name of the classified - Long description of the classified - if true, auto renew classified after expiration + + Whether the capabilities event queue is connected and + listening for incoming events - + - Delete a classified ad + Request the URI of a named capability - The classified ads ID + Name of the capability to request + The URI of the requested capability, or String.Empty if + the capability does not exist - + - Take an incoming ImprovedInstantMessage packet, auto-parse, and if - OnInstantMessage is defined call that with the appropriate arguments + Process any incoming events, check to see if we have a message created for the event, - The sender - The EventArgs object containing the packet data + + + + - + - Take an incoming Chat packet, auto-parse, and if OnChat is defined call - that with the appropriate arguments. + Attempts to convert an LLSD structure to a known Packet type - The sender - The EventArgs object containing the packet data + Event name, this must match an actual + packet name for a Packet to be successfully built + LLSD to convert to a Packet + A Packet on success, otherwise null - - - Used for parsing llDialogs - - The sender - The EventArgs object containing the packet data + + Origin position of this coordinate frame - + + X axis of this coordinate frame, or Forward/At in grid terms + + + Y axis of this coordinate frame, or Left in grid terms + + + Z axis of this coordinate frame, or Up in grid terms + + - Used for parsing llRequestPermissions dialogs - The sender - The EventArgs object containing the packet data + Looking direction, must be a normalized vector + Up direction, must be a normalized vector - + - Handles Script Control changes when Script with permissions releases or takes a control + Align the coordinate frame X and Y axis with a given rotation + around the Z axis in radians - The sender - The EventArgs object containing the packet data + Absolute rotation around the Z axis in + radians - + - Used for parsing llLoadURL Dialogs + Access to the data server which allows searching for land, events, people, etc - The sender - The EventArgs object containing the packet data - + - Update client's Position, LookAt and region handle from incoming packet + Constructs a new instance of the DirectoryManager class - The sender - The EventArgs object containing the packet data - This occurs when after an avatar moves into a new sim + An instance of GridClient - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Classified Ad categories - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Classified is listed in the Any category - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Classified is shopping related - + + Classified is + + - Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. - The Message Key - An IMessage object Deserialized from the recieved message event - The simulator originating the event message - + - Process TeleportFinish from Event Queue and pass it onto our TeleportHandler - The message system key for this event - IMessage object containing decoded data from OSD - The simulator originating the event message - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - + - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - This packet is now being sent via the EventQueue + + + - + - Group Chat event handler - The capability Key - IMessage object containing decoded data from OSD - - + + Event Categories + + - Response from request to join a group chat - - IMessage object containing decoded data from OSD - - + - Someone joined or left group chat - - IMessage object containing decoded data from OSD - - + - Handle a group chat Invitation - Caps Key - IMessage object containing decoded data from OSD - Originating Simulator - + - Moderate a chat session - the of the session to moderate, for group chats this will be the groups UUID - the of the avatar to moderate - Either "voice" to moderate users voice, or "text" to moderate users text session - true to moderate (silence user), false to allow avatar to speak - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Raised when a scripted object or agent within range sends a public message + + + - - Raised when a scripted object sends a dialog box containing possible - options an agent can respond to + + + - - Raised when an object requests a change in the permissions an agent has permitted + + + - - Raised when a script requests an agent open the specified URL + + + - - Raised when an agents currency balance is updated + + + Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. + Flags can be combined using the | (pipe) character, not all flags are available in all queries + - - Raised when a transaction occurs involving currency such as a land purchase + + Query the People database - - Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from - private messaging to friendship offers. The Dialog field defines what type of message has arrived + + + - - Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times - for each teleport indicating the progress of the request + + + - - Raised when a simulator sends agent specific information for our avatar. + + Query the Groups database - - Raised when our agents animation playlist changes + + Query the Events database - - Raised when an object or avatar forcefully collides with our agent + + Query the land holdings database for land owned by the currently connected agent - - Raised when our agent crosses a region border into another region + + + - - Raised when our agent succeeds or fails to join a group chat session + + Query the land holdings database for land which is owned by a Group - - Raised when our agent exits a group chat session + + Specifies the query should pre sort the results based upon traffic + when searching the Places database - - Raised when a simulator sends an urgent message usually indication the recent failure of - another action we have attempted to take such as an attempt to enter a parcel where we are denied access + + + - - Raised when a script attempts to take or release specified controls for our agent + + + - - Raised when the simulator detects our agent is trying to view something - beyond its limits + + + - - Raised when a script sensor reply is received from a simulator + + + - - Raised in response to a request + + Specifies the query should pre sort the results in an ascending order when searching the land sales database. + This flag is only used when searching the land sales database - - Raised when an avatar enters a group chat session we are participating in + + Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. + This flag is only used when searching the land sales database - - Raised when an agent exits a group chat session we are participating in + + Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. + This flag is only used when searching the land sales database - - Your (client) avatars - "client", "agent", and "avatar" all represent the same thing + + Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. + This flag is only used when searching the land sales database - - Temporary assigned to this session, used for - verifying our identity in packets + + Specifies the query should pre sort the results using the Name field when searching the land sales database. + This flag is only used when searching the land sales database - - Shared secret that is never sent over the wire + + When set, only parcels less than the specified Price will be included when searching the land sales database. + This flag is only used when searching the land sales database - - Your (client) avatar ID, local to the current region/sim + + When set, only parcels greater than the specified Size will be included when searching the land sales database. + This flag is only used when searching the land sales database - - Where the avatar started at login. Can be "last", "home" - or a login + + + - - The access level of this agent, usually M or PG + + + - - The CollisionPlane of Agent + + Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases - - An representing the velocity of our agent - - - An representing the acceleration of our agent - - - A which specifies the angular speed, and axis about which an Avatar is rotating. - - - Position avatar client will goto when login to 'home' or during - teleport request to 'home' region. - - - LookAt point saved/restored with HomePosition - - - Avatar First Name (i.e. Philip) - - - Avatar Last Name (i.e. Linden) - - - Avatar Full Name (i.e. Philip Linden) - - - Gets the health of the agent - - - Gets the current balance of the agent - - - Gets the local ID of the prim the agent is sitting on, - zero if the avatar is not currently sitting - - - Gets the of the agents active group. - - - Gets the Agents powers in the currently active group - - - Current status message for teleporting - - - Current position of the agent as a relative offset from - the simulator, or the parent object if we are sitting on something - - - Current rotation of the agent as a relative rotation from - the simulator, or the parent object if we are sitting on something + + Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases - - Current position of the agent in the simulator + + Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases - + - A representing the agents current rotation - - Returns the global grid position of the avatar - - - - Agent movement and camera control - - Agent movement is controlled by setting specific - After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags - This is most easily accomplished by setting one or more of the AgentMovement properties - - Movement of an avatar is always based on a compass direction, for example AtPos will move the - agent from West to East or forward on the X Axis, AtNeg will of course move agent from - East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis - The Z axis is Up, finer grained control of movements can be done using the Nudge properties - - - - Agent camera controls - - - Currently only used for hiding your group title - - - Action state of the avatar, which can currently be - typing and editing - - - - - - + + + Land types to search dataserver for + - - + + Search Auction, Mainland and Estate - - + + Land which is currently up for auction - - + + Parcels which are on the mainland (Linden owned) continents - - + + Parcels which are on privately owned simulators - - + + + The content rating of the event + - - + + Event is PG - - + + Event is Mature - - Timer for sending AgentUpdate packets + + Event is Adult - - Default constructor + + + Classified Ad Options + + There appear to be two formats the flags are packed in. + This set of flags is for the newer style - + - Send an AgentUpdate with the camera set at the current agent - position and pointing towards the heading specified - Camera rotation in radians - Whether to send the AgentUpdate reliable - or not - + - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar - Region coordinates to turn toward - + - Send new AgentUpdate packet to update our current camera - position and rotation - + - Send new AgentUpdate packet to update our current camera - position and rotation - Whether to require server acknowledgement - of this packet - + - Send new AgentUpdate packet to update our current camera - position and rotation - Whether to require server acknowledgement - of this packet - Simulator to send the update to - + - Builds an AgentUpdate packet entirely from parameters. This - will not touch the state of Self.Movement or - Self.Movement.Camera in any way + Classified ad query options - - - - - - - - - - - - - Move agent positive along the X axis + + Include all ads in results - - Move agent negative along the X axis + + Include PG ads in results - - Move agent positive along the Y axis + + Include Mature ads in results - - Move agent negative along the Y axis + + Include Adult ads in results - - Move agent positive along the Z axis + + + The For Sale flag in PlacesReplyData + - - Move agent negative along the Z axis + + Parcel is not listed for sale - - + + Parcel is For Sale - - + + + A classified ad on the grid + - - + + UUID for this ad, useful for looking up detailed + information about it - - + + The title of this classified ad - - + + Flags that show certain options applied to the classified - - + + Creation date of the ad - - + + Expiration date of the ad - - Causes simulator to make agent fly + + Price that was paid for this ad - - Stop movement + + Print the struct data as a string + A string containing the field name, and field value - - Finish animation + + + A parcel retrieved from the dataserver such as results from the + "For-Sale" listings or "Places" Search + - - Stand up from a sit + + The unique dataserver parcel ID + This id is used to obtain additional information from the entry + by using the method - - Tells simulator to sit agent on ground + + A string containing the name of the parcel - - Place agent into mouselook mode + + The size of the parcel + This field is not returned for Places searches - - Nudge agent positive along the X axis + + The price of the parcel + This field is not returned for Places searches - - Nudge agent negative along the X axis + + If True, this parcel is flagged to be auctioned - - Nudge agent positive along the Y axis + + If true, this parcel is currently set for sale - - Nudge agent negative along the Y axis + + Parcel traffic - - Nudge agent positive along the Z axis + + Print the struct data as a string + A string containing the field name, and field value - - Nudge agent negative along the Z axis + + + An Avatar returned from the dataserver + - - - - - - - - Tell simulator to mark agent as away + + Online status of agent + This field appears to be obsolete and always returns false - - + + The agents first name - - + + The agents last name - - + + The agents - - + + Print the struct data as a string + A string containing the field name, and field value - + - Returns "always run" value, or changes it by sending a SetAlwaysRunPacket + Response to a "Groups" Search - - The current value of the agent control flags + + The Group ID - - Gets or sets the interval in milliseconds at which - AgentUpdate packets are sent to the current simulator. Setting - this to a non-zero value will also enable the packet sending if - it was previously off, and setting it to zero will disable + + The name of the group - - Gets or sets whether AgentUpdate packets are sent to - the current simulator + + The current number of members - - Reset movement controls every time we send an update + + Print the struct data as a string + A string containing the field name, and field value - + - Camera controls for the agent, mostly a thin wrapper around - CoordinateFrame. This class is only responsible for state - tracking and math, it does not send any packets + Parcel information returned from a request + + Represents one of the following: + A parcel of land on the grid that has its Show In Search flag set + A parcel of land owned by the agent making the request + A parcel of land owned by a group the agent making the request is a member of + + In a request for Group Land, the First record will contain an empty record + + Note: This is not the same as searching the land for sale data source - - - - - The camera is a local frame of reference inside of - the larger grid space. This is where the math happens + + The ID of the Agent of Group that owns the parcel - - - Default constructor - + + The name - - + + The description - - + + The Size of the parcel - - + + The billable Size of the parcel, for mainland + parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller + than the ActualArea. For Estate land this will always be 0 - - + + Indicates the ForSale status of the parcel - - - Used to specify movement actions for your agent - + + The Gridwide X position - - Empty flag + + The Gridwide Y position - - Move Forward (SL Keybinding: W/Up Arrow) + + The Z position of the parcel, or 0 if no landing point set - - Move Backward (SL Keybinding: S/Down Arrow) + + The name of the Region the parcel is located in - - Move Left (SL Keybinding: Shift-(A/Left Arrow)) + + The Asset ID of the parcels Snapshot texture - - Move Right (SL Keybinding: Shift-(D/Right Arrow)) + + The calculated visitor traffic - - Not Flying: Jump/Flying: Move Up (SL Keybinding: E) + + The billing product SKU + Known values are: + 023Mainland / Full Region024Estate / Full Region027Estate / Openspace029Estate / Homestead129Mainland / Homestead (Linden Owned) - - Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) + + No longer used, will always be 0 - - Unused + + Get a SL URL for the parcel + A string, containing a standard SLURL - - Unused + + Print the struct data as a string + A string containing the field name, and field value - - Unused + + + An "Event" Listing summary + - - Unused + + The ID of the event creator - - ORed with AGENT_CONTROL_AT_* if the keyboard is being used + + The name of the event - - ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used + + The events ID - - ORed with AGENT_CONTROL_UP_* if the keyboard is being used + + A string containing the short date/time the event will begin - - Fly + + The event start time in Unixtime (seconds since epoch) - - + + The events maturity rating - - Finish our current animation + + Print the struct data as a string + A string containing the field name, and field value - - Stand up from the ground or a prim seat + + + The details of an "Event" + - - Sit on the ground at our current location + + The events ID - - Whether mouselook is currently enabled + + The ID of the event creator - - Legacy, used if a key was pressed for less than a certain amount of time + + The name of the event - - Legacy, used if a key was pressed for less than a certain amount of time + + The category - - Legacy, used if a key was pressed for less than a certain amount of time + + The events description - - Legacy, used if a key was pressed for less than a certain amount of time + + The short date/time the event will begin - - Legacy, used if a key was pressed for less than a certain amount of time + + The event start time in Unixtime (seconds since epoch) UTC adjusted - - Legacy, used if a key was pressed for less than a certain amount of time + + The length of the event in minutes - - + + 0 if no cover charge applies - - + + The cover charge amount in L$ if applicable - - Set when the avatar is idled or set to away. Note that the away animation is - activated separately from setting this flag + + The name of the region where the event is being held - - + + The gridwide location of the event - - + + The maturity rating - - + + Get a SL URL for the parcel where the event is hosted + A string, containing a standard SLURL - - + + Print the struct data as a string + A string containing the field name, and field value - - - Represents a single Voice Session to the Vivox service. - + + The event subscribers. null if no subcribers - - - Close this session. - + + Thread sync lock object - - - Look up an existing Participants in this session - - - + + The event subscribers. null if no subcribers - - Positional vector of the users position + + Thread sync lock object - - Velocity vector of the position + + The event subscribers. null if no subcribers - - At Orientation (X axis) of the position + + Thread sync lock object - - Up Orientation (Y axis) of the position + + The event subscribers. null if no subcribers - - Left Orientation (Z axis) of the position + + Thread sync lock object - - - The type of bump-mapping applied to a face - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raises the EventInfoReply event + An EventInfoReplyEventArgs object containing the + data returned from the data server - - + + Raises the DirEventsReply event + An DirEventsReplyEventArgs object containing the + data returned from the data server - - + + Raises the PlacesReply event + A PlacesReplyEventArgs object containing the + data returned from the data server - - - The level of shininess applied to a face - + + Raises the DirPlacesReply event + A DirPlacesReplyEventArgs object containing the + data returned from the data server - - + + Raises the DirClassifiedsReply event + A DirClassifiedsReplyEventArgs object containing the + data returned from the data server - - + + Raises the DirGroupsReply event + A DirGroupsReplyEventArgs object containing the + data returned from the data server - - + + Raises the DirPeopleReply event + A DirPeopleReplyEventArgs object containing the + data returned from the data server - - + + Raises the DirLandReply event + A DirLandReplyEventArgs object containing the + data returned from the data server - + - The texture mapping style used for a face + Query the data server for a list of classified ads containing the specified string. + Defaults to searching for classified placed in any category, and includes PG, Adult and Mature + results. + Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + The event is raised when a response is received from the simulator + A string containing a list of keywords to search for + A UUID to correlate the results when the event is raised - - - - - - - + - Flags in the TextureEntry block that describe which properties are - set + Query the data server for a list of classified ads which contain specified keywords (Overload) + The event is raised when a response is received from the simulator + A string containing a list of keywords to search for + The category to search + A set of flags which can be ORed to modify query options + such as classified maturity rating. + A UUID to correlate the results when the event is raised + + Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature + + UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); + + + Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - Abstract base for rendering plugins + Starts search for places (Overloaded) + The event is raised when a response is received from the simulator + Search text + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised - + - Generates a basic mesh structure from a primitive + Queries the dataserver for parcels of land which are flagged to be shown in search + The event is raised when a response is received from the simulator - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh + A string containing a list of keywords to search for separated by a space character + A set of flags which can be ORed to modify query options + such as classified maturity rating. + The category to search + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised + + Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult + + UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); + + + Additional information on the results can be obtained by using the ParcelManager.InfoRequest method + - + - Generates a a series of faces, each face containing a mesh and - metadata + Starts a search for land sales using the directory + The event is raised when a response is received from the simulator - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh + What type of land to search for. Auction, + estate, mainland, "first land", etc + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - + - Apply texture coordinate modifications from a - to a list of vertices + Starts a search for land sales using the directory + The event is raised when a response is received from the simulator - Vertex list to modify texture coordinates for - Center-point of the face - Face texture parameters + What type of land to search for. Auction, + estate, mainland, "first land", etc + Maximum price to search for + Maximum area to search for + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - + - Temporary code to produce a tar archive in tar v7 format + Send a request to the data server for land sales listings + Flags sent to specify query options + Available flags: + Specify the parcel rating with one or more of the following: + IncludePG IncludeMature IncludeAdult + Specify the field to pre sort the results with ONLY ONE of the following: + PerMeterSort NameSort AreaSort PricesSort + Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order + SortAsc + Specify additional filters to limit the results with one or both of the following: + LimitByPrice LimitByArea + Flags can be combined by separating them with the | (pipe) character + Additional details can be found in + What type of land to search for. Auction, + Estate or Mainland + Maximum price to search for when the + DirFindFlags.LimitByPrice flag is specified in findFlags + Maximum area to search for when the + DirFindFlags.LimitByArea flag is specified in findFlags + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + + The event will be raised with the response from the simulator + There is no way to determine how many results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each reply. + Any land set for sale to either anybody or specific to the connected agent will be included in the + results if the land is included in the query + + + + // request all mainland, any maturity rating that is larger than 512 sq.m + StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); + + - + - Binary writer for the underlying stream + Search for Groups + The name or portion of the name of the group you wish to search for + Start from the match number + + - + - Write a directory entry to the tar archive. We can only handle one path level right now! + Search for Groups - + The name or portion of the name of the group you wish to search for + Start from the match number + Search flags + + - + - Write a file to the tar archive + Search the People directory for other avatars - - + The name or portion of the name of the avatar you wish to search for + + + + - + - Write a file to the tar archive + Search Places for parcels of land you personally own - - - + - Finish writing the raw tar archive data to a stream. The stream will be closed on completion. + Searches Places for land owned by the specified group + ID of the group you want to recieve land list for (You must be a member of the group) + Transaction (Query) ID which can be associated with results from your request. - + - Write a particular entry + Search the Places directory for parcels that are listed in search and contain the specified keywords - - - + A string containing the keywords to search for + Transaction (Query) ID which can be associated with results from your request. - + - Temporary code to do the bare minimum required to read a tar archive for our purposes + Search Places - All Options + One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. + One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer + A string containing a list of keywords to search for separated by a space character + String Simulator Name to search in + LLUID of group you want to recieve results for + Transaction (Query) ID which can be associated with results from your request. + Transaction (Query) ID which can be associated with results from your request. - + - Binary reader for the underlying stream + Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + A string containing a list of keywords to search for separated by a space character + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + UUID of query to correlate results in callback. - + - Used to trim off null chars + Search Events + A string containing a list of keywords to search for separated by a space character + One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult + from the Enum + Multiple flags can be combined by separating the flags with the | (pipe) character + "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled + For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + EventCategory event is listed under. + UUID of query to correlate results in callback. - - - Used to trim off space chars - + + Requests Event Details + ID of Event returned from the method - - - Generate a tar reader which reads from the given stream. - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Read the next entry in the tar file. - - - - the data for the entry. Returns null if there are no more entries + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Read the next 512 byte chunk of data as a tar header. - - A tar header struct. null if we have reached the end of the archive. + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - - Read data following a header - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Convert octal bytes to a decimal representation - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Simulator (region) properties - + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - No flags set + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Agents can take damage and be killed + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Landmarks can be created here + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Home position can be set in this sim + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Home position is reset when an agent teleports away + + Contains the Event data returned from the data server from an EventInfoRequest - - Sun does not move + + Construct a new instance of the EventInfoReplyEventArgs class + A single EventInfo object containing the details of an event - - No object, land, etc. taxes + + + A single EventInfo object containing the details of an event + - - Disable heightmap alterations (agents can still plant - foliage) + + Contains the "Event" detail data returned from the data server - - Land cannot be released, sold, or purchased + + Construct a new instance of the DirEventsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Events" returned by the search query - - All content is wiped nightly + + The ID returned by - - Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) + + A list of "Events" returned by the data server - - Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. + + Contains the "Event" list data returned from the data server - - Region does not update agent prim interest lists. Internal debugging option. + + Construct a new instance of PlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Places" returned by the data server query - - No collision detection for non-agent objects + + The ID returned by - - No scripts are ran + + A list of "Places" returned by the data server - - All physics processing is turned off + + Contains the places data returned from the data server - - Region can be seen from other regions on world map. (Legacy world map option?) + + Construct a new instance of the DirPlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing land data returned by the data server - - Region can be seen from mainland on world map. (Legacy world map option?) + + The ID returned by - - Agents not explicitly on the access list can visit the region. + + A list containing Places data returned by the data server - - Traffic calculations are not run across entire region, overrides parcel settings. + + Contains the classified data returned from the data server - - Flight is disabled (not currently enforced by the sim) + + Construct a new instance of the DirClassifiedsReplyEventArgs class + A list of classified ad data returned from the data server - - Allow direct (p2p) teleporting + + A list containing Classified Ads returned by the data server - - Estate owner has temporarily disabled scripting + + Contains the group data returned from the data server - - Restricts the usage of the LSL llPushObject function, applies to whole region. + + Construct a new instance of the DirGroupsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of groups data returned by the data server - - Deny agents with no payment info on file + + The ID returned by - - Deny agents with payment info on file + + A list containing Groups data returned by the data server - - Deny agents who have made a monetary transaction + + Contains the people data returned from the data server - - Parcels within the region may be joined or divided by anyone, not just estate owners/managers. + + Construct a new instance of the DirPeopleReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of people data returned by the data server - - Abuse reports sent from within this region are sent to the estate owner defined email. + + The ID returned by - - Region is Voice Enabled + + A list containing People data returned by the data server - - Removes the ability from parcel owners to set their parcels to show in search. + + Contains the land sales data returned from the data server - - Deny agents who have not been age verified from entering the region. + + Construct a new instance of the DirLandReplyEventArgs class + A list of parcels for sale returned by the data server - + + A list containing land forsale data returned by the data server + + - Access level for a simulator + Represends individual HTTP Download request - - Minimum access level, no additional checks + + Default constructor - - Trial accounts allowed + + Constructor - - PG rating + + URI of the item to fetch - - Mature rating + + Timout specified in milliseconds - - Simulator is offline + + Download progress callback - - Simulator does not exist + + Download completed callback - - - - + + Accept the following content type - + - + Manages async HTTP downloads with a limit on maximum + concurrent downloads - - - Initialize the UDP packet handler in server mode - - Port to listening for incoming UDP packets on + + Default constructor - - - Initialize the UDP packet handler in client mode - - Remote UDP server to connect to + + Maximum number of parallel downloads from a single endpoint - - - - + + Client certificate - + + Cleanup method + + + Setup http download request + + + Check the queue for pending work + + + Enqueue a new HTPP download + + + Describes tasks returned in LandStatReply + + - + Estate level administration and utilities - + - + Constructor for EstateTools class + + - - A public reference to the client that this Simulator object - is attached to - - - A Unique Cache identifier for this simulator + + Used in the ReportType field of a LandStatRequest - - The capabilities for this simulator + + Used by EstateOwnerMessage packets - - + + Used by EstateOwnerMessage packets - - The current version of software this simulator is running + + + - - + + No flags set - - A 64x64 grid of parcel coloring values. The values stored - in this array are of the type + + Only return targets scripted objects - - + + Only return targets objects if on others land - - + + Returns target's scripted objects and objects on other parcels - - + + Ground texture settings for each corner of the region - - + + Used by GroundTextureHeightSettings - - + + The high and low texture thresholds for each corner of the sim - - + + Textures for each of the four terrain height levels - - + + Upper/lower texture boundaries for each corner of the sim - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - true if your agent has Estate Manager rights on this region + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - Statistics information for this simulator and the - connection to the simulator, calculated by the simulator itself - and the library + + Raised when the data server responds to a request. - - The regions Unique ID + + Raised when the data server responds to a request. - - The physical data center the simulator is located - Known values are: - - Dallas - Chandler - SF - - + + Raised when the data server responds to a request. - - The CPU Class of the simulator - Most full mainland/estate sims appear to be 5, - Homesteads and Openspace appear to be 501 + + Raised when the data server responds to a request. - - The number of regions sharing the same CPU as this one - "Full Sims" appear to be 1, Homesteads appear to be 4 + + Raised when the data server responds to a request. - - The billing product name - Known values are: - - Mainland / Full Region (Sku: 023) - Estate / Full Region (Sku: 024) - Estate / Openspace (Sku: 027) - Estate / Homestead (Sku: 029) - Mainland / Homestead (Sku: 129) (Linden Owned) - Mainland / Linden Homes (Sku: 131) - - + + Raised when the data server responds to a request. - - The billing product SKU - Known values are: - - 023 Mainland / Full Region - 024 Estate / Full Region - 027 Estate / Openspace - 029 Estate / Homestead - 129 Mainland / Homestead (Linden Owned) - 131 Linden Homes / Full Region - - + + Raised when the data server responds to a request. - - - A thread-safe dictionary containing avatars in a simulator - + + Raised when the data server responds to a request. - - - A thread-safe dictionary containing primitives in a simulator - + + Raises the TopCollidersReply event + A TopCollidersReplyEventArgs object containing the + data returned from the data server - - The current sequence number for packets sent to this - simulator. Must be Interlocked before modifying. Only - useful for applications manipulating sequence numbers + + Raises the TopScriptsReply event + A TopScriptsReplyEventArgs object containing the + data returned from the data server - - - Provides access to an internal thread-safe dictionary containing parcel - information found in this simulator - + + Raises the EstateUsersReply event + A EstateUsersReplyEventArgs object containing the + data returned from the data server - - - Checks simulator parcel map to make sure it has downloaded all data successfully - - true if map is full (contains no 0's) + + Raises the EstateGroupsReply event + A EstateGroupsReplyEventArgs object containing the + data returned from the data server - - Used internally to track sim disconnections + + Raises the EstateManagersReply event + A EstateManagersReplyEventArgs object containing the + data returned from the data server - - Event that is triggered when the simulator successfully - establishes a connection + + Raises the EstateBansReply event + A EstateBansReplyEventArgs object containing the + data returned from the data server - - Whether this sim is currently connected or not. Hooked up - to the property Connected + + Raises the EstateCovenantReply event + A EstateCovenantReplyEventArgs object containing the + data returned from the data server - - Coarse locations of avatars in this simulator + + Raises the EstateUpdateInfoReply event + A EstateUpdateInfoReplyEventArgs object containing the + data returned from the data server - - AvatarPositions key representing TrackAgent target + + + Requests estate information such as top scripts and colliders + + + + + + + + + - - Sequence numbers of packets we've received - (for duplicate checking) + + Requests estate settings, including estate manager and access/ban lists - - Packets we sent out that need ACKs from the simulator + + Requests the "Top Scripts" list for the current region - - Sequence number for pause/resume + + Requests the "Top Colliders" list for the current region - + - + Set several estate specific configuration variables - Reference to the GridClient object - IPEndPoint of the simulator - handle of the simulator + The Height of the waterlevel over the entire estate. Defaults to 20 + The maximum height change allowed above the baked terrain. Defaults to 4 + The minimum height change allowed below the baked terrain. Defaults to -4 + true to use + if True forces the sun position to the position in SunPosition + The current position of the sun on the estate, or when FixedSun is true the static position + the sun will remain. 6.0 = Sunrise, 30.0 = Sunset - + - Called when this Simulator object is being destroyed + Request return of objects owned by specified avatar + The Agents owning the primitives to return + specify the coverage and type of objects to be included in the return + true to perform return on entire estate - + - Attempt to connect to this simulator - Whether to move our agent in to this sim or not - True if the connection succeeded or connection status is - unknown, false if there was a failure + + + + - + - Disconnect from this simulator + Used for setting and retrieving various estate panel settings + EstateOwnerMessage Method field + List of parameters to include - + - Instructs the simulator to stop sending update (and possibly other) packets + Kick an avatar from an estate + Key of Agent to remove - + - Instructs the simulator to resume sending update packets (unpause) - + Ban an avatar from an estate + Key of Agent to remove + Ban user from this estate and all others owned by the estate owner - + + Unban an avatar from an estate + Key of Agent to remove + /// Unban user from this estate and all others owned by the estate owner + - Sends a packet + Send a message dialog to everyone in an entire estate - Packet to be sent + Message to send all users in the estate - + - + Send a message dialog to everyone in a simulator + Message to send all users in the simulator - + - Returns Simulator Name as a String + Send an avatar back to their home location - + Key of avatar to send home - + - + Begin the region restart process - - + - + Cancels a region restart - - - + + Estate panel "Region" tab settings + + + Estate panel "Debug" tab settings + + + Used for setting the region's terrain textures for its four height levels + + + + + + + + + + + Used for setting sim terrain texture heights + + + Requests the estate covenant + + - Sends out pending acknowledgements + Upload a terrain RAW file + A byte array containing the encoded terrain data + The name of the file being uploaded + The Id of the transfer request - + - Resend unacknowledged packets + Teleports all users home in current Estate - + - Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - + Remove estate manager + Key of Agent to Remove + removes manager to this estate and all others owned by the estate owner - - The IP address and port of the server + + + Add estate manager + Key of Agent to Add + Add agent as manager to this estate and all others owned by the estate owner - - Whether there is a working connection to the simulator or - not + + + Add's an agent to the estate Allowed list + Key of Agent to Add + Add agent as an allowed reisdent to All estates if true - - Coarse locations of avatars in this simulator + + + Removes an agent from the estate Allowed list + Key of Agent to Remove + Removes agent as an allowed reisdent from All estates if true - - AvatarPositions key representing TrackAgent target + + + Add's a group to the estate Allowed list + Key of Group to Add + Add Group as an allowed group to All estates if true - + - Simulator Statistics - + Removes a group from the estate Allowed list + Key of Group to Remove + Removes Group as an allowed Group from All estates if true - - Total number of packets sent by this simulator to this agent + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Total number of packets received by this simulator to this agent + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Total number of bytes sent by this simulator to this agent + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Total number of bytes received by this simulator to this agent + + Raised on LandStatReply when the report type is for "top colliders" - - Time in seconds agent has been connected to simulator + + Construct a new instance of the TopCollidersReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply - - Total number of packets that have been resent + + + The number of returned items in LandStatReply + - - Total number of resent packets recieved + + + A Dictionary of Object UUIDs to tasks returned in LandStatReply + - - Total number of pings sent to this simulator by this agent + + Raised on LandStatReply when the report type is for "top Scripts" - - Total number of ping replies sent to this agent by this simulator + + Construct a new instance of the TopScriptsReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply - + - Incoming bytes per second + The number of scripts returned in LandStatReply - It would be nice to have this claculated on the fly, but - this is far, far easier - + - Outgoing bytes per second + A Dictionary of Object UUIDs to tasks returned in LandStatReply - It would be nice to have this claculated on the fly, but - this is far, far easier - - Time last ping was sent - - - ID of last Ping sent + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateBansReplyEventArgs class + The estate's identifier on the grid + The number of returned items in LandStatReply + User UUIDs banned - - + + + The identifier of the estate + - - Current time dilation of this simulator + + + The number of returned itmes + - - Current Frames per second of simulator + + + List of UUIDs of Banned Users + - - Current Physics frames per second of simulator + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateUsersReplyEventArgs class + The estate's identifier on the grid + The number of users + Allowed users UUIDs - - + + + The identifier of the estate + - - + + + The number of returned items + - - + + + List of UUIDs of Allowed Users + - - + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateGroupsReplyEventArgs class + The estate's identifier on the grid + The number of Groups + Allowed Groups UUIDs - - + + + The identifier of the estate + - - + + + The number of returned items + - - Total number of objects Simulator is simulating + + + List of UUIDs of Allowed Groups + - - Total number of Active (Scripted) objects running + + Returned, along with other info, upon a successful .RequestInfo() - - Number of agents currently in this simulator + + Construct a new instance of the EstateManagersReplyEventArgs class + The estate's identifier on the grid + The number of Managers + Managers UUIDs - - Number of agents in neighbor simulators + + + The identifier of the estate + - - Number of Active scripts running in this simulator + + + The number of returned items + - - + + + List of UUIDs of the Estate's Managers + - - + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateCovenantReplyEventArgs class + The Covenant ID + The timestamp + The estate's name + The Estate Owner's ID (can be a GroupID) - - Number of downloads pending + + + The Covenant + - - Number of uploads pending + + + The timestamp + - - + + + The Estate name + - - + + + The Estate Owner's ID (can be a GroupID) + - - Number of local uploads pending + + Returned, along with other info, upon a successful .RequestInfo() - - Unacknowledged bytes in queue + + Construct a new instance of the EstateUpdateInfoReplyEventArgs class + The estate's name + The Estate Owners ID (can be a GroupID) + The estate's identifier on the grid + + - + - + The estate's name - - No report - - - Unknown report type + + + The Estate Owner's ID (can be a GroupID) + - - Bug report + + + The identifier of the estate on the grid + - - Complaint report + + + - - Customer service report + + + Registers, unregisters, and fires events generated by incoming packets + - + - Bitflag field for ObjectUpdateCompressed data blocks, describing - which options are present for each object + Default constructor + + - - Unknown + + + Object that is passed to worker threads in the ThreadPool for + firing packet callbacks + - - Whether the object has a TreeSpecies + + Callback to fire for this packet - - Whether the object has floating text ala llSetText + + Reference to the simulator that this packet came from - - Whether the object has an active particle system + + The packet that needs to be processed - - Whether the object has sound attached to it + + Reference to the GridClient object - - Whether the object is attached to a root object or not + + + Register an event handler + + Use PacketType.Default to fire this event on every + incoming packet + Packet type to register the handler for + Callback to be fired + True if this callback should be ran + asynchronously, false to run it synchronous - - Whether the object has texture animation settings + + + Unregister an event handler + + Packet type to unregister the handler for + Callback to be unregistered - - Whether the object has an angular velocity + + + Fire the events registered for this packet type + + Incoming packet type + Incoming packet + Simulator this packet was received from - - Whether the object has a name value pairs string + + + Registers, unregisters, and fires events generated by the Capabilities + event queue + - - Whether the object has a Media URL set + + + Default constructor + + Reference to the GridClient object - + - Specific Flags for MultipleObjectUpdate requests + Object that is passed to worker threads in the ThreadPool for + firing CAPS callbacks - - None + + Callback to fire for this packet - - Change position of prims + + Name of the CAPS event - - Change rotation of prims + + Strongly typed decoded data - - Change size of prims + + Reference to the simulator that generated this event - - Perform operation on link set + + Reference to the GridClient object - - Scale prims uniformly, same as selecing ctrl+shift in the - viewer. Used in conjunction with Scale + + + Register an new event handler for a capabilities event sent via the EventQueue + + Use String.Empty to fire this event on every CAPS event + Capability event name to register the + handler for + Callback to fire - + - Special values in PayPriceReply. If the price is not one of these - literal value of the price should be use + Unregister a previously registered capabilities handler + Capability event name unregister the + handler for + Callback to unregister - + - Indicates that this pay option should be hidden + Fire the events registered for this event type synchronously + Capability name + Decoded event body + Reference to the simulator that + generated this event - + - Indicates that this pay option should have the default value + Fire the events registered for this event type asynchronously + Capability name + Decoded event body + Reference to the simulator that + generated this event - + - Contains the variables sent in an object update packet for objects. - Used to track position and movement of prims and avatars - - + + The avatar has no rights - - + + The avatar can see the online status of the target avatar - - + + The avatar can see the location of the target avatar on the map - - + + The avatar can modify the ojects of the target avatar - - + + + This class holds information about an avatar in the friends list. There are two ways + to interface to this class. The first is through the set of boolean properties. This is the typical + way clients of this class will use it. The second interface is through two bitflag properties, + TheirFriendsRights and MyFriendsRights + - - + + + Used internally when building the initial list of friends at login time + + System ID of the avatar being prepesented + Rights the friend has to see you online and to modify your objects + Rights you have to see your friend online and to modify their objects - - + + + System ID of the avatar + - - + + + full name of the avatar + - - + + + True if the avatar is online + - - + + + True if the friend can see if I am online + - + - Handles all network traffic related to prims and avatar positions and - movement. + True if the friend can see me on the map - - The event subscribers, null of no subscribers + + + True if the freind can modify my objects + - - Raises the ObjectUpdate Event - A ObjectUpdateEventArgs object containing - the data sent from the simulator + + + True if I can see if my friend is online + - - Thread sync lock object + + + True if I can see if my friend is on the map + - - The event subscribers, null of no subscribers + + + True if I can modify my friend's objects + - - Raises the ObjectProperties Event - A ObjectPropertiesEventArgs object containing - the data sent from the simulator + + + My friend's rights represented as bitmapped flags + - - Thread sync lock object + + + My rights represented as bitmapped flags + - - The event subscribers, null of no subscribers + + + FriendInfo represented as a string + + A string reprentation of both my rights and my friends rights - - Raises the ObjectPropertiesUpdated Event - A ObjectPropertiesUpdatedEventArgs object containing - the data sent from the simulator + + + This class is used to add and remove avatars from your friends list and to manage their permission. + - - Thread sync lock object + + + Internal constructor + + A reference to the GridClient Object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the ObjectPropertiesFamily Event - A ObjectPropertiesFamilyEventArgs object containing - the data sent from the simulator + + Thread sync lock object - + + The event subscribers. null if no subcribers + + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the AvatarUpdate Event - A AvatarUpdateEventArgs object containing - the data sent from the simulator + + Thread sync lock object - + + The event subscribers. null if no subcribers + + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers + + + Thread sync lock object - - Raises the TerseObjectUpdate Event - A TerseObjectUpdateEventArgs object containing - the data sent from the simulator + + The event subscribers. null if no subcribers - + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the ObjectDataBlockUpdate Event - A ObjectDataBlockUpdateEventArgs object containing - the data sent from the simulator + + Thread sync lock object - + + The event subscribers. null if no subcribers + + Thread sync lock object - - The event subscribers, null of no subscribers + + + A dictionary of key/value pairs containing known friends of this avatar. + The Key is the of the friend, the value is a + object that contains detailed information including permissions you have and have given to the friend + - - Raises the KillObject Event - A KillObjectEventArgs object containing - the data sent from the simulator + + + A Dictionary of key/value pairs containing current pending frienship offers. + The key is the of the avatar making the request, + the value is the of the request which is used to accept + or decline the friendship offer + - - Thread sync lock object + + Raised when the simulator sends notification one of the members in our friends list comes online - - The event subscribers, null of no subscribers + + Raised when the simulator sends notification one of the members in our friends list goes offline - - Raises the AvatarSitChanged Event - A AvatarSitChangedEventArgs object containing - the data sent from the simulator + + Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions - - Thread sync lock object + + Raised when the simulator sends us the names on our friends list - - The event subscribers, null of no subscribers + + Raised when the simulator sends notification another agent is offering us friendship - - Raises the PayPriceReply Event - A PayPriceReplyEventArgs object containing - the data sent from the simulator + + Raised when a request we sent to friend another agent is accepted or declined - - Thread sync lock object + + Raised when the simulator sends notification one of the members in our friends list has terminated + our friendship - - Reference to the GridClient object + + Raised when the simulator sends the location of a friend we have + requested map location info for - - Does periodic dead reckoning calculation to convert - velocity and acceleration to new positions for objects + + Raises the FriendOnline event + A FriendInfoEventArgs object containing the + data returned from the data server - + + Raises the FriendOffline event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Raises the FriendRightsUpdate event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Raises the FriendNames event + A FriendNamesEventArgs object containing the + data returned from the data server + + + Raises the FriendshipOffered event + A FriendshipOfferedEventArgs object containing the + data returned from the data server + + + Raises the FriendshipResponse event + A FriendshipResponseEventArgs object containing the + data returned from the data server + + + Raises the FriendshipTerminated event + A FriendshipTerminatedEventArgs object containing the + data returned from the data server + + + Raises the FriendFoundReply event + A FriendFoundReplyEventArgs object containing the + data returned from the data server + + - Construct a new instance of the ObjectManager class + Accept a friendship request - A reference to the instance + agentID of avatatar to form friendship with + imSessionID of the friendship request message - + - Request information for a single object from a - you are currently connected to + Decline a friendship request - The the object is located - The Local ID of the object + + of friend + imSessionID of the friendship request message - + - Request information for multiple objects contained in - the same simulator + Overload: Offer friendship to an avatar. - The the objects are located - An array containing the Local IDs of the objects - - - - Attempt to purchase an original object, a copy, or the contents of - an object - - The the object is located - The Local ID of the object - Whether the original, a copy, or the object - contents are on sale. This is used for verification, if the this - sale type is not valid for the object the purchase will fail - Price of the object. This is used for - verification, if it does not match the actual price the purchase - will fail - Group ID that will be associated with the new - purchase - Inventory folder UUID where the object or objects - purchased should be placed - - - BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, - 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); - - + System ID of the avatar you are offering friendship to - + - Request prices that should be displayed in pay dialog. This will triggger the simulator - to send us back a PayPriceReply which can be handled by OnPayPriceReply event + Offer friendship to an avatar. - The the object is located - The ID of the object - The result is raised in the event + System ID of the avatar you are offering friendship to + A message to send with the request - + - Select a single object. This will cause the to send us - an which will raise the event + Terminate a friendship with an avatar - The the object is located - The Local ID of the object - + System ID of the avatar you are terminating the friendship with - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + - Select a single object. This will cause the to send us - an which will raise the event + Change the rights of a friend avatar. - The the object is located - The Local ID of the object - if true, a call to is - made immediately following the request - + the of the friend + the new rights to give the friend + This method will implicitly set the rights to those passed in the rights parameter. - + - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - Should objects be deselected immediately after selection - + Use to map a friends location on the grid. + + Friends UUID to find + + + - + - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - + Use to track a friends movement on the grid + + Friends Key - + - Update the properties of an object + Ask for a notification of friend's online status - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on + Friend's UUID - + - Sets the sale properties of a single object + This handles the asynchronous response of a RequestAvatarNames call. - The the object is located - The Local ID of the object - One of the options from the enum - The price of the object + + + names cooresponding to the the list of IDs sent the the RequestAvatarNames call. - - - Sets the sale properties of multiple objects - - The the objects are located - An array containing the Local IDs of the objects - One of the options from the enum - The price of the object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Deselect a single object - - The the object is located - The Local ID of the object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Deselect multiple objects. - - The the objects are located - An array containing the Local IDs of the objects + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Perform a click action on an object - - The the object is located - The Local ID of the object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Perform a click action (Grab) on a single object + Populate FriendList with data from the login reply - The the object is located - The Local ID of the object - The texture coordinates to touch - The surface coordinates to touch - The face of the position to touch - The region coordinates of the position to touch - The surface normal of the position to touch (A normal is a vector perpindicular to the surface) - The surface binormal of the position to touch (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space + true if login was successful + true if login request is requiring a redirect + A string containing the response to the login request + A string containing the reason for the request + A object containing the decoded + reply from the login server - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + + Contains information on a member of our friends list - + - Create (rez) a new prim object in a simulator + Construct a new instance of the FriendInfoEventArgs class - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Specify the - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + The FriendInfo - - - Rez a Linden tree - - A reference to the object where the object resides - The size of the tree - The rotation of the tree - The position of the tree - The Type of tree - The of the group to set the tree to, - or UUID.Zero if no group is to be set - true to use the "new" Linden trees, false to use the old + + Get the FriendInfo - - - Rez grass and ground cover - - A reference to the object where the object resides - The size of the grass - The rotation of the grass - The position of the grass - The type of grass from the enum - The of the group to set the tree to, - or UUID.Zero if no group is to be set + + Contains Friend Names - + - Set the textures to apply to the faces of an object + Construct a new instance of the FriendNamesEventArgs class - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - A media URL (not used) + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - - Set the Light data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + Sent when another agent requests a friendship with our agent - + - Set the flexible data on an object + Construct a new instance of the FriendshipOfferedEventArgs class - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + The ID of the agent requesting friendship + The name of the agent requesting friendship + The ID of the session, used in accepting or declining the + friendship offer - - - Set the sculptie texture and data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + Get the ID of the agent requesting friendship - - - Unset additional primitive parameters on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The extra parameters to set + + Get the name of the agent requesting friendship - - - Link multiple prims into a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to link - The last object in the array will be the root object of the linkset TODO: Is this true? + + Get the ID of the session, used in accepting or declining the + friendship offer - - - Change the rotation of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation of the object + + A response containing the results of our request to form a friendship with another agent - + - Set the name of an object + Construct a new instance of the FriendShipResponseEventArgs class - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new name of the object + The ID of the agent we requested a friendship with + The name of the agent we requested a friendship with + true if the agent accepted our friendship offer - - - Set the name of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the name of - An array which contains the new names of the objects + + Get the ID of the agent we requested a friendship with - - - Set the description of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new description of the object + + Get the name of the agent we requested a friendship with - + + true if the agent accepted our friendship offer + + + Contains data sent when a friend terminates a friendship with us + + - Set the descriptions of multiple objects + Construct a new instance of the FrindshipTerminatedEventArgs class - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the description of - An array which contains the new descriptions of the objects + The ID of the friend who terminated the friendship with us + The name of the friend who terminated the friendship with us - + + Get the ID of the agent that terminated the friendship with us + + + Get the name of the agent that terminated the friendship with us + + - Attach an object to this avatar + Data sent in response to a request which contains the information to allow us to map the friends location - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The point on the avatar the object will be attached - The rotation of the attached object - + - Drop an attached object from this avatar + Construct a new instance of the FriendFoundReplyEventArgs class - A reference to the - object where the objects reside. This will always be the simulator the avatar is currently in - - The object's ID which is local to the simulator the object is in + The ID of the agent we have requested location information for + The region handle where our friend is located + The simulator local position our friend is located - + + Get the ID of the agent we have received location information for + + + Get the region handle where our mapped friend is located + + + Get the simulator local position where our friend is located + + - Detach an object from yourself + Main class to expose grid functionality to clients. All of the + classes needed for sending and receiving data are accessible through + this class. - A reference to the - object where the objects reside - - This will always be the simulator the avatar is currently in - - An array which contains the IDs of the objects to detach + + + // Example minimum code required to instantiate class and + // connect to a simulator. + using System; + using System.Collections.Generic; + using System.Text; + using OpenMetaverse; + namespace FirstBot + { + class Bot + { + public static GridClient Client; + static void Main(string[] args) + { + Client = new GridClient(); // instantiates the GridClient class + // to the global Client object + // Login to Simulator + Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); + // Wait for a Keypress + Console.ReadLine(); + // Logout of simulator + Client.Network.Logout(); + } + } + } + + - + - Change the position of an object, Will change position of entire linkset + Default constructor - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - + + Networking subsystem + + + Settings class including constant values and changeable + parameters for everything + + + Parcel (subdivided simulator lots) subsystem + + + Our own avatars subsystem + + + Other avatars subsystem + + + Estate subsystem + + + Friends list subsystem + + + Grid (aka simulator group) subsystem + + + Object subsystem + + + Group subsystem + + + Asset subsystem + + + Appearance subsystem + + + Inventory subsystem + + + Directory searches including classifieds, people, land + sales, etc + + + Handles land, wind, and cloud heightmaps + + + Handles sound-related networking + + + Throttling total bandwidth usage, or allocating bandwidth + for specific data stream types + + - Change the position of an object + Return the full name of this instance - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - if true, will change position of (this) child prim only, not entire linkset + Client avatars full name - + - Change the Scale (size) of an object + Map layer request type - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change scale of this prim only, not entire linkset - True to resize prims uniformly - + + Objects and terrain are shown + + + Only the terrain is shown, no objects + + + Overlay showing land for sale and for auction + + - Change the Rotation of an object that is either a child or a whole linkset + Type of grid item, such as telehub, event, populator location, etc. - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change rotation of this prim only, not entire linkset - + + Telehub + + + PG rated event + + + Mature rated event + + + Popular location + + + Locations of avatar groups in a region + + + Land for sale + + + Classified ad + + + Adult rated event + + + Adult land for sale + + - Send a Multiple Object Update packet to change the size, scale or rotation of a primitive + Information about a region on the grid map - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation, size, or position of the target object - The flags from the Enum - + + Sim X position on World Map + + + Sim Y position on World Map + + + Sim Name (NOTE: In lowercase!) + + - Deed an object (prim) to a group, Object must be shared with group which - can be accomplished with SetPermissions() - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The of the group to deed the object to - + + Appears to always be zero (None) + + + Sim's defined Water Height + + - Deed multiple objects (prims) to a group, Objects must be shared with group which - can be accomplished with SetPermissions() - A reference to the object where the object resides - An array which contains the IDs of the objects to deed - The of the group to deed the object to - + + UUID of the World Map image + + + Unique identifier for this region, a combination of the X + and Y position + + - Set the permissions on multiple objects - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the permissions on - The new Who mask to set - The new Permissions mark to set - TODO: What does this do? + + - + - Request additional properties for an object - A reference to the object where the object resides - + + - + - Request additional properties for an object - A reference to the object where the object resides - Absolute UUID of the object - Whether to require server acknowledgement of this request + + + + - + - Set the ownership of a list of objects to the specified group + Visual chunk of the grid map - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the group id on - The Groups ID - + - Update current URL of the previously set prim media + Base class for Map Items - UUID of the prim - Set current URL to this - Prim face number - Simulator in which prim is located - + + The Global X position of the item + + + The Global Y position of the item + + + Get the Local X position of the item + + + Get the Local Y position of the item + + + Get the Handle of the region + + - Set object media + Represents an agent or group of agents location - UUID of the prim - Array the length of prims number of faces. Null on face indexes where there is - no media, on faces which contain the media - Simulatior in which prim is located - + - Retrieve information about object media + Represents a Telehub location - UUID of the primitive - Simulator where prim is located - Call this callback when done - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - + - A terse object update, used when a transformation matrix or - velocity/acceleration for an object changes but nothing else - (scale/position/rotation/acceleration/velocity) + Represents a non-adult parcel of land for sale - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - + - Setup construction data for a basic primitive shape + Represents an Adult parcel of land for sale - Primitive shape to construct - Construction data that can be plugged into a - + - + Represents a PG Event - - - - - + - + Represents a Mature event - - - + - Set the Shape data of an object + Represents an Adult event - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - Data describing the prim shape - + - Set the Material data of an object + Manages grid-wide tasks such as the world map - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new material of the object - + - + Constructor - - - - + Instance of GridClient object to associate with this GridManager instance - - - - - - - - + + The event subscribers. null if no subcribers - - Raised when the simulator sends us data containing - A , Foliage or Attachment - - + + Thread sync lock object - - Raised when the simulator sends us data containing - additional information - - + + The event subscribers. null if no subcribers - - Raised when the simulator sends us data containing - Primitive.ObjectProperties for an object we are currently tracking + + Thread sync lock object - - Raised when the simulator sends us data containing - additional and details - + + The event subscribers. null if no subcribers - - Raised when the simulator sends us data containing - updated information for an + + Thread sync lock object - - Raised when the simulator sends us data containing - and movement changes + + The event subscribers. null if no subcribers - - Raised when the simulator sends us data containing - updates to an Objects DataBlock + + Thread sync lock object - - Raised when the simulator informs us an - or is no longer within view + + The event subscribers. null if no subcribers - - Raised when the simulator sends us data containing - updated sit information for our + + Thread sync lock object - - Raised when the simulator sends us data containing - purchase price information for a + + A dictionary of all the regions, indexed by region name - - - Callback for getting object media data via CAP - - Indicates if the operation was succesfull - Object media version string - Array indexed on prim face of media entry data + + A dictionary of all the regions, indexed by region handle - - Provides data for the event - The event occurs when the simulator sends - an containing a Primitive, Foliage or Attachment data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or - if an Avatar crosses the border into a new simulator and returns to the current simulator - - - The following code example uses the , , and - properties to display new Primitives and Attachments on the window. - - // Subscribe to the event that gives us prim and foliage information - Client.Objects.ObjectUpdate += Objects_ObjectUpdate; - - - private void Objects_ObjectUpdate(object sender, PrimEventArgs e) - { - Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); - } - - - - - + + Raised when the simulator sends a + containing the location of agents in the simulator - - - Construct a new instance of the PrimEventArgs class - - The simulator the object originated from - The Primitive - The simulator time dilation - The prim was not in the dictionary before this update - true if the primitive represents an attachment to an agent + + Raised when the simulator sends a Region Data in response to + a Map request - - Get the simulator the originated from + + Raised when the simulator sends GridLayer object containing + a map tile coordinates and texture information - - Get the details + + Raised when the simulator sends GridItems object containing + details on events, land sales at a specific location - - true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) + + Raised in response to a Region lookup - - true if the is attached to an + + Unknown - - Get the simulator Time Dilation + + Current direction of the sun - - Provides data for the event - The event occurs when the simulator sends - an containing Avatar data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator - - - The following code example uses the property to make a request for the top picks - using the method in the class to display the names - of our own agents picks listings on the window. - - // subscribe to the AvatarUpdate event to get our information - Client.Objects.AvatarUpdate += Objects_AvatarUpdate; - Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; - - private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) - { - // we only want our own data - if (e.Avatar.LocalID == Client.Self.LocalID) - { - // Unsubscribe from the avatar update event to prevent a loop - // where we continually request the picks every time we get an update for ourselves - Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; - // make the top picks request through AvatarManager - Client.Avatars.RequestAvatarPicks(e.Avatar.ID); - } - } - - private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) - { - // we'll unsubscribe from the AvatarPicksReply event since we now have the data - // we were looking for - Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; - // loop through the dictionary and extract the names of the top picks from our profile - foreach (var pickName in e.Picks.Values) - { - Console.WriteLine(pickName); - } - } - - - - + + Current angular velocity of the sun - - - Construct a new instance of the AvatarUpdateEventArgs class - - The simulator the packet originated from - The data - The simulator time dilation - The avatar was not in the dictionary before this update + + Current world time - - Get the simulator the object originated from + + Raises the CoarseLocationUpdate event + A CoarseLocationUpdateEventArgs object containing the + data sent by simulator - - Get the data + + Raises the GridRegion event + A GridRegionEventArgs object containing the + data sent by simulator - - Get the simulator time dilation + + Raises the GridLayer event + A GridLayerEventArgs object containing the + data sent by simulator - - true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) + + Raises the GridItems event + A GridItemEventArgs object containing the + data sent by simulator - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment data - The event is also raised when a request is - made. - - - The following code example uses the , and - - properties to display new attachments and send a request for additional properties containing the name of the - attachment then display it on the window. - - // Subscribe to the event that provides additional primitive details - Client.Objects.ObjectProperties += Objects_ObjectProperties; - - // handle the properties data that arrives - private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) - { - Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); - } - - + + Raises the RegionHandleReply event + A RegionHandleReplyEventArgs object containing the + data sent by simulator - + - Construct a new instance of the ObjectPropertiesEventArgs class - The simulator the object is located - The primitive Properties + + - - Get the simulator the object is located + + + Request a map layer + + The name of the region + The type of layer - - Get the primitive properties + + + + + + + + + + + + + + + - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive or Foliage data that is currently - being tracked in the dictionary - The event is also raised when a request is - made and is enabled - + + + + + + + + + + + + + - + - Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class - - The simulator the object is located - The Primitive - The primitive Properties + + + + + + + - - Get the simulator the object is located + + + Request data for all mainland (Linden managed) simulators + - - Get the primitive details + + + Request the region handle for the specified region UUID + + UUID of the region to look up - - Get the primitive properties + + + Get grid region information using the region name, this function + will block until it can find the region or gives up + + Name of sim you're looking for + Layer that you are requesting + Will contain a GridRegion for the sim you're + looking for if successful, otherwise an empty structure + True if the GridRegion was successfully fetched, otherwise + false - - Provides additional primitive data, permissions and sale info for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment. This includes - Permissions, Sale info, and other basic details on an object - The event is also raised when a request is - made, the viewer equivalent is hovering the mouse cursor over an object - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Get the simulator the object is located + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Provides primitive data containing updated location, velocity, rotation, textures for the event - The event occurs when the simulator sends updated location, velocity, rotation, etc - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Get the simulator the object is located + + + Avatar group management + - - Get the primitive details + + Key of Group Member - - + + Total land contribution - - + + Online status information - + + Abilities that the Group Member has + + + Current group title + + + Is a group owner + + - + Role manager for a group - - Get the simulator the object is located + + Key of the group - - Get the primitive details + + Key of Role - - + + Name of Role - - + + Group Title associated with Role - - + + Description of Role - - + + Abilities Associated with Role - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event + + Returns the role's title + The role's title - - Get the simulator the object is located + + + Class to represent Group Title + - - The LocalID of the object + + Key of the group - + + ID of the role title belongs to + + + Group Title + + + Whether title is Active + + + Returns group title + + - Provides updates sit position data + Represents a group on the grid - - Get the simulator the object is located + + Key of Group - - + + Key of Group Insignia - - + + Key of Group Founder - - + + Key of Group Role for Owners - + + Name of Group + + + Text of Group Charter + + + Title of "everyone" role + + + Is the group open for enrolement to everyone + + + Will group show up in search + + - - - Get the simulator the object is located + + + - - + + + - - + + Is the group Mature - - + + Cost of group membership - + - Indicates if the operation was successful - + - Media version string - + + The total number of current members this group has + + + The number of roles this group has configured + + + Show this group in agent's profile + + + Returns the name of the group + A string containing the name of the group + + - Array of media entries indexed by face number + A group Vote - + + Key of Avatar who created Vote + + + Text of the Vote proposal + + + Total number of votes + + - Singleton logging class for the entire library + A group proposal - - log4net logging engine + + The Text of the proposal + + + The minimum number of members that must vote before proposal passes or failes + + + The required ration of yes/no votes required for vote to pass + The three options are Simple Majority, 2/3 Majority, and Unanimous + TODO: this should be an enum + + The duration in days votes are accepted - + - Default constructor - + - Send a log message to the logging engine - The log message - The severity of the log entry - + - Send a log message to the logging engine - The log message - The severity of the log entry - Instance of the client - + - Send a log message to the logging engine - The log message - The severity of the log entry - Exception that was raised - + - Send a log message to the logging engine - The log message - The severity of the log entry - Instance of the client - Exception that was raised - + - If the library is compiled with DEBUG defined, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - The message to log at the DEBUG level to the - current logging engine - + - If the library is compiled with DEBUG defined and - GridClient.Settings.DEBUG is true, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - The message to log at the DEBUG level to the - current logging engine - Instance of the client - - Triggered whenever a message is logged. If this is left - null, log messages will go to the console - - + - Callback used for client apps to receive log messages from - the library - Data being logged - The severity of the log entry from - + - - + - - - + - De-serialization constructor for the InventoryNode Class - + - Serialization handler for the InventoryNode Class - + - De-serialization handler for the InventoryNode Class - + - - - - - - - - - - - - - - - + - For inventory folder nodes specifies weather the folder needs to be - refreshed from the server - + - Exception class to identify inventory exceptions - + - Responsible for maintaining inventory structure. Inventory constructs nodes - and manages node children as is necessary to maintain a coherant hirarchy. - Other classes should not manipulate or create InventoryNodes explicitly. When - A node's parent changes (when a folder is moved, for example) simply pass - Inventory the updated InventoryFolder and it will make the appropriate changes - to its internal representation. - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectUpdated Event - A InventoryObjectUpdatedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectRemoved Event - A InventoryObjectRemovedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the InventoryObjectAdded Event - A InventoryObjectAddedEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + Struct representing a group notice + - + - Returns the contents of the specified folder - A folder's UUID - The contents of the folder corresponding to folder - When folder does not exist in the inventory - + - Updates the state of the InventoryNode and inventory data structure that - is responsible for the InventoryObject. If the item was previously not added to inventory, - it adds the item, and updates structure accordingly. If it was, it updates the - InventoryNode, changing the parent node if item.parentUUID does - not match node.Parent.Data.UUID. - - You can not set the inventory root folder using this method - The InventoryObject to store - + - Removes the InventoryObject and all related node data from Inventory. - The InventoryObject to remove. - + - Used to find out if Inventory contains the InventoryObject - specified by uuid. - The UUID to check. - true if inventory contains uuid, false otherwise - + - Saves the current inventory structure to a cache file - Name of the cache file to save to + + - + - Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + Struct representing a group notice list entry - Name of the cache file to load - The number of inventory items sucessfully reconstructed into the inventory node tree - - Raised when the simulator sends us data containing - ... + + Notice ID - - Raised when the simulator sends us data containing - ... + + Creation timestamp of notice - - Raised when the simulator sends us data containing - ... + + Agent name who created notice - + + Notice subject + + + Is there an attachment? + + + Attachment Type + + - The root folder of this avatars inventory + Struct representing a member of a group chat session and their settings - + + The of the Avatar + + + True if user has voice chat enabled + + + True of Avatar has moderator abilities + + + True if a moderator has muted this avatars chat + + + True if a moderator has muted this avatars voice + + - The default shared library folder + Role update flags - + - The root node of the avatars inventory - + - The root node of the default shared library - + - By using the bracket operator on this class, the program can get the - InventoryObject designated by the specified uuid. If the value for the corresponding - UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). - If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), - the uuid parameter is ignored. - The UUID of the InventoryObject to get or set, ignored if set to non-null value. - The InventoryObject corresponding to uuid. - - - Describes tasks returned in LandStatReply - + - Estate level administration and utilities - - Textures for each of the four terrain height levels + + + - - Upper/lower texture boundaries for each corner of the sim + + + - + - Constructor for EstateTools class - - - The event subscribers. null if no subcribers + + Can send invitations to groups default role - - Raises the TopCollidersReply event - A TopCollidersReplyEventArgs object containing the - data returned from the data server + + Can eject members from group - - Thread sync lock object + + Can toggle 'Open Enrollment' and change 'Signup fee' - - The event subscribers. null if no subcribers + + Member is visible in the public member list - - Raises the TopScriptsReply event - A TopScriptsReplyEventArgs object containing the - data returned from the data server + + Can create new roles - - Thread sync lock object + + Can delete existing roles - - The event subscribers. null if no subcribers + + Can change Role names, titles and descriptions - - Raises the EstateUsersReply event - A EstateUsersReplyEventArgs object containing the - data returned from the data server + + Can assign other members to assigners role - - Thread sync lock object + + Can assign other members to any role - - The event subscribers. null if no subcribers + + Can remove members from roles - - Raises the EstateGroupsReply event - A EstateGroupsReplyEventArgs object containing the - data returned from the data server + + Can assign and remove abilities in roles - - Thread sync lock object + + Can change group Charter, Insignia, 'Publish on the web' and which + members are publicly visible in group member listings - - The event subscribers. null if no subcribers + + Can buy land or deed land to group - - Raises the EstateManagersReply event - A EstateManagersReplyEventArgs object containing the - data returned from the data server + + Can abandon group owned land to Governor Linden on mainland, or Estate owner for + private estates - - Thread sync lock object + + Can set land for-sale information on group owned parcels - - The event subscribers. null if no subcribers + + Can subdivide and join parcels - - Raises the EstateBansReply event - A EstateBansReplyEventArgs object containing the - data returned from the data server + + Can join group chat sessions - - Thread sync lock object + + Can use voice chat in Group Chat sessions - - The event subscribers. null if no subcribers + + Can moderate group chat sessions - - Raises the EstateCovenantReply event - A EstateCovenantReplyEventArgs object containing the - data returned from the data server + + Can toggle "Show in Find Places" and set search category - - Thread sync lock object + + Can change parcel name, description, and 'Publish on web' settings - - The event subscribers. null if no subcribers + + Can set the landing point and teleport routing on group land - - Raises the EstateUpdateInfoReply event - A EstateUpdateInfoReplyEventArgs object containing the - data returned from the data server + + Can change music and media settings - - Thread sync lock object + + Can toggle 'Edit Terrain' option in Land settings - - - Requests estate information such as top scripts and colliders - - - - - + + Can toggle various About Land > Options settings - - Requests estate settings, including estate manager and access/ban lists + + Can always terraform land, even if parcel settings have it turned off - - Requests the "Top Scripts" list for the current region + + Can always fly while over group owned land - - Requests the "Top Colliders" list for the current region + + Can always rez objects on group owned land - - - Set several estate specific configuration variables - - The Height of the waterlevel over the entire estate. Defaults to 20 - The maximum height change allowed above the baked terrain. Defaults to 4 - The minimum height change allowed below the baked terrain. Defaults to -4 - true to use - if True forces the sun position to the position in SunPosition - The current position of the sun on the estate, or when FixedSun is true the static position - the sun will remain. 6.0 = Sunrise, 30.0 = Sunset + + Can always create landmarks for group owned parcels - - - Request return of objects owned by specified avatar - - The Agents owning the primitives to return - specify the coverage and type of objects to be included in the return - true to perform return on entire estate + + Can set home location on any group owned parcel - - - - + + Can modify public access settings for group owned parcels - - - Used for setting and retrieving various estate panel settings - - EstateOwnerMessage Method field - List of parameters to include + + Can manager parcel ban lists on group owned land - - - Kick an avatar from an estate - - Key of Agent to remove + + Can manage pass list sales information - - - Ban an avatar from an estate - Key of Agent to remove - Ban user from this estate and all others owned by the estate owner + + Can eject and freeze other avatars on group owned land - - Unban an avatar from an estate - Key of Agent to remove - /// Unban user from this estate and all others owned by the estate owner + + Can return objects set to group - - - Send a message dialog to everyone in an entire estate - - Message to send all users in the estate + + Can return non-group owned/set objects - - - Send a message dialog to everyone in a simulator - - Message to send all users in the simulator + + Can return group owned objects - - - Send an avatar back to their home location - - Key of avatar to send home + + Can landscape using Linden plants - - - Begin the region restart process - + + Can deed objects to group - - - Cancels a region restart - + + Can move group owned objects - - Estate panel "Region" tab settings + + Can set group owned objects for-sale - - Estate panel "Debug" tab settings + + Pay group liabilities and receive group dividends - - Used for setting the region's terrain textures for its four height levels - - - - + + Can send group notices - - Used for setting sim terrain texture heights + + Can receive group notices - - Requests the estate covenant + + Can create group proposals - + + Can vote on group proposals + + - Upload a terrain RAW file + Handles all network traffic related to reading and writing group + information - A byte array containing the encoded terrain data - The name of the file being uploaded - The Id of the transfer request - + - Teleports all users home in current Estate + Construct a new instance of the GroupManager class + A reference to the current instance - - - Remove estate manager - Key of Agent to Remove - removes manager to this estate and all others owned by the estate owner + + The event subscribers. null if no subcribers - - - Add estate manager - Key of Agent to Add - Add agent as manager to this estate and all others owned by the estate owner + + Thread sync lock object - - - Add's an agent to the estate Allowed list - Key of Agent to Add - Add agent as an allowed reisdent to All estates if true + + The event subscribers. null if no subcribers - - - Removes an agent from the estate Allowed list - Key of Agent to Remove - Removes agent as an allowed reisdent from All estates if true + + Thread sync lock object - - - - Add's a group to the estate Allowed list - Key of Group to Add - Add Group as an allowed group to All estates if true + + The event subscribers. null if no subcribers - - - - Removes a group from the estate Allowed list - Key of Group to Remove - Removes Group as an allowed Group from All estates if true + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Raised when the data server responds to a request. + + Thread sync lock object - - Raised when the data server responds to a request. + + The event subscribers. null if no subcribers - - Raised when the data server responds to a request. + + Thread sync lock object - - Raised when the data server responds to a request. + + The event subscribers. null if no subcribers - - Raised when the data server responds to a request. + + Thread sync lock object - - Raised when the data server responds to a request. + + The event subscribers. null if no subcribers - - Raised when the data server responds to a request. + + Thread sync lock object - - Raised when the data server responds to a request. + + The event subscribers. null if no subcribers - - Used in the ReportType field of a LandStatRequest + + Thread sync lock object - - Used by EstateOwnerMessage packets + + The event subscribers. null if no subcribers - - Used by EstateOwnerMessage packets + + Thread sync lock object - - - - + + The event subscribers. null if no subcribers - - No flags set + + Thread sync lock object - - Only return targets scripted objects + + The event subscribers. null if no subcribers - - Only return targets objects if on others land + + Thread sync lock object - - Returns target's scripted objects and objects on other parcels + + The event subscribers. null if no subcribers - - Ground texture settings for each corner of the region + + Thread sync lock object - - Used by GroundTextureHeightSettings + + The event subscribers. null if no subcribers - - The high and low texture thresholds for each corner of the sim + + Thread sync lock object - - Raised on LandStatReply when the report type is for "top colliders" + + The event subscribers. null if no subcribers - - Construct a new instance of the TopCollidersReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + Thread sync lock object - - - The number of returned items in LandStatReply - + + A reference to the current instance - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - + + Currently-active group members requests - - Raised on LandStatReply when the report type is for "top Scripts" + + Currently-active group roles requests - - Construct a new instance of the TopScriptsReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + Currently-active group role-member requests - - - The number of scripts returned in LandStatReply - + + Dictionary keeping group members while request is in progress - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - + + Dictionary keeping mebmer/role mapping while request is in progress - - Returned, along with other info, upon a successful .RequestInfo() + + Dictionary keeping GroupRole information while request is in progress - - Construct a new instance of the EstateBansReplyEventArgs class - The estate's identifier on the grid - The number of returned items in LandStatReply - User UUIDs banned + + Caches group name lookups - - - The identifier of the estate - + + Raised when the simulator sends us data containing + our current group membership - - - The number of returned itmes - + + Raised when the simulator responds to a RequestGroupName + or RequestGroupNames request - - - List of UUIDs of Banned Users - + + Raised when the simulator responds to a request - - Returned, along with other info, upon a successful .RequestInfo() + + Raised when the simulator responds to a request - - Construct a new instance of the EstateUsersReplyEventArgs class - The estate's identifier on the grid - The number of users - Allowed users UUIDs + + Raised when the simulator responds to a request - - - The identifier of the estate - + + Raised when the simulator responds to a request - - - The number of returned items - + + Raised when the simulator responds to a request - - - List of UUIDs of Allowed Users - + + Raised when a response to a RequestGroupAccountSummary is returned + by the simulator - - Returned, along with other info, upon a successful .RequestInfo() + + Raised when a request to create a group is successful - - Construct a new instance of the EstateGroupsReplyEventArgs class - The estate's identifier on the grid - The number of Groups - Allowed Groups UUIDs + + Raised when a request to join a group either + fails or succeeds - - - The identifier of the estate - + + Raised when a request to leave a group either + fails or succeeds - - - The number of returned items - + + Raised when A group is removed from the group server - - - List of UUIDs of Allowed Groups - + + Raised when a request to eject a member from a group either + fails or succeeds - - Returned, along with other info, upon a successful .RequestInfo() + + Raised when the simulator sends us group notices + - - Construct a new instance of the EstateManagersReplyEventArgs class - The estate's identifier on the grid - The number of Managers - Managers UUIDs + + Raised when another agent invites our avatar to join a group - - - The identifier of the estate - + + Raises the CurrentGroups event + A CurrentGroupsEventArgs object containing the + data sent from the simulator - - - The number of returned items - + + Raises the GroupNamesReply event + A GroupNamesEventArgs object containing the + data response from the simulator - - - List of UUIDs of the Estate's Managers - + + Raises the GroupProfile event + An GroupProfileEventArgs object containing the + data returned from the simulator - - Returned, along with other info, upon a successful .RequestInfo() + + Raises the GroupMembers event + A GroupMembersEventArgs object containing the + data returned from the simulator - - Construct a new instance of the EstateCovenantReplyEventArgs class - The Covenant ID - The timestamp - The estate's name - The Estate Owner's ID (can be a GroupID) + + Raises the GroupRolesDataReply event + A GroupRolesDataReplyEventArgs object containing the + data returned from the simulator - - - The Covenant - + + Raises the GroupRoleMembersReply event + A GroupRolesRoleMembersReplyEventArgs object containing the + data returned from the simulator - - - The timestamp - + + Raises the GroupTitlesReply event + A GroupTitlesReplyEventArgs object containing the + data returned from the simulator - - - The Estate name - + + Raises the GroupAccountSummary event + A GroupAccountSummaryReplyEventArgs object containing the + data returned from the simulator - - - The Estate Owner's ID (can be a GroupID) - + + Raises the GroupCreated event + An GroupCreatedEventArgs object containing the + data returned from the simulator - - Returned, along with other info, upon a successful .RequestInfo() + + Raises the GroupJoined event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - Construct a new instance of the EstateUpdateInfoReplyEventArgs class - The estate's name - The Estate Owners ID (can be a GroupID) - The estate's identifier on the grid - + + Raises the GroupLeft event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - - The estate's name - + + Raises the GroupDropped event + An GroupDroppedEventArgs object containing the + the group your agent left - - - The Estate Owner's ID (can be a GroupID) - + + Raises the GroupMemberEjected event + An GroupMemberEjectedEventArgs object containing the + data returned from the simulator - - - The identifier of the estate on the grid - + + Raises the GroupNoticesListReply event + An GroupNoticesListReplyEventArgs object containing the + data returned from the simulator - - + + Raises the GroupInvitation event + An GroupInvitationEventArgs object containing the + data returned from the simulator - + - Image width + Request a current list of groups the avatar is a member of. + CAPS Event Queue must be running for this to work since the results + come across CAPS. - + - Image height + Lookup name of group based on groupID + groupID of group to lookup name for. - + - Image channel flags + Request lookup of multiple group names + List of group IDs to request. - - - Red channel data - + + Lookup group profile data such as name, enrollment, founder, logo, etc + Subscribe to OnGroupProfile event to receive the results. + group ID (UUID) - - - Green channel data - + + Request a list of group members. + Subscribe to OnGroupMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - Blue channel data - + + Request group roles + Subscribe to OnGroupRoles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - Alpha channel data - + + Request members (members,role) role mapping for a group. + Subscribe to OnGroupRolesMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - Bump channel data - + + Request a groups Titles + Subscribe to OnGroupTitles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - Create a new blank image - - width - height - channel flags + + Begin to get the group account summary + Subscribe to the OnGroupAccountSummary event to receive the results. + group ID (UUID) + How long of an interval + Which interval (0 for current, 1 for last) - - - - - + + Invites a user to a group + The group to invite to + A list of roles to invite a person to + Key of person to invite - - - Convert the channels in the image. Channels are created or destroyed as required. - - new channel flags + + Set a group as the current active group + group ID (UUID) - - - Resize or stretch the image using nearest neighbor (ugly) resampling - - new width - new height + + Change the role that determines your active title + Group ID to use + Role ID to change to - - - Create a byte array containing 32-bit RGBA data with a bottom-left - origin, suitable for feeding directly into OpenGL - - A byte array containing raw texture data + + Set this avatar's tier contribution + Group ID to change tier in + amount of tier to donate - + - Represents an AssetScriptBinary object containing the - LSO compiled bytecode of an LSL script + Save wheather agent wants to accept group notices and list this group in their profile + Group + Accept notices from this group + List this group in the profile - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - - TODO: Encodes a scripts contents into a LSO Bytecode file - + + Request to join a group + Subscribe to OnGroupJoined event for confirmation. + group ID (UUID) to join. - + - TODO: Decode LSO Bytecode into a string + Request to create a new group. If the group is successfully + created, L$100 will automatically be deducted - true + Subscribe to OnGroupCreated event to receive confirmation. + Group struct containing the new group info - - Override the base classes AssetType + + Update a group's profile and other information + Groups ID (UUID) to update. + Group struct to update. - - - - + + Eject a user from a group + Group ID to eject the user from + Avatar's key to eject - - - An instance of DelegateWrapper which calls InvokeWrappedDelegate, - which in turn calls the DynamicInvoke method of the wrapped - delegate - + + Update role information + Modified role to be updated - - - Callback used to call EndInvoke on the asynchronously - invoked DelegateWrapper - + + Create a new group role + Group ID to update + Role to create - - - Executes the specified delegate with the specified arguments - asynchronously on a thread pool thread - - - + + Delete a group role + Group ID to update + Role to delete - - - Invokes the wrapped delegate synchronously - - - + + Remove an avatar from a role + Group ID to update + Role ID to be removed from + Avatar's Key to remove - - - Calls EndInvoke on the wrapper and Close on the resulting WaitHandle - to prevent resource leaks - - + + Assign an avatar to a role + Group ID to update + Role ID to assign to + Avatar's ID to assign to role - - - Delegate to wrap another delegate and its arguments - - - + + Request the group notices list + Group ID to fetch notices for - - - Checks the instance back into the object pool - + + Request a group notice by key + ID of group notice - - - Returns an instance of the class that has been checked out of the Object Pool. - + + Send out a group notice + Group ID to update + + GroupNotice structure containing notice data - - - Creates a new instance of the ObjectPoolBase class. Initialize MUST be called - after using this constructor. - + + Start a group proposal (vote) + The Group ID to send proposal to + + GroupProposal structure containing the proposal - - - Creates a new instance of the ObjectPool Base class. - - The object pool is composed of segments, which - are allocated whenever the size of the pool is exceeded. The number of items - in a segment should be large enough that allocating a new segmeng is a rare - thing. For example, on a server that will have 10k people logged in at once, - the receive buffer object pool should have segment sizes of at least 1000 - byte arrays per segment. - - The minimun number of segments that may exist. - Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. - The frequency which segments are checked to see if they're eligible for cleanup. + + Request to leave a group + Subscribe to OnGroupLeft event to receive confirmation + The group to leave - - - Forces the segment cleanup algorithm to be run. This method is intended - primarly for use from the Unit Test libraries. - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Responsible for allocate 1 instance of an object that will be stored in a segment. - - An instance of whatever objec the pool is pooling. + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Checks in an instance of T owned by the object pool. This method is only intended to be called - by the WrappedObject class. - - The segment from which the instance is checked out. - The instance of T to check back into the segment. + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Checks an instance of T from the pool. If the pool is not sufficient to - allow the checkout, a new segment is created. - - A WrappedObject around the instance of T. To check - the instance back into the segment, be sureto dispose the WrappedObject - when finished. + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - The total number of segments created. Intended to be used by the Unit Tests. - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - The number of items that are in a segment. Items in a segment - are all allocated at the same time, and are hopefully close to - each other in the managed heap. - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - The minimum number of segments. When segments are reclaimed, - this number of segments will always be left alone. These - segments are allocated at startup. - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - The age a segment must be before it's eligible for cleanup. - This is used to prevent thrash, and typical values are in - the 5 minute range. - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - The frequence which the cleanup thread runs. This is typically - expected to be in the 5 minute range. - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Size of the byte array used to store raw packet data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raw packet data buffer + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Length of the data to transmit + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - EndPoint of the remote host + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Create an allocated UDP packet buffer for receiving a packet - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - Size of the buffer to allocate for packet data + + Contains the current groups your agent is a member of - - - Object pool for packet buffers. This is used to allocate memory for all - incoming and outgoing packets, and zerocoding buffers for those packets - + + Construct a new instance of the CurrentGroupsEventArgs class + The current groups your agent is a member of - - - Initialize the object pool in client mode - - Server to connect to - - + + Get the current groups your agent is a member of - - - Initialize the object pool in server mode - - - + + A Dictionary of group names, where the Key is the groups ID and the value is the groups name - - - Returns a packet buffer with EndPoint set if the buffer is in - client mode, or with EndPoint set to null in server mode - - Initialized UDPPacketBuffer object + + Construct a new instance of the GroupNamesEventArgs class + The Group names dictionary - - - Default constructor - + + Get the Group Names dictionary - - - Check a packet buffer out of the pool - - A packet buffer object + + Represents the members of a group - + - Static pre-defined animations available to all agents + Construct a new instance of the GroupMembersReplyEventArgs class + The ID of the request + The ID of the group + The membership list of the group - - Agent with afraid expression on face - - - Agent aiming a bazooka (right handed) + + Get the ID as returned by the request to correlate + this result set and the request - - Agent aiming a bow (left handed) + + Get the ID of the group - - Agent aiming a hand gun (right handed) + + Get the dictionary of members - - Agent aiming a rifle (right handed) + + Represents the roles associated with a group - - Agent with angry expression on face + + Construct a new instance of the GroupRolesDataReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The dictionary containing the roles - - Agent hunched over (away) + + Get the ID as returned by the request to correlate + this result set and the request - - Agent doing a backflip + + Get the ID of the group - - Agent laughing while holding belly + + Get the dictionary containing the roles - - Agent blowing a kiss + + Represents the Role to Member mappings for a group - - Agent with bored expression on face - - - Agent bowing to audience + + Construct a new instance of the GroupRolesMembersReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The member to roles map - - Agent brushing himself/herself off + + Get the ID as returned by the request to correlate + this result set and the request - - Agent in busy mode + + Get the ID of the group - - Agent clapping hands + + Get the member to roles map - - Agent doing a curtsey bow + + Represents the titles for a group - - Agent crouching + + Construct a new instance of the GroupTitlesReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The titles - - Agent crouching while walking + + Get the ID as returned by the request to correlate + this result set and the request - - Agent crying + + Get the ID of the group - - Agent unanimated with arms out (e.g. setting appearance) + + Get the titles - - Agent re-animated after set appearance finished + + Represents the summary data for a group - - Agent dancing + + Construct a new instance of the GroupAccountSummaryReplyEventArgs class + The ID of the group + The summary data - - Agent dancing + + Get the ID of the group - - Agent dancing + + Get the summary data - - Agent dancing + + A response to a group create request - - Agent dancing + + Construct a new instance of the GroupCreatedReplyEventArgs class + The ID of the group + the success or faulure of the request + A string containing additional information - - Agent dancing + + Get the ID of the group - - Agent dancing + + true of the group was created successfully - - Agent dancing + + A string containing the message - - Agent on ground unanimated + + Represents a response to a request - - Agent boozing it up + + Construct a new instance of the GroupOperationEventArgs class + The ID of the group + true of the request was successful - - Agent with embarassed expression on face + + Get the ID of the group - - Agent with afraid expression on face + + true of the request was successful - - Agent with angry expression on face + + Represents your agent leaving a group - - Agent with bored expression on face + + Construct a new instance of the GroupDroppedEventArgs class + The ID of the group - - Agent crying + + Get the ID of the group - - Agent showing disdain (dislike) for something + + Represents a list of active group notices - - Agent with embarassed expression on face + + Construct a new instance of the GroupNoticesListReplyEventArgs class + The ID of the group + The list containing active notices - - Agent with frowning expression on face + + Get the ID of the group - - Agent with kissy face + + Get the notices list - - Agent expressing laughgter + + Represents the profile of a group - - Agent with open mouth + + Construct a new instance of the GroupProfileEventArgs class + The group profile - - Agent with repulsed expression on face + + Get the group profile - - Agent expressing sadness + + + Provides notification of a group invitation request sent by another Avatar + + The invitation is raised when another avatar makes an offer for our avatar + to join a group. - - Agent shrugging shoulders + + The ID of the Avatar sending the group invitation - - Agent with a smile + + The name of the Avatar sending the group invitation - - Agent expressing surprise + + A message containing the request information which includes + the name of the group, the groups charter and the fee to join details - - Agent sticking tongue out + + The Simulator - - Agent with big toothy smile + + Set to true to accept invitation, false to decline - - Agent winking + + + Static helper functions and global variables + - - Agent expressing worry + + + Passed to Logger.Log() to identify the severity of a log entry + - - Agent falling down + + No logging information will be output - - Agent walking (feminine version) + + Non-noisy useful information, may be helpful in + debugging a problem - - Agent wagging finger (disapproval) + + A non-critical error occurred. A warning will not + prevent the rest of the library from operating as usual, + although it may be indicative of an underlying issue - - I'm not sure I want to know + + A critical error has occurred. Generally this will + be followed by the network layer shutting down, although the + stability of the library after an error is uncertain - - Agent in superman position + + Used for internal testing, this logging level can + generate very noisy (long and/or repetitive) messages. Don't + pass this to the Log() function, use DebugLog() instead. + - - Agent in superman position + + This header flag signals that ACKs are appended to the packet - - Agent greeting another + + This header flag signals that this packet has been sent before - - Agent holding bazooka (right handed) + + This header flags signals that an ACK is expected for this packet - - Agent holding a bow (left handed) + + This header flag signals that the message is compressed using zerocoding - - Agent holding a handgun (right handed) + + + + + + + - - Agent holding a rifle (right handed) + + + + + + + + + - - Agent throwing an object (right handed) + + + + + + + - - Agent in static hover + + + + + + + + + - - Agent hovering downward + + + Given an X/Y location in absolute (grid-relative) terms, a region + handle is returned along with the local X/Y location in that region + + The absolute X location, a number such as + 255360.35 + The absolute Y location, a number such as + 255360.35 + The sim-local X position of the global X + position, a value from 0.0 to 256.0 + The sim-local Y position of the global Y + position, a value from 0.0 to 256.0 + A 64-bit region handle that can be used to teleport to - - Agent hovering upward + + + Converts a floating point number to a terse string format used for + transmitting numbers in wearable asset files + + Floating point number to convert to a string + A terse string representation of the input number - - Agent being impatient + + + Convert a variable length field (byte array) to a string, with a + field name prepended to each line of the output + + If the byte array has unprintable characters in it, a + hex dump will be written instead + The StringBuilder object to write to + The byte array to convert to a string + A field name to prepend to each line of output - - Agent jumping + + + Decode a zerocoded byte array, used to decompress packets marked + with the zerocoded flag + + Any time a zero is encountered, the next byte is a count + of how many zeroes to expand. One zero is encoded with 0x00 0x01, + two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The + first four bytes are copied directly to the output buffer. + + The byte array to decode + The length of the byte array to decode. This + would be the length of the packet up to (but not including) any + appended ACKs + The output byte array to decode to + The length of the output buffer - - Agent jumping with fervor + + + Encode a byte array with zerocoding. Used to compress packets marked + with the zerocoded flag. Any zeroes in the array are compressed down + to a single zero byte followed by a count of how many zeroes to expand + out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, + three zeroes becomes 0x00 0x03, etc. The first four bytes are copied + directly to the output buffer. + + The byte array to encode + The length of the byte array to encode + The output byte array to encode to + The length of the output buffer - - Agent point to lips then rear end + + + Calculates the CRC (cyclic redundancy check) needed to upload inventory. + + Creation date + Sale type + Inventory type + Type + Asset ID + Group ID + Sale price + Owner ID + Creator ID + Item ID + Folder ID + Everyone mask (permissions) + Flags + Next owner mask (permissions) + Group mask (permissions) + Owner mask (permissions) + The calculated CRC - - Agent landing from jump, finished flight, etc + + + Attempts to load a file embedded in the assembly + + The filename of the resource to load + A Stream for the requested file, or null if the resource + was not successfully loaded - - Agent laughing + + + Attempts to load a file either embedded in the assembly or found in + a given search path + + The filename of the resource to load + An optional path that will be searched if + the asset is not found embedded in the assembly + A Stream for the requested file, or null if the resource + was not successfully loaded - - Agent landing from jump, finished flight, etc + + + Converts a list of primitives to an object that can be serialized + with the LLSD system + + Primitives to convert to a serializable object + An object that can be serialized with LLSD - - Agent sitting on a motorcycle + + + Deserializes OSD in to a list of primitives + + Structure holding the serialized primitive list, + must be of the SDMap type + A list of deserialized primitives - - + + + Converts a struct or class object containing fields only into a key value separated string + + The struct object + A string containing the struct fields as the keys, and the field value as the value separated + + + // Add the following code to any struct or class containing only fields to override the ToString() + // method to display the values of the passed object + /// Print the struct data as a string + ///A string containing the field name, and field value + public override string ToString() + { + return Helpers.StructToString(this); + } + + - - Agent moving head side to side + + + The InternalDictionary class is used through the library for storing key/value pairs. + It is intended to be a replacement for the generic Dictionary class and should + be used in its place. It contains several methods for allowing access to the data from + outside the library that are read only and thread safe. + + Key + Value + + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); + + + + + + Initializes a new instance of the Class + with the specified key/value, has its initial valies copied from the specified + + + + to copy initial values from + + + // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. + // populates with copied values from example KeyNameCache Dictionary. + // create source dictionary + Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); + KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); + KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); + // Initialize new dictionary. + public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); + + + + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); + + + + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + on this member + + + + Indexer for the dictionary + + The key + The value + + + + Gets the number of Key/Value pairs contained in the + + + + Try to get entry from with specified key + + Key to use for lookup + Value returned + + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + + + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + + + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + + + Perform an on each entry in an + + to perform + + + // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + if (prim.Text != null) + { + Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", + prim.PropertiesFamily.Name, prim.ID, prim.Text); + } + }); + + + + + Perform an on each key of an + + to perform + + + + Perform an on each KeyValuePair of an + + to perform + + + Check if Key exists in Dictionary + Key to check for + + if found, otherwise + + + Check if Value exists in Dictionary + Value to check for + + if found, otherwise + + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + The key + The value + + + + Removes the specified key, dictionary locking is not performed + + The key. + + if successful, otherwise + + + + Exception class to identify inventory exceptions + + + + + Responsible for maintaining inventory structure. Inventory constructs nodes + and manages node children as is necessary to maintain a coherant hirarchy. + Other classes should not manipulate or create InventoryNodes explicitly. When + A node's parent changes (when a folder is moved, for example) simply pass + Inventory the updated InventoryFolder and it will make the appropriate changes + to its internal representation. + + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + + By using the bracket operator on this class, the program can get the + InventoryObject designated by the specified uuid. If the value for the corresponding + UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). + If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), + the uuid parameter is ignored. + + The UUID of the InventoryObject to get or set, ignored if set to non-null value. + The InventoryObject corresponding to uuid. + + + + The root folder of this avatars inventory + + + + + The default shared library folder + + + + + The root node of the avatars inventory + + + + + The root node of the default shared library + + + + Raises the InventoryObjectUpdated Event + A InventoryObjectUpdatedEventArgs object containing + the data sent from the simulator + + + Raises the InventoryObjectRemoved Event + A InventoryObjectRemovedEventArgs object containing + the data sent from the simulator + + + Raises the InventoryObjectAdded Event + A InventoryObjectAddedEventArgs object containing + the data sent from the simulator + + + + Returns the contents of the specified folder + + A folder's UUID + The contents of the folder corresponding to folder + When folder does not exist in the inventory - - Agent moving head side to side with unhappy expression + + + Updates the state of the InventoryNode and inventory data structure that + is responsible for the InventoryObject. If the item was previously not added to inventory, + it adds the item, and updates structure accordingly. If it was, it updates the + InventoryNode, changing the parent node if item.parentUUID does + not match node.Parent.Data.UUID. + You can not set the inventory root folder using this method + + The InventoryObject to store - - Agent taunting another + + + Removes the InventoryObject and all related node data from Inventory. + + The InventoryObject to remove. - - + + + Used to find out if Inventory contains the InventoryObject + specified by uuid. + + The UUID to check. + true if inventory contains uuid, false otherwise - - Agent giving peace sign + + + Saves the current inventory structure to a cache file + + Name of the cache file to save to - - Agent pointing at self + + + Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + + Name of the cache file to load + The number of inventory items sucessfully reconstructed into the inventory node tree - - Agent pointing at another + + Sort by name - - Agent preparing for jump (bending knees) + + Sort by date - - Agent punching with left hand + + Sort folders by name, regardless of whether items are + sorted by name or date - - Agent punching with right hand + + Place system folders at the top - - Agent acting repulsed + + + Possible destinations for DeRezObject request + - - Agent trying to be Chuck Norris + + + - - Rocks, Paper, Scissors 1, 2, 3 + + Copy from in-world to agent inventory - - Agent with hand flat over other hand + + Derez to TaskInventory - - Agent with fist over other hand + + + - - Agent with two fingers spread over other hand + + Take Object - - Agent running + + + - - Agent appearing sad + + Delete Object - - Agent saluting + + Put an avatar attachment into agent inventory - - Agent shooting bow (left handed) + + + - - Agent cupping mouth as if shouting + + Return an object back to the owner's inventory - - Agent shrugging shoulders + + Return a deeded object back to the last owner's inventory - - Agent in sit position + + + Upper half of the Flags field for inventory items + - - Agent in sit position (feminine) + + Indicates that the NextOwner permission will be set to the + most restrictive set of permissions found in the object set + (including linkset items and object inventory items) on next rez - - Agent in sit position (generic) + + Indicates that the object sale information has been + changed - - Agent sitting on ground + + If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez - - Agent sitting on ground + + If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez - - + + If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez - - Agent sleeping on side + + If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez - - Agent smoking + + If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez - - Agent inhaling smoke + + Indicates whether this object is composed of multiple + items or not - - + + Indicates that the asset is only referenced by this + inventory item. If this item is deleted or updated to reference a + new assetID, the asset can be deleted - - Agent taking a picture + + + Base Class for Inventory Items + - - Agent standing + + + Constructor, takes an itemID as a parameter + + The of the item - - Agent standing up + + + + + - - Agent standing + + + of item/folder - - Agent standing + + + of parent folder - - Agent standing + + Name of item/folder - - Agent standing + + Item/Folder Owners - - Agent stretching + + + + + - - Agent in stride (fast walk) + + + Generates a number corresponding to the value of the object to support the use of a hash table, + suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryBase fields - - Agent surfing + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same - - Agent acting surprised + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same - - Agent striking with a sword + + + An Item in Inventory + - - Agent talking (lips moving) + + + Construct a new InventoryItem object + + The of the item - - Agent throwing a tantrum + + + Construct a new InventoryItem object of a specific Type + + The type of item from + + of the item - - Agent throwing an object (right handed) + + + + + - - Agent trying on a shirt + + The of this item - - Agent turning to the left + + The combined of this item - - Agent turning to the right + + The type of item from - - Agent typing + + The type of item from the enum - - Agent walking + + The of the creator of this item + + + A Description of this item - - Agent whispering + + The s this item is set to or owned by - - Agent whispering with fingers in mouth + + If true, item is owned by a group - - Agent winking + + The price this item can be purchased for - - Agent winking + + The type of sale from the enum - - Agent worried + + Combined flags from - - Agent nodding yes + + Time and date this inventory item was created, stored as + UTC (Coordinated Universal Time) - - Agent nodding yes with happy face + + Used to update the AssetID in requests sent to the server - - Agent floating with legs and arms crossed + + The of the previous owner of the item - + - A dictionary containing all pre-defined animations + Indicates inventory item is a link - A dictionary containing the pre-defined animations, - where the key is the animations ID, and the value is a string - containing a name to identify the purpose of the animation + True if inventory item is a link to another inventory item - + - Represents an that represents an avatars body ie: Hair, Etc. + + - - Initializes a new instance of an AssetBodyPart object - - - Initializes a new instance of an AssetBodyPart object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - Initializes a new instance of an AssetBodyPart object with parameters - A string representing the values of the Bodypart - - - Override the base classes AssetType - - + - Archives assets + Generates a number corresponding to the value of the object to support the use of a hash table. + Suitable for use in hashing algorithms and data structures such as a hash table + A Hashcode of all the combined InventoryItem fields - + - Archive assets + Compares an object + The object to compare + true if comparison object matches - + - Archive the assets given to this archiver to the given archive. + Determine whether the specified object is equal to the current object - + The object to compare against + true if objects are the same - + - Write an assets metadata file to the given archive + Determine whether the specified object is equal to the current object - + The object to compare against + true if objects are the same - + - Write asset data files to the given archive + InventoryTexture Class representing a graphical image - + - + - + Construct an InventoryTexture object + A which becomes the + objects AssetUUID - - OK - - - Transfer completed - - - - - - - - - Unknown error occurred - - - Equivalent to a 404 error - - - Client does not have permission for that resource - - - Unknown status - - + - + Construct an InventoryTexture object from a serialization stream - - - - - Unknown - - - Virtually all asset transfers use this channel + + + InventorySound Class representing a playable sound + - + - + Construct an InventorySound object + A which becomes the + objects AssetUUID - - + + + Construct an InventorySound object from a serialization stream + - - Asset from the asset server + + + InventoryCallingCard Class, contains information on another avatar + - - Inventory item + + + Construct an InventoryCallingCard object + + A which becomes the + objects AssetUUID - - Estate asset, such as an estate covenant + + + Construct an InventoryCallingCard object from a serialization stream + - + - + InventoryLandmark Class, contains details on a specific location - - + + + Construct an InventoryLandmark object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryLandmark object from a serialization stream + - - + + + Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + - + - + InventoryObject Class contains details on a primitive or coalesced set of primitives - - + + + Construct an InventoryObject object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryObject object from a serialization stream + - + - Image file format + Gets or sets the upper byte of the Flags value - + - + Gets or sets the object attachment point, the lower byte of the Flags value - - Number of milliseconds passed since the last transfer - packet was received + + + InventoryNotecard Class, contains details on an encoded text document + - + - + Construct an InventoryNotecard object + A which becomes the + objects AssetUUID - + - + Construct an InventoryNotecard object from a serialization stream - + - + InventoryCategory Class + TODO: Is this even used for anything? - + - + Construct an InventoryCategory object + A which becomes the + objects AssetUUID - + - + Construct an InventoryCategory object from a serialization stream - + - + InventoryLSL Class, represents a Linden Scripting Language object - - - - - + - + Construct an InventoryLSL object + A which becomes the + objects AssetUUID - - Number of milliseconds to wait for a transfer header packet if out of order data was received + + + Construct an InventoryLSL object from a serialization stream + - - The event subscribers. null if no subcribers + + + InventorySnapshot Class, an image taken with the viewer + - - Raises the XferReceived event - A XferReceivedEventArgs object containing the - data returned from the simulator + + + Construct an InventorySnapshot object + + A which becomes the + objects AssetUUID - - Thread sync lock object + + + Construct an InventorySnapshot object from a serialization stream + - - The event subscribers. null if no subcribers + + + InventoryAttachment Class, contains details on an attachable object + - - Raises the AssetUploaded event - A AssetUploadedEventArgs object containing the - data returned from the simulator + + + Construct an InventoryAttachment object + + A which becomes the + objects AssetUUID - - Thread sync lock object + + + Construct an InventoryAttachment object from a serialization stream + - - The event subscribers. null if no subcribers + + + Get the last AttachmentPoint this object was attached to + - - Raises the UploadProgress event - A UploadProgressEventArgs object containing the - data returned from the simulator + + + InventoryWearable Class, details on a clothing item or body part + - - Thread sync lock object + + + Construct an InventoryWearable object + + A which becomes the + objects AssetUUID - - The event subscribers. null if no subcribers + + + Construct an InventoryWearable object from a serialization stream + - - Raises the InitiateDownload event - A InitiateDownloadEventArgs object containing the - data returned from the simulator + + + The , Skin, Shape, Skirt, Etc + - - Thread sync lock object + + + InventoryAnimation Class, A bvh encoded object which animates an avatar + - - The event subscribers. null if no subcribers + + + Construct an InventoryAnimation object + + A which becomes the + objects AssetUUID - - Raises the ImageReceiveProgress event - A ImageReceiveProgressEventArgs object containing the - data returned from the simulator + + + Construct an InventoryAnimation object from a serialization stream + - - Thread sync lock object + + + InventoryGesture Class, details on a series of animations, sounds, and actions + - - Texture download cache + + + Construct an InventoryGesture object + + A which becomes the + objects AssetUUID - + - Default constructor + Construct an InventoryGesture object from a serialization stream - A reference to the GridClient object - + - Request an asset download + A folder contains s and has certain attributes specific + to itself - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - The callback to fire when the simulator responds with the asset data - + - Request an asset download + Constructor - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - The callback to fire when the simulator responds with the asset data + UUID of the folder - + - Request an asset download + Construct an InventoryFolder object from a serialization stream - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - UUID of the transaction - The callback to fire when the simulator responds with the asset data - + + The Preferred for a folder. + + + The Version of this folder + + + Number of child items this folder contains. + + - Request an asset download through the almost deprecated Xfer system - Filename of the asset to request - Whether or not to delete the asset - off the server after it is retrieved - Use large transfer packets or not - UUID of the file to request, if filename is - left empty - Asset type of vFileID, or - AssetType.Unknown if filename is not empty - Sets the FilePath in the request to Cache - (4) if true, otherwise Unknown (0) is used - + + - + - + Get Serilization data for this InventoryFolder object - Use UUID.Zero if you do not have the - asset ID but have all the necessary permissions - The item ID of this asset in the inventory - Use UUID.Zero if you are not requesting an - asset from an object inventory - The owner of this asset - Asset type - Whether to prioritize this asset download or not - - + - Used to force asset data into the PendingUpload property, ie: for raw terrain uploads - An AssetUpload object containing the data to upload to the simulator + + - + - Request an asset be uploaded to the simulator - The Object containing the asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + + + + - + - Request an asset be uploaded to the simulator - The of the asset being uploaded - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + + + + - + - Request an asset be uploaded to the simulator - - Asset type to upload this data as - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + + + + - + - Initiate an asset upload + Tools for dealing with agents inventory - The ID this asset will have if the - upload succeeds - Asset type to upload this data as - Raw asset data to upload - Whether to store this asset on the local - simulator or the grid-wide asset server - The tranaction id for the upload - The transaction ID of this transfer - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress - transfer. - A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority - indicating an off-by-one error. - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - Request an image and fire a callback when the request is complete - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - - Request an image and use an inline anonymous method to handle the downloaded texture data - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - ); - - Request a texture, decode the texture to a bitmap image and apply it to a imagebox - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - ManagedImage imgData; - Image bitmap; - - if (state == TextureRequestState.Finished) - { - OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); - picInsignia.Image = bitmap; - } - } - } - - + + + Default constructor + + Reference to the GridClient object - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Callback for inventory item creation finishing - The of the texture asset to download - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data + Whether the request to create an inventory + item succeeded or not + Inventory item being created. If success is + false this will be null - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Callback for an inventory item being create from an uploaded asset - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data + true if inventory item creation was successful + + + + + + - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request + + - + - Cancel a texture request + Reply received when uploading an inventory asset - The texture assets + Has upload been successful + Error message if upload failed + Inventory asset UUID + New asset UUID - + - Lets TexturePipeline class fire the progress event + Delegate that is invoked when script upload is completed - The texture ID currently being downloaded - the number of bytes transferred - the total number of bytes expected + Has upload succeded (note, there still might be compile errors) + Upload status message + Is compilation successful + If compilation failed, list of error messages, null on compilation success + Script inventory UUID + Script's new asset UUID - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Used for converting shadow_id to asset_id - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers, null of no subscribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers, null of no subscribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers, null of no subscribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers, null of no subscribers - - Raised when the simulator responds sends + + Thread sync lock object - - Raised during upload completes + + The event subscribers, null of no subscribers - - Raised during upload with progres update + + Thread sync lock object - - Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files + + The event subscribers, null of no subscribers - - Fired when a texture is in the process of being downloaded by the TexturePipeline class + + Thread sync lock object - - - Callback used for various asset download requests - - Transfer information - Downloaded asset, null on fail + + The event subscribers, null of no subscribers - - - Callback used upon competition of baked texture upload - - Asset UUID of the newly uploaded baked texture + + Thread sync lock object - - Xfer data + + The event subscribers, null of no subscribers - - Upload data + + Thread sync lock object - - Filename used on the simulator + + Partial mapping of AssetTypes to folder names - - Filename used by the client + + Raised when the simulator sends us data containing + ... - - UUID of the image that is in progress + + Raised when the simulator sends us data containing + ... - - Number of bytes received so far + + Raised when the simulator sends us data containing + an inventory object sent by another avatar or primitive - - Image size in bytes + + Raised when the simulator sends us data containing + ... - - - - + + Raised when the simulator sends us data containing + ... - - The event subscribers, null of no subscribers + + Raised when the simulator sends us data containing + ... - - Raises the AttachedSound Event - A AttachedSoundEventArgs object containing - the data sent from the simulator + + Raised when the simulator sends us data containing + ... - - Thread sync lock object + + Raised when the simulator sends us data containing + ... - - The event subscribers, null of no subscribers + + + Get this agents Inventory data + - - Raises the AttachedSoundGainChange Event - A AttachedSoundGainChangeEventArgs object containing - the data sent from the simulator + + Raises the ItemReceived Event + A ItemReceivedEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the FolderUpdated Event + A FolderUpdatedEventArgs object containing + the data sent from the simulator - - The event subscribers, null of no subscribers + + Raises the InventoryObjectOffered Event + A InventoryObjectOfferedEventArgs object containing + the data sent from the simulator - - Raises the SoundTrigger Event - A SoundTriggerEventArgs object containing - the data sent from the simulator + + Raises the TaskItemReceived Event + A TaskItemReceivedEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the FindObjectByPath Event + A FindObjectByPathEventArgs object containing + the data sent from the simulator - - The event subscribers, null of no subscribers + + Raises the TaskInventoryReply Event + A TaskInventoryReplyEventArgs object containing + the data sent from the simulator - - Raises the PreloadSound Event - A PreloadSoundEventArgs object containing - the data sent from the simulator + + Raises the SaveAssetToInventory Event + A SaveAssetToInventoryEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the ScriptRunningReply Event + A ScriptRunningReplyEventArgs object containing + the data sent from the simulator - + - Construct a new instance of the SoundManager class, used for playing and receiving - sound assets + Fetch an inventory item from the dataserver - A reference to the current GridClient instance + The items + The item Owners + a integer representing the number of milliseconds to wait for results + An object on success, or null if no item was found + Items will also be sent to the event - + - Plays a sound in the current region at full volume from avatar position + Request A single inventory item - UUID of the sound to be played + The items + The item Owners + - + - Plays a sound in the current region at full volume + Request inventory items - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. + Inventory items to request + Owners of the inventory items + - + - Plays a sound in the current region + Get contents of a folder - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + The of the folder to search + The of the folders owner + true to retrieve folders + true to retrieve items + sort order to return results in + a integer representing the number of milliseconds to wait for results + A list of inventory items matching search criteria within folder + + InventoryFolder.DescendentCount will only be accurate if both folders and items are + requested - + - Plays a sound in the specified sim + Request the contents of an inventory folder - UUID of the sound to be played. - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - + - Play a sound asset + Returns the UUID of the folder (category) that defaults to + containing 'type'. The folder is not necessarily only for that + type - UUID of the sound to be played. - handle id for the sim to be played in. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + This will return the root folder if one does not exist + + + The UUID of the desired folder if found, the UUID of the RootFolder + if not found, or UUID.Zero on failure - - Raised when the simulator sends us data containing - sound + + + Find an object in inventory using a specific path to search + + The folder to begin the search in + The object owners + A string path to search + milliseconds to wait for a reply + Found items or if + timeout occurs or item is not found - - Raised when the simulator sends us data containing - ... + + + Find inventory items by path + + The folder to begin the search in + The object owners + A string path to search, folders/objects separated by a '/' + Results are sent to the event - - Raised when the simulator sends us data containing - ... + + + Search inventory Store object for an item or folder + + The folder to begin the search in + An array which creates a path to search + Number of levels below baseFolder to conduct searches + if True, will stop searching after first match is found + A list of inventory items found - - Raised when the simulator sends us data containing - ... + + + Move an inventory item or folder to a new location + + The item or folder to move + The to move item or folder to - - Provides data for the event - The event occurs when the simulator sends - the sound data which emits from an agents attachment - - The following code example shows the process to subscribe to the event - and a stub to handle the data passed from the simulator - - // Subscribe to the AttachedSound event - Client.Sound.AttachedSound += Sound_AttachedSound; - - // process the data raised in the event here - private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) - { - // ... Process AttachedSoundEventArgs here ... - } - - + + + Move an inventory item or folder to a new location and change its name + + The item or folder to move + The to move item or folder to + The name to change the item or folder to - + - Construct a new instance of the SoundTriggerEventArgs class + Move and rename a folder - The sound asset id - The ID of the owner - The ID of the object - The volume level - The + The source folders + The destination folders + The name to change the folder to - - Get the sound asset id + + + Update folder properties + + + of the folder to update + Sets folder's parent to + Folder name + Folder type - - Get the ID of the owner + + + Move a folder + + The source folders + The destination folders - - Get the ID of the Object + + + Move multiple folders, the keys in the Dictionary parameter, + to a new parents, the value of that folder's key. + + A Dictionary containing the + of the source as the key, and the + of the destination as the value - - Get the volume level + + + Move an inventory item to a new folder + + The of the source item to move + The of the destination folder - - Get the + + + Move and rename an inventory item + + The of the source item to move + The of the destination folder + The name to change the folder to - - Provides data for the event - The event occurs when an attached sound - changes its volume level + + + Move multiple inventory items to new locations + + A Dictionary containing the + of the source item as the key, and the + of the destination folder as the value - + - Construct a new instance of the AttachedSoundGainChangedEventArgs class + Remove descendants of a folder - The ID of the Object - The new volume level + The of the folder - - Get the ID of the Object + + + Remove a single item from inventory + + The of the inventory item to remove - - Get the volume level + + + Remove a folder from inventory + + The of the folder to remove - - Provides data for the event - The event occurs when the simulator forwards - a request made by yourself or another agent to play either an asset sound or a built in sound - - Requests to play sounds where the is not one of the built-in - will require sending a request to download the sound asset before it can be played - - - The following code example uses the , - and - properties to display some information on a sound request on the window. - - // subscribe to the event - Client.Sound.SoundTrigger += Sound_SoundTrigger; - - // play the pre-defined BELL_TING sound - Client.Sound.SendSoundTrigger(Sounds.BELL_TING); - - // handle the response data - private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) - { - Console.WriteLine("{0} played the sound {1} at volume {2}", - e.OwnerID, e.SoundID, e.Gain); - } - - - - + - Construct a new instance of the SoundTriggerEventArgs class + Remove multiple items or folders from inventory - The sound asset id - The ID of the owner - The ID of the object - The ID of the objects parent - The volume level - The regionhandle - The source position + A List containing the s of items to remove + A List containing the s of the folders to remove - - Get the sound asset id + + + Empty the Lost and Found folder + - - Get the ID of the owner + + + Empty the Trash folder + - - Get the ID of the Object + + + + + + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + + + - - Get the ID of the objects parent + + + + + + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + + + + + - - Get the volume level + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + The UUID of the newly created folder - - Get the regionhandle + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + Sets this folder as the default folder + for new assets of the specified type. Use AssetType.Unknown + to create a normal folder, otherwise it will likely create a + duplicate of an existing folder type + The UUID of the newly created folder + If you specify a preferred type of AsseType.Folder + it will create a new root folder which may likely cause all sorts + of strange problems - - Get the source position + + + Create an inventory item and upload asset data + + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Delegate that will receive feedback on success or failure - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - + + + Create an inventory item and upload asset data + + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Permission of the newly created item + (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) + Delegate that will receive feedback on success or failure - + - Construct a new instance of the PreloadSoundEventArgs class + Creates inventory link to another inventory item or folder - The sound asset id - The ID of the owner - The ID of the object + Put newly created link in folder with this UUID + Inventory item or folder + Method to call upon creation of the link - - Get the sound asset id + + + Creates inventory link to another inventory item + + Put newly created link in folder with this UUID + Original inventory item + Method to call upon creation of the link - - Get the ID of the owner + + + Creates inventory link to another inventory folder + + Put newly created link in folder with this UUID + Original inventory folder + Method to call upon creation of the link - - Get the ID of the Object + + + Creates inventory link to another inventory item or folder + + Put newly created link in folder with this UUID + Original item's UUID + Name + Description + Asset Type + Inventory Type + Transaction UUID + Method to call upon creation of the link - + - Class for controlling various system settings. - Some values are readonly because they affect things that - happen when the GridClient object is initialized, so changing them at - runtime won't do any good. Non-readonly values may affect things that - happen at login or dynamically + + + + + + + + - - Main grid login server + + + + + + + + + + + + + - - Beta grid login server + + + + + + + + + + + + + - + + + Request a copy of an asset embedded within a notecard + + Usually UUID.Zero for copying an asset from a notecard + UUID of the notecard to request an asset from + Target folder for asset to go to in your inventory + UUID of the embedded asset + callback to run when item is copied to inventory + + - InventoryManager requests inventory information on login, - GridClient initializes an Inventory store for main inventory. + + - + - InventoryManager requests library information on login, - GridClient initializes an Inventory store for the library. + + - - Number of milliseconds between sending pings to each sim - - - Number of milliseconds between sending camera updates - - - Number of milliseconds between updating the current - positions of moving, non-accelerating and non-colliding objects + + + + + + + - - Millisecond interval between ticks, where all ACKs are - sent out and the age of unACKed packets is checked + + + + + + + + + - - The initial size of the packet inbox, where packets are - stored before processing + + + Save changes to notecard embedded in object contents + + Encoded notecard asset data + Notecard UUID + Object's UUID + Called upon finish of the upload with status information - - Maximum size of packet that we want to send over the wire + + + Upload new gesture asset for an inventory gesture item + + Encoded gesture asset + Gesture inventory UUID + Callback whick will be called when upload is complete - - The maximum value of a packet sequence number before it - rolls over back to one + + + Update an existing script in an agents Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + if true, sets the script content to run on the mono interpreter + + - - The maximum size of the sequence number archive, used to - check for resent and/or duplicate packets + + + Update an existing script in an task Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + UUID of the prim containting the script + if true, sets the script content to run on the mono interpreter + if true, sets the script to running + + - - The relative directory where external resources are kept + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details - - Login server to connect to + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object - - IP Address the client will bind to + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object - - Use XML-RPC Login or LLSD Login, default is XML-RPC Login + + + DeRez an object from the simulator to the agents Objects folder in the agents Inventory + + The simulator Local ID of the object + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - Number of milliseconds before an asset transfer will time - out + + + DeRez an object from the simulator and return to inventory + + The simulator Local ID of the object + The type of destination from the enum + The destination inventory folders -or- + if DeRezzing object to a tasks Inventory, the Tasks + The transaction ID for this request which + can be used to correlate this request with other packets + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - Number of milliseconds before a teleport attempt will time - out + + + Rez an item from inventory to its previous simulator location + + + + + + + + + - - Number of milliseconds before NetworkManager.Logout() will - time out + + + Give an inventory item to another avatar + + The of the item to give + The name of the item + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - - Number of milliseconds before a CAPS call will time out - Setting this too low will cause web requests time out and - possibly retry repeatedly + + + Give an inventory Folder with contents to another avatar + + The of the Folder to give + The name of the folder + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - - Number of milliseconds for xml-rpc to timeout + + + Copy or move an from agent inventory to a task (primitive) inventory + + The target object + The item to copy or move from inventory + + + For items with copy permissions a copy of the item is placed in the tasks inventory, + for no-copy items the object is moved to the tasks inventory - - Milliseconds before a packet is assumed lost and resent + + + Retrieve a listing of the items contained in a task (Primitive) + + The tasks + The tasks simulator local ID + milliseconds to wait for reply from simulator + A list containing the inventory items inside the task or null + if a timeout occurs + This request blocks until the response from the simulator arrives + or timeoutMS is exceeded - - Milliseconds without receiving a packet before the - connection to a simulator is assumed lost + + + Request the contents of a tasks (primitives) inventory from the + current simulator + + The LocalID of the object + - - Milliseconds to wait for a simulator info request through - the grid interface + + + Request the contents of a tasks (primitives) inventory + + The simulator Local ID of the object + A reference to the simulator object that contains the object + - - Maximum number of queued ACKs to be sent before SendAcks() - is forced + + + Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + + LocalID of the object in the simulator + UUID of the task item to move + The ID of the destination folder in this agents inventory + Simulator Object + Raises the event - - Network stats queue length (seconds) + + + Remove an item from an objects (Prim) Inventory + + LocalID of the object in the simulator + UUID of the task item to remove + Simulator Object + You can confirm the removal by comparing the tasks inventory serial before and after the + request with the request combined with + the event - - Enable to process packets synchronously, where all of the - callbacks for each packet must return before the next packet is - processed - This is an experimental feature and is not completely - reliable yet. Ideally it would reduce context switches and thread - overhead, but several calls currently block for a long time and - would need to be rewritten as asynchronous code before this is - feasible + + + Copy an InventoryScript item from the Agents Inventory into a primitives task inventory + + An unsigned integer representing a primitive being simulated + An which represents a script object from the agents inventory + true to set the scripts running state to enabled + A Unique Transaction ID + + The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory + and assumes the script exists in the agents inventory. + + uint primID = 95899503; // Fake prim ID + UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory + Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, + false, true, InventorySortOrder.ByName, 10000); + Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); + - - Enable/disable storing terrain heightmaps in the - TerrainManager + + + Request the running status of a script contained in a task (primitive) inventory + + The ID of the primitive containing the script + The ID of the script + The event can be used to obtain the results of the + request + - - Enable/disable sending periodic camera updates + + + Send a request to set the running state of a script contained in a task (primitive) inventory + + The ID of the primitive containing the script + The ID of the script + true to set the script running, false to stop a running script + To verify the change you can use the method combined + with the event - - Enable/disable automatically setting agent appearance at - login and after sim crossing + + + Create a CRC from an InventoryItem + + The source InventoryItem + A uint representing the source InventoryItem as a CRC - - Enable/disable automatically setting the bandwidth throttle - after connecting to each simulator - The default throttle uses the equivalent of the maximum - bandwidth setting in the official client. If you do not set a - throttle your connection will by default be throttled well below - the minimum values and you may experience connection problems + + + Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + + Obfuscated shadow_id value + Deobfuscated asset_id value - - Enable/disable the sending of pings to monitor lag and - packet loss + + + Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id + + asset_id value to obfuscate + Obfuscated shadow_id value - - Should we connect to multiple sims? This will allow - viewing in to neighboring simulators and sim crossings - (Experimental) + + + Wrapper for creating a new object + + The type of item from the enum + The of the newly created object + An object with the type and id passed - - If true, all object update packets will be decoded in to - native objects. If false, only updates for our own agent will be - decoded. Registering an event handler will force objects for that - type to always be decoded. If this is disabled the object tracking - will have missing or partial prim and avatar information + + + Parse the results of a RequestTaskInventory() response + + A string which contains the data from the task reply + A List containing the items contained within the tasks inventory - - If true, when a cached object check is received from the - server the full object info will automatically be requested + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Whether to establish connections to HTTP capabilities - servers for simulators + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Whether to decode sim stats + + + UpdateCreateInventoryItem packets are received when a new inventory item + is created. This may occur when an object that's rezzed in world is + taken into inventory, when an item is created using the CreateInventoryItem + packet, or when an object is purchased + + The sender + The EventArgs object containing the packet data - - The capabilities servers are currently designed to - periodically return a 502 error which signals for the client to - re-establish a connection. Set this to true to log those 502 errors + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - If true, any reference received for a folder or item - the library is not aware of will automatically be fetched + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - If true, and SEND_AGENT_UPDATES is true, - AgentUpdate packets will continuously be sent out to give the bot - smoother movement and autopiloting + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectAvatars. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectPrimitives. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + Set to true to accept offer, false to decline it - - If true, position and velocity will periodically be - interpolated (extrapolated, technically) for objects and - avatars that are being tracked by the library. This is - necessary to increase the accuracy of speed and position - estimates for simulated objects + + The folder to accept the inventory into, if null default folder for will be used - + - If true, utilization statistics will be tracked. There is a minor penalty - in CPU time for enabling this option. + Callback when an inventory object is accepted and received from a + task inventory. This is the callback in which you actually get + the ItemID, as in ObjectOfferedCallback it is null when received + from a task. - - If true, parcel details will be stored in the - Simulator.Parcels dictionary as they are received - - + - If true, an incoming parcel properties reply will automatically send - a request for the parcel access list - + - if true, an incoming parcel properties reply will automatically send - a request for the traffic count. + + - + - If true, images, and other assets downloaded from the server - will be cached in a local directory + De-serialization constructor for the InventoryNode Class - - Path to store cached texture data - - - Maximum size cached files are allowed to take on disk (bytes) - - - Default color used for viewer particle effects + + + De-serialization handler for the InventoryNode Class + - - Maximum number of times to resend a failed packet + + + - - Throttle outgoing packet rate + + + - - UUID of a texture used by some viewers to indentify type of client used + + + - - The maximum number of concurrent texture downloads allowed - Increasing this number will not necessarily increase texture retrieval times due to - simulator throttles + + + - + - The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + For inventory folder nodes specifies weather the folder needs to be + refreshed from the server - This is a static variable which applies to all instances - + - Textures taking longer than this value will be flagged as timed out and removed from the pipeline + Serialization handler for the InventoryNode Class - + - Get or set the minimum log level to output to the console by default - - If the library is not compiled with DEBUG defined and this level is set to DEBUG - You will get no output on the console. This behavior can be overriden by creating - a logger configuration file for log4net + + - - Attach avatar names to log messages + + + Singleton logging class for the entire library + - - Log packet retransmission info + + + Default constructor + - - Constructor - Reference to a GridClient object + + + Callback used for client apps to receive log messages from + the library + + Data being logged + The severity of the log entry from - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + log4net logging engine - - Cost of uploading an asset - Read-only since this value is dynamically fetched at login + + Triggered whenever a message is logged. If this is left + null, log messages will go to the console - + - Represents a string of characters encoded with specific formatting properties + Send a log message to the logging engine + The log message + The severity of the log entry - - A text string containing main text of the notecard - - - List of s embedded on the notecard + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client - - Construct an Asset of type Notecard + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Exception that was raised - + - Construct an Asset object of type Notecard + Send a log message to the logging engine - A unique specific to this asset - A byte array containing the raw asset data + The log message + The severity of the log entry + Instance of the client + Exception that was raised - + - Construct an Asset object of type Notecard + If the library is compiled with DEBUG defined, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine - A text string containing the main body text of the notecard + The message to log at the DEBUG level to the + current logging engine - + - Encode the raw contents of a string with the specific Linden Text properties + If the library is compiled with DEBUG defined and + GridClient.Settings.DEBUG is true, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + The message to log at the DEBUG level to the + current logging engine + Instance of the client - + - Decode the raw asset data including the Linden Text properties - true if the AssetData was successfully decoded - - Override the base classes AssetType - - + - Capabilities is the name of the bi-directional HTTP REST protocol - used to communicate non real-time transactions such as teleporting or - group messaging - - Reference to the simulator this system is connected to - - + - Default constructor - - - + - Request the URI of a named capability - Name of the capability to request - The URI of the requested capability, or String.Empty if - the capability does not exist - + - Process any incoming events, check to see if we have a message created for the event, - - - - - Capabilities URI this system was initialized with - - - Whether the capabilities event queue is connected and - listening for incoming events - + - Triggered when an event is received via the EventQueueGet - capability - Event name - Decoded event data - The simulator that generated the event - + - Level of Detail mesh - + - Return a decoded capabilities message as a strongly typed object - A string containing the name of the capabilities message key - An to decode - A strongly typed object containing the decoded information from the capabilities message, or null - if no existing Message object exists for the specified event - + - + Login Request Parameters - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + Default constuctor, initializes sane default values - - - - - - - - - - - - - + - + Instantiates new LoginParams object and fills in the values - - + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number - + - + Instantiates new LoginParams object and fills in the values + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number + URI of the login server - - + + The URL of the Login Server - - + + The number of milliseconds to wait before a login is considered + failed due to timeout - - + + The request method + login_to_simulator is currently the only supported method - - + + The Agents First name - - - - - - + + The Agents Last name - - - - + + A md5 hashed password + plaintext password will be automatically hashed - - + + The agents starting location once logged in + Either "last", "home", or a string encoded URI + containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 - - + + A string containing the client software channel information + Second Life Release - - + + The client software version information + The official viewer uses: Second Life Release n.n.n.n + where n is replaced with the current version of the viewer - - + + A string containing the platform information the agent is running on - - + + A string hash of the network cards Mac Address - - + + Unknown or deprecated - - - - + + A string hash of the first disk drives ID used to identify this clients uniqueness - - + + A string containing the viewers Software, this is not directly sent to the login server but + instead is used to generate the Version string - - + + A string representing the software creator. This is not directly sent to the login server but + is used by the library to generate the Version information - - + + If true, this agent agrees to the Terms of Service of the grid its connecting to - - + + Unknown - - + + An array of string sent to the login server to enable various options - - - - - - + + A randomly generated ID to distinguish between login attempts. This value is only used + internally in the library and is never sent over the wire - + - + The decoded data returned from the login server after a successful login - - - - - - - - + + true, false, indeterminate - - - - - - - + + Login message of the day - + + M or PG, also agent_region_access and agent_access_max + + - + Parse LLSD Login Reply Data + An + contaning the login response data + XML-RPC logins do not require this as XML-RPC.NET + automatically populates the struct properly using attributes - + - + Login Routines - - - - - + NetworkManager is responsible for managing the network layer of + OpenMetaverse. It tracks all the server connections, serializes + outgoing traffic and deserializes incoming traffic, and provides + instances of delegates for network-related events. - - - + - + Default constructor - + Reference to the GridClient object - + - + Explains why a simulator or the grid disconnected from us - - + + The client requested the logout or simulator disconnect - - + + The server notified us that it is disconnecting - - + + Either a socket was closed or network traffic timed out - - + + The last active simulator shut down - - + + + Holds a simulator reference and a decoded packet, these structs are put in + the packet inbox for event handling + - - + + Reference to the simulator that this packet came from - - + + Packet that needs to be processed - + - Login Request Parameters + Holds a simulator reference and a serialized packet, these structs are put in + the packet outbox for sending - - The URL of the Login Server + + Reference to the simulator this packet is destined for - - The number of milliseconds to wait before a login is considered - failed due to timeout + + Packet that needs to be sent - - The request method - login_to_simulator is currently the only supported method + + Sequence number of the wrapped packet + + + Number of times this packet has been resent - - The Agents First name + + Environment.TickCount when this packet was last sent over the wire - - The Agents Last name + + + + + + + + + + + + + - - A md5 hashed password - plaintext password will be automatically hashed + + The event subscribers, null of no subscribers - - The agents starting location once logged in - Either "last", "home", or a string encoded URI - containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 + + Thread sync lock object - - A string containing the client software channel information - Second Life Release + + Seed CAPS URL returned from the login server - - The client software version information - The official viewer uses: Second Life Release n.n.n.n - where n is replaced with the current version of the viewer + + A list of packets obtained during the login process which + networkmanager will log but not process - - A string containing the platform information the agent is running on + + The event subscribers, null of no subscribers - - A string hash of the network cards Mac Address + + Thread sync lock object - - Unknown or deprecated + + The event subscribers, null of no subscribers - - A string hash of the first disk drives ID used to identify this clients uniqueness + + Thread sync lock object - - A string containing the viewers Software, this is not directly sent to the login server but - instead is used to generate the Version string + + The event subscribers, null of no subscribers - - A string representing the software creator. This is not directly sent to the login server but - is used by the library to generate the Version information + + Thread sync lock object - - If true, this agent agrees to the Terms of Service of the grid its connecting to + + The event subscribers, null of no subscribers - - Unknown + + Thread sync lock object - - An array of string sent to the login server to enable various options + + The event subscribers, null of no subscribers - - A randomly generated ID to distinguish between login attempts. This value is only used - internally in the library and is never sent over the wire + + Thread sync lock object - - - The decoded data returned from the login server after a successful login - + + The event subscribers, null of no subscribers - - true, false, indeterminate + + Thread sync lock object - - Login message of the day + + The event subscribers, null of no subscribers - - M or PG, also agent_region_access and agent_access_max + + Thread sync lock object - - - Parse LLSD Login Reply Data - - An - contaning the login response data - XML-RPC logins do not require this as XML-RPC.NET - automatically populates the struct properly using attributes + + The event subscribers, null of no subscribers - - Sort by name + + Thread sync lock object - - Sort by date + + All of the simulators we are currently connected to - - Sort folders by name, regardless of whether items are - sorted by name or date + + Handlers for incoming capability events - - Place system folders at the top + + Handlers for incoming packets - - - Possible destinations for DeRezObject request - + + Incoming packets that are awaiting handling - - + + Outgoing packets that are awaiting handling - - Copy from in-world to agent inventory + + Raised when the simulator sends us data containing + ... - - Derez to TaskInventory + + Called when a reply is received from the login server, the + login sequence will block until this event returns - - + + Raised when the simulator sends us data containing + ... - - Take Object + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - Delete Object + + Raised when the simulator sends us data containing + ... - - Put an avatar attachment into agent inventory + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - Return an object back to the owner's inventory + + Raised when the simulator sends us data containing + ... - - Return a deeded object back to the last owner's inventory + + Raised when the simulator sends us data containing + ... - - - Upper half of the Flags field for inventory items - + + Current state of logging in - - Indicates that the NextOwner permission will be set to the - most restrictive set of permissions found in the object set - (including linkset items and object inventory items) on next rez + + Upon login failure, contains a short string key for the + type of login error that occurred - - Indicates that the object sale information has been - changed + + The raw XML-RPC reply from the login server, exactly as it + was received (minus the HTTP header) - - If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez + + During login this contains a descriptive version of + LoginStatusCode. After a successful login this will contain the + message of the day, and after a failed login a descriptive error + message will be returned - - If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez + + Unique identifier associated with our connections to + simulators - - If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez + + The simulator that the logged in avatar is currently + occupying - - If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez + + Shows whether the network layer is logged in to the + grid or not - - If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez + + Number of packets in the incoming queue - - Indicates whether this object is composed of multiple - items or not + + Number of packets in the outgoing queue - - Indicates that the asset is only referenced by this - inventory item. If this item is deleted or updated to reference a - new assetID, the asset can be deleted + + Raises the LoginProgress Event + A LoginProgressEventArgs object containing + the data sent from the simulator - + - Base Class for Inventory Items + Generate sane default values for a login request + Account first name + Account last name + Account password + Client application name + Client application version + A populated struct containing + sane defaults - - of item/folder - - - of parent folder - - - Name of item/folder - - - Item/Folder Owners + + + Simplified login that takes the most common and required fields + + Account first name + Account last name + Account password + Client application name + Client application version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - Constructor, takes an itemID as a parameter + Simplified login that takes the most common fields along with a + starting location URI, and can accept an MD5 string instead of a + plaintext password - The of the item + Account first name + Account last name + Account password or MD5 hash of the password + such as $1$1682a1e45e9f957dcdf0bb56eb43319c + Client application name + Starting location URI that can be built with + StartLocation() + Client application version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - + Login that takes a struct of all the values that will be passed to + the login server - + The values that will be passed to the login + server, all fields must be set even if they are String.Empty + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - + Build a start location URI for passing to the Login function - + Name of the simulator to start in + X coordinate to start at + Y coordinate to start at + Z coordinate to start at + String with a URI that can be used to login to a specified + location - + - Generates a number corresponding to the value of the object to support the use of a hash table, - suitable for use in hashing algorithms and data structures such as a hash table + Handles response from XML-RPC login replies - A Hashcode of all the combined InventoryBase fields - + - Determine whether the specified object is equal to the current object + Handle response from LLSD login replies - InventoryBase object to compare against - true if objects are the same + + + + + + - + - Determine whether the specified object is equal to the current object + Get current OS - InventoryBase object to compare against - true if objects are the same + Either "Win" or "Linux" - + - An Item in Inventory + Get clients default Mac Address + A string containing the first found Mac Address - - The of this item + + Raises the PacketSent Event + A PacketSentEventArgs object containing + the data sent from the simulator - - The combined of this item + + Raises the LoggedOut Event + A LoggedOutEventArgs object containing + the data sent from the simulator - - The type of item from + + Raises the SimConnecting Event + A SimConnectingEventArgs object containing + the data sent from the simulator - - The type of item from the enum + + Raises the SimConnected Event + A SimConnectedEventArgs object containing + the data sent from the simulator - - The of the creator of this item + + Raises the SimDisconnected Event + A SimDisconnectedEventArgs object containing + the data sent from the simulator - - A Description of this item + + Raises the Disconnected Event + A DisconnectedEventArgs object containing + the data sent from the simulator - - The s this item is set to or owned by + + Raises the SimChanged Event + A SimChangedEventArgs object containing + the data sent from the simulator - - If true, item is owned by a group + + Raises the EventQueueRunning Event + A EventQueueRunningEventArgs object containing + the data sent from the simulator - - The price this item can be purchased for + + + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type to trigger events for + Callback to fire when a packet of this type + is received - - The type of sale from the enum + + + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type to trigger events for + Callback to fire when a packet of this type + is received + True if the callback should be ran + asynchronously. Only set this to false (synchronous for callbacks + that will always complete quickly) + If any callback for a packet type is marked as + asynchronous, all callbacks for that packet type will be fired + asynchronously - - Combined flags from + + + Unregister an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type this callback is registered with + Callback to stop firing events for - - Time and date this inventory item was created, stored as - UTC (Coordinated Universal Time) + + + Register a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + + Name of the CAPS event to register a handler for + Callback to fire when a CAPS event is received - - Used to update the AssetID in requests sent to the server + + + Unregister a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + + Name of the CAPS event this callback is + registered with + Callback to stop firing events for - - The of the previous owner of the item + + + Send a packet to the simulator the avatar is currently occupying + + Packet to send - + - Construct a new InventoryItem object + Send a packet to a specified simulator - The of the item + Packet to send + Simulator to send the packet to - + - Construct a new InventoryItem object of a specific Type + Connect to a simulator - The type of item from - of the item + IP address to connect to + Port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - Indicates inventory item is a link + Connect to a simulator - True if inventory item is a link to another inventory item + IP address and port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - + Initiate a blocking logout request. This will return when the logout + handshake has completed or when Settings.LOGOUT_TIMEOUT + has expired and the network layer is manually shut down - - + - + Initiate the logout process. Check if logout succeeded with the + OnLogoutReply event, and if this does not fire the + Shutdown() function needs to be manually called - - + - Generates a number corresponding to the value of the object to support the use of a hash table. - Suitable for use in hashing algorithms and data structures such as a hash table + Close a connection to the given simulator - A Hashcode of all the combined InventoryItem fields + + + + - + - Compares an object + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + Type of shutdown + + + + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + Type of shutdown + Shutdown message + + + + Searches through the list of currently connected simulators to find + one attached to the given IPEndPoint - The object to compare - true if comparison object matches + IPEndPoint of the Simulator to search for + A Simulator reference on success, otherwise null + + + + Fire an event when an event queue connects for capabilities + + Simulator the event queue is attached to + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Determine whether the specified object is equal to the current object + A Name Value pair with additional settings, used in the protocol + primarily to transmit avatar names and active group in object packets - The object to compare against - true if objects are the same - + - Determine whether the specified object is equal to the current object + Constructor that takes all the fields as parameters - The object to compare against - true if objects are the same + + + + + + + + + + - + - InventoryTexture Class representing a graphical image + Constructor that takes a single line from a NameValue field - + + - - - Construct an InventoryTexture object - - A which becomes the - objects AssetUUID + + Type of the value - - - Construct an InventoryTexture object from a serialization stream - + + Unknown - - - InventorySound Class representing a playable sound - + + String value - + - Construct an InventorySound object - A which becomes the - objects AssetUUID - + - Construct an InventorySound object from a serialization stream - + - InventoryCallingCard Class, contains information on another avatar - + - Construct an InventoryCallingCard object - A which becomes the - objects AssetUUID - - - Construct an InventoryCallingCard object from a serialization stream - + + Deprecated - - - InventoryLandmark Class, contains details on a specific location - + + String value, but designated as an asset - + - Construct an InventoryLandmark object - A which becomes the - objects AssetUUID - + - Construct an InventoryLandmark object from a serialization stream - + - Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited - + - InventoryObject Class contains details on a primitive or coalesced set of primitives - + - Construct an InventoryObject object - A which becomes the - objects AssetUUID - + - Construct an InventoryObject object from a serialization stream - + - Gets or sets the upper byte of the Flags value - + - Gets or sets the object attachment point, the lower byte of the Flags value - + - InventoryNotecard Class, contains details on an encoded text document - + - Construct an InventoryNotecard object - A which becomes the - objects AssetUUID - + - Construct an InventoryNotecard object from a serialization stream - + - InventoryCategory Class - TODO: Is this even used for anything? - + - Construct an InventoryCategory object - A which becomes the - objects AssetUUID - + - Construct an InventoryCategory object from a serialization stream - + - InventoryLSL Class, represents a Linden Scripting Language object - + - Construct an InventoryLSL object - A which becomes the - objects AssetUUID - + - Construct an InventoryLSL object from a serialization stream - + - InventorySnapshot Class, an image taken with the viewer - - - Construct an InventorySnapshot object - - A which becomes the - objects AssetUUID + + No report - - - Construct an InventorySnapshot object from a serialization stream - + + Unknown report type - - - InventoryAttachment Class, contains details on an attachable object - + + Bug report - - - Construct an InventoryAttachment object - - A which becomes the - objects AssetUUID + + Complaint report - - - Construct an InventoryAttachment object from a serialization stream - + + Customer service report - + - Get the last AttachmentPoint this object was attached to + Bitflag field for ObjectUpdateCompressed data blocks, describing + which options are present for each object - - - InventoryWearable Class, details on a clothing item or body part - + + Unknown - - - Construct an InventoryWearable object - - A which becomes the - objects AssetUUID + + Whether the object has a TreeSpecies - + + Whether the object has floating text ala llSetText + + + Whether the object has an active particle system + + + Whether the object has sound attached to it + + + Whether the object is attached to a root object or not + + + Whether the object has texture animation settings + + + Whether the object has an angular velocity + + + Whether the object has a name value pairs string + + + Whether the object has a Media URL set + + - Construct an InventoryWearable object from a serialization stream + Specific Flags for MultipleObjectUpdate requests - + + None + + + Change position of prims + + + Change rotation of prims + + + Change size of prims + + + Perform operation on link set + + + Scale prims uniformly, same as selecing ctrl+shift in the + viewer. Used in conjunction with Scale + + - The , Skin, Shape, Skirt, Etc + Special values in PayPriceReply. If the price is not one of these + literal value of the price should be use - + - InventoryAnimation Class, A bvh encoded object which animates an avatar + Indicates that this pay option should be hidden - + - Construct an InventoryAnimation object + Indicates that this pay option should have the default value - A which becomes the - objects AssetUUID - + - Construct an InventoryAnimation object from a serialization stream + Contains the variables sent in an object update packet for objects. + Used to track position and movement of prims and avatars - + - InventoryGesture Class, details on a series of animations, sounds, and actions - + - Construct an InventoryGesture object - A which becomes the - objects AssetUUID - + - Construct an InventoryGesture object from a serialization stream - + - A folder contains s and has certain attributes specific - to itself - - The Preferred for a folder. - - - The Version of this folder - - - Number of child items this folder contains. - - + - Constructor - UUID of the folder - + - - - + - Get Serilization data for this InventoryFolder object - + - Construct an InventoryFolder object from a serialization stream - + - - - + - - - - + - + Handles all network traffic related to prims and avatar positions and + movement. - - - + - + Construct a new instance of the ObjectManager class - - + A reference to the instance - + - Tools for dealing with agents inventory + Callback for getting object media data via CAP + Indicates if the operation was succesfull + Object media version string + Array indexed on prim face of media entry data - - Used for converting shadow_id to asset_id - - + The event subscribers, null of no subscribers - - Raises the ItemReceived Event - A ItemReceivedEventArgs object containing - the data sent from the simulator - - + Thread sync lock object - + The event subscribers, null of no subscribers - - Raises the FolderUpdated Event - A FolderUpdatedEventArgs object containing - the data sent from the simulator - - + Thread sync lock object - + The event subscribers, null of no subscribers - - Raises the InventoryObjectOffered Event - A InventoryObjectOfferedEventArgs object containing - the data sent from the simulator - - + Thread sync lock object - + The event subscribers, null of no subscribers - - Raises the TaskItemReceived Event - A TaskItemReceivedEventArgs object containing - the data sent from the simulator - - + Thread sync lock object - + The event subscribers, null of no subscribers - - Raises the FindObjectByPath Event - A FindObjectByPathEventArgs object containing - the data sent from the simulator - - + Thread sync lock object - + The event subscribers, null of no subscribers - - Raises the TaskInventoryReply Event - A TaskInventoryReplyEventArgs object containing - the data sent from the simulator - - + Thread sync lock object - + The event subscribers, null of no subscribers - - Raises the SaveAssetToInventory Event - A SaveAssetToInventoryEventArgs object containing - the data sent from the simulator - - + Thread sync lock object - + The event subscribers, null of no subscribers - - Raises the ScriptRunningReply Event - A ScriptRunningReplyEventArgs object containing - the data sent from the simulator - - + Thread sync lock object - - Partial mapping of AssetTypes to folder names - - - - Default constructor - - Reference to the GridClient object - - - - Fetch an inventory item from the dataserver - - The items - The item Owners - a integer representing the number of milliseconds to wait for results - An object on success, or null if no item was found - Items will also be sent to the event - - - - Request A single inventory item - - The items - The item Owners - - - - - Request inventory items - - Inventory items to request - Owners of the inventory items - - - - - Get contents of a folder - - The of the folder to search - The of the folders owner - true to retrieve folders - true to retrieve items - sort order to return results in - a integer representing the number of milliseconds to wait for results - A list of inventory items matching search criteria within folder - - InventoryFolder.DescendentCount will only be accurate if both folders and items are - requested - - - - Request the contents of an inventory folder - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - + + The event subscribers, null of no subscribers - - - Returns the UUID of the folder (category) that defaults to - containing 'type'. The folder is not necessarily only for that - type - - This will return the root folder if one does not exist - - The UUID of the desired folder if found, the UUID of the RootFolder - if not found, or UUID.Zero on failure + + Thread sync lock object - - - Find an object in inventory using a specific path to search - - The folder to begin the search in - The object owners - A string path to search - milliseconds to wait for a reply - Found items or if - timeout occurs or item is not found + + The event subscribers, null of no subscribers - - - Find inventory items by path - - The folder to begin the search in - The object owners - A string path to search, folders/objects separated by a '/' - Results are sent to the event + + Thread sync lock object - - - Search inventory Store object for an item or folder - - The folder to begin the search in - An array which creates a path to search - Number of levels below baseFolder to conduct searches - if True, will stop searching after first match is found - A list of inventory items found + + Reference to the GridClient object - - - Move an inventory item or folder to a new location - - The item or folder to move - The to move item or folder to + + Does periodic dead reckoning calculation to convert + velocity and acceleration to new positions for objects - - - Move an inventory item or folder to a new location and change its name - - The item or folder to move - The to move item or folder to - The name to change the item or folder to + + Raised when the simulator sends us data containing + A , Foliage or Attachment + + - - - Move and rename a folder - - The source folders - The destination folders - The name to change the folder to + + Raised when the simulator sends us data containing + additional information + + - - - Update folder properties - - of the folder to update - Sets folder's parent to - Folder name - Folder type + + Raised when the simulator sends us data containing + Primitive.ObjectProperties for an object we are currently tracking - - - Move a folder - - The source folders - The destination folders + + Raised when the simulator sends us data containing + additional and details + - - - Move multiple folders, the keys in the Dictionary parameter, - to a new parents, the value of that folder's key. - - A Dictionary containing the - of the source as the key, and the - of the destination as the value + + Raised when the simulator sends us data containing + updated information for an - - - Move an inventory item to a new folder - - The of the source item to move - The of the destination folder + + Raised when the simulator sends us data containing + and movement changes - - - Move and rename an inventory item - - The of the source item to move - The of the destination folder - The name to change the folder to + + Raised when the simulator sends us data containing + updates to an Objects DataBlock - - - Move multiple inventory items to new locations - - A Dictionary containing the - of the source item as the key, and the - of the destination folder as the value + + Raised when the simulator informs us an + or is no longer within view - - - Remove descendants of a folder - - The of the folder + + Raised when the simulator sends us data containing + updated sit information for our - - - Remove a single item from inventory - - The of the inventory item to remove + + Raised when the simulator sends us data containing + purchase price information for a - - - Remove a folder from inventory - - The of the folder to remove + + Raises the ObjectProperties Event + A ObjectPropertiesEventArgs object containing + the data sent from the simulator - - - Remove multiple items or folders from inventory - - A List containing the s of items to remove - A List containing the s of the folders to remove + + Raises the ObjectPropertiesUpdated Event + A ObjectPropertiesUpdatedEventArgs object containing + the data sent from the simulator - - - Empty the Lost and Found folder - + + Raises the ObjectPropertiesFamily Event + A ObjectPropertiesFamilyEventArgs object containing + the data sent from the simulator - - - Empty the Trash folder - + + Raises the AvatarUpdate Event + A AvatarUpdateEventArgs object containing + the data sent from the simulator - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - + + Raises the ObjectDataBlockUpdate Event + A ObjectDataBlockUpdateEventArgs object containing + the data sent from the simulator - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - + + Raises the KillObject Event + A KillObjectEventArgs object containing + the data sent from the simulator - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - The UUID of the newly created folder + + Raises the AvatarSitChanged Event + A AvatarSitChangedEventArgs object containing + the data sent from the simulator - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - Sets this folder as the default folder - for new assets of the specified type. Use AssetType.Unknown - to create a normal folder, otherwise it will likely create a - duplicate of an existing folder type - The UUID of the newly created folder - If you specify a preferred type of AsseType.Folder - it will create a new root folder which may likely cause all sorts - of strange problems + + Raises the PayPriceReply Event + A PayPriceReplyEventArgs object containing + the data sent from the simulator - + - Create an inventory item and upload asset data + Request information for a single object from a + you are currently connected to - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Delegate that will receive feedback on success or failure + The the object is located + The Local ID of the object - + - Create an inventory item and upload asset data + Request information for multiple objects contained in + the same simulator - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Permission of the newly created item - (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) - Delegate that will receive feedback on success or failure + The the objects are located + An array containing the Local IDs of the objects - + - Creates inventory link to another inventory item or folder + Attempt to purchase an original object, a copy, or the contents of + an object - Put newly created link in folder with this UUID - Inventory item or folder - Method to call upon creation of the link + The the object is located + The Local ID of the object + Whether the original, a copy, or the object + contents are on sale. This is used for verification, if the this + sale type is not valid for the object the purchase will fail + Price of the object. This is used for + verification, if it does not match the actual price the purchase + will fail + Group ID that will be associated with the new + purchase + Inventory folder UUID where the object or objects + purchased should be placed + + + BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, + 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); + + - + - Creates inventory link to another inventory item + Request prices that should be displayed in pay dialog. This will triggger the simulator + to send us back a PayPriceReply which can be handled by OnPayPriceReply event - Put newly created link in folder with this UUID - Original inventory item - Method to call upon creation of the link + The the object is located + The ID of the object + The result is raised in the event - + - Creates inventory link to another inventory folder + Select a single object. This will cause the to send us + an which will raise the event - Put newly created link in folder with this UUID - Original inventory folder - Method to call upon creation of the link + The the object is located + The Local ID of the object + - + - Creates inventory link to another inventory item or folder + Select a single object. This will cause the to send us + an which will raise the event - Put newly created link in folder with this UUID - Original item's UUID - Name - Description - Asset Type - Inventory Type - Transaction UUID - Method to call upon creation of the link + The the object is located + The Local ID of the object + if true, a call to is + made immediately following the request + - + - + Select multiple objects. This will cause the to send us + an which will raise the event - - - - + The the objects are located + An array containing the Local IDs of the objects + Should objects be deselected immediately after selection + - + - + Select multiple objects. This will cause the to send us + an which will raise the event - - - - - + The the objects are located + An array containing the Local IDs of the objects + - + - + Update the properties of an object - - - - - + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on - + - Request a copy of an asset embedded within a notecard + Sets the sale properties of a single object - Usually UUID.Zero for copying an asset from a notecard - UUID of the notecard to request an asset from - Target folder for asset to go to in your inventory - UUID of the embedded asset - callback to run when item is copied to inventory + The the object is located + The Local ID of the object + One of the options from the enum + The price of the object - + - + Sets the sale properties of multiple objects - + The the objects are located + An array containing the Local IDs of the objects + One of the options from the enum + The price of the object - + - + Deselect a single object - + The the object is located + The Local ID of the object - + - + Deselect multiple objects. - - + The the objects are located + An array containing the Local IDs of the objects - + - + Perform a click action on an object - - - + The the object is located + The Local ID of the object - + - Save changes to notecard embedded in object contents + Perform a click action (Grab) on a single object - Encoded notecard asset data - Notecard UUID - Object's UUID - Called upon finish of the upload with status information + The the object is located + The Local ID of the object + The texture coordinates to touch + The surface coordinates to touch + The face of the position to touch + The region coordinates of the position to touch + The surface normal of the position to touch (A normal is a vector perpindicular to the surface) + The surface binormal of the position to touch (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - + - Upload new gesture asset for an inventory gesture item + Create (rez) a new prim object in a simulator - Encoded gesture asset - Gesture inventory UUID - Callback whick will be called when upload is complete + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - + - Update an existing script in an agents Inventory + Create (rez) a new prim object in a simulator - A byte[] array containing the encoded scripts contents - the itemID of the script - if true, sets the script content to run on the mono interpreter - + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Specify the + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - + - Update an existing script in an task Inventory + Rez a Linden tree - A byte[] array containing the encoded scripts contents - the itemID of the script - UUID of the prim containting the script - if true, sets the script content to run on the mono interpreter - if true, sets the script to running - + A reference to the object where the object resides + The size of the tree + The rotation of the tree + The position of the tree + The Type of tree + The of the group to set the tree to, + or UUID.Zero if no group is to be set + true to use the "new" Linden trees, false to use the old - + - Rez an object from inventory + Rez grass and ground cover - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details + A reference to the object where the object resides + The size of the grass + The rotation of the grass + The position of the grass + The type of grass from the enum + The of the group to set the tree to, + or UUID.Zero if no group is to be set - + - Rez an object from inventory + Set the textures to apply to the faces of an object - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply - + - Rez an object from inventory + Set the textures to apply to the faces of an object - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + A media URL (not used) - + - DeRez an object from the simulator to the agents Objects folder in the agents Inventory + Set the Light data on an object - The simulator Local ID of the object - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - + - DeRez an object from the simulator and return to inventory + Set the flexible data on an object - The simulator Local ID of the object - The type of destination from the enum - The destination inventory folders -or- - if DeRezzing object to a tasks Inventory, the Tasks - The transaction ID for this request which - can be used to correlate this request with other packets - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - + - Rez an item from inventory to its previous simulator location + Set the sculptie texture and data on an object - - - - + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - + - Give an inventory item to another avatar + Unset additional primitive parameters on an object - The of the item to give - The name of the item - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The extra parameters to set - + - Give an inventory Folder with contents to another avatar + Link multiple prims into a linkset - The of the Folder to give - The name of the folder - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer + A reference to the object where the objects reside + An array which contains the IDs of the objects to link + The last object in the array will be the root object of the linkset TODO: Is this true? - + - Copy or move an from agent inventory to a task (primitive) inventory + Delink/Unlink multiple prims from a linkset - The target object - The item to copy or move from inventory - - For items with copy permissions a copy of the item is placed in the tasks inventory, - for no-copy items the object is moved to the tasks inventory + A reference to the object where the objects reside + An array which contains the IDs of the objects to delink - + - Retrieve a listing of the items contained in a task (Primitive) + Change the rotation of an object - The tasks - The tasks simulator local ID - milliseconds to wait for reply from simulator - A list containing the inventory items inside the task or null - if a timeout occurs - This request blocks until the response from the simulator arrives - or timeoutMS is exceeded + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation of the object - + - Request the contents of a tasks (primitives) inventory from the - current simulator + Set the name of an object - The LocalID of the object - + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new name of the object - + - Request the contents of a tasks (primitives) inventory + Set the name of multiple objects - The simulator Local ID of the object - A reference to the simulator object that contains the object - + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the name of + An array which contains the new names of the objects - + - Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + Set the description of an object - LocalID of the object in the simulator - UUID of the task item to move - The ID of the destination folder in this agents inventory - Simulator Object - Raises the event + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new description of the object - + - Remove an item from an objects (Prim) Inventory + Set the descriptions of multiple objects - LocalID of the object in the simulator - UUID of the task item to remove - Simulator Object - You can confirm the removal by comparing the tasks inventory serial before and after the - request with the request combined with - the event - - - - Copy an InventoryScript item from the Agents Inventory into a primitives task inventory - - An unsigned integer representing a primitive being simulated - An which represents a script object from the agents inventory - true to set the scripts running state to enabled - A Unique Transaction ID - - The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory - and assumes the script exists in the agents inventory. - - uint primID = 95899503; // Fake prim ID - UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory - - Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, - false, true, InventorySortOrder.ByName, 10000); - - Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); - - + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the description of + An array which contains the new descriptions of the objects - + - Request the running status of a script contained in a task (primitive) inventory + Attach an object to this avatar - The ID of the primitive containing the script - The ID of the script - The event can be used to obtain the results of the - request - + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The point on the avatar the object will be attached + The rotation of the attached object - + - Send a request to set the running state of a script contained in a task (primitive) inventory + Drop an attached object from this avatar - The ID of the primitive containing the script - The ID of the script - true to set the script running, false to stop a running script - To verify the change you can use the method combined - with the event + A reference to the + object where the objects reside. This will always be the simulator the avatar is currently in + + The object's ID which is local to the simulator the object is in - + - Create a CRC from an InventoryItem + Detach an object from yourself - The source InventoryItem - A uint representing the source InventoryItem as a CRC + A reference to the + object where the objects reside + This will always be the simulator the avatar is currently in + + An array which contains the IDs of the objects to detach - + - Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + Change the position of an object, Will change position of entire linkset - Obfuscated shadow_id value - Deobfuscated asset_id value + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object - + - Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id + Change the position of an object - asset_id value to obfuscate - Obfuscated shadow_id value + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + if true, will change position of (this) child prim only, not entire linkset - + - Wrapper for creating a new object + Change the Scale (size) of an object - The type of item from the enum - The of the newly created object - An object with the type and id passed + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change scale of this prim only, not entire linkset + True to resize prims uniformly - + - Parse the results of a RequestTaskInventory() response + Change the Rotation of an object that is either a child or a whole linkset - A string which contains the data from the task reply - A List containing the items contained within the tasks inventory - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change rotation of this prim only, not entire linkset - + - UpdateCreateInventoryItem packets are received when a new inventory item - is created. This may occur when an object that's rezzed in world is - taken into inventory, when an item is created using the CreateInventoryItem - packet, or when an object is purchased + Send a Multiple Object Update packet to change the size, scale or rotation of a primitive - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - an inventory object sent by another avatar or primitive - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation, size, or position of the target object + The flags from the Enum - - Raised when the simulator sends us data containing - ... + + + Deed an object (prim) to a group, Object must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The of the group to deed the object to - - Raised when the simulator sends us data containing - ... + + + Deed multiple objects (prims) to a group, Objects must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + An array which contains the IDs of the objects to deed + The of the group to deed the object to - + - Get this agents Inventory data + Set the permissions on multiple objects + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the permissions on + The new Who mask to set + The new Permissions mark to set + TODO: What does this do? - + - Callback for inventory item creation finishing + Request additional properties for an object - Whether the request to create an inventory - item succeeded or not - Inventory item being created. If success is - false this will be null + A reference to the object where the object resides + + - + - Callback for an inventory item being create from an uploaded asset + Request additional properties for an object - true if inventory item creation was successful - - - + A reference to the object where the object resides + Absolute UUID of the object + Whether to require server acknowledgement of this request - + - + Set the ownership of a list of objects to the specified group - + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the group id on + The Groups ID - + - Reply received when uploading an inventory asset + Update current URL of the previously set prim media - Has upload been successful - Error message if upload failed - Inventory asset UUID - New asset UUID + UUID of the prim + Set current URL to this + Prim face number + Simulator in which prim is located - + - Delegate that is invoked when script upload is completed + Set object media - Has upload succeded (note, there still might be compile errors) - Upload status message - Is compilation successful - If compilation failed, list of error messages, null on compilation success - Script inventory UUID - Script's new asset UUID - - - Set to true to accept offer, false to decline it - - - The folder to accept the inventory into, if null default folder for will be used + UUID of the prim + Array the length of prims number of faces. Null on face indexes where there is + no media, on faces which contain the media + Simulatior in which prim is located - + - Callback when an inventory object is accepted and received from a - task inventory. This is the callback in which you actually get - the ItemID, as in ObjectOfferedCallback it is null when received - from a task. + Retrieve information about object media + UUID of the primitive + Simulator where prim is located + Call this callback when done - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + - Holds group information for Avatars such as those you might find in a profile + A terse object update, used when a transformation matrix or + velocity/acceleration for an object changes but nothing else + (scale/position/rotation/acceleration/velocity) + The sender + The EventArgs object containing the packet data - - true of Avatar accepts group notices - - - Groups Key + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Texture Key for groups insignia + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Name of the group + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Powers avatar has in the group + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Avatars Currently selected title + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - true of Avatar has chosen to list this in their profile + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Contains an animation currently being played by an agent + Setup construction data for a basic primitive shape + Primitive shape to construct + Construction data that can be plugged into a - - The ID of the animation asset - - - A number to indicate start order of currently playing animations - On Linden Grids this number is unique per region, with OpenSim it is per client - - - - - + - Holds group information on an individual profile pick + + + + + + + + - + - Retrieve friend status notifications, and retrieve avatar names and - profiles + + + + - - The event subscribers, null of no subscribers - - - Raises the AvatarAnimation Event - An AvatarAnimationEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarAppearance Event - A AvatarAppearanceEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the UUIDNameReply Event - A UUIDNameReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarInterestsReply Event - A AvatarInterestsReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the AvatarPropertiesReply Event - A AvatarPropertiesReplyEventArgs object containing - the data sent from the simulator - - - Thread sync lock object + + + Set the Shape data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + Data describing the prim shape - - The event subscribers, null of no subscribers + + + Set the Material data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new material of the object - - Raises the AvatarGroupsReply Event - A AvatarGroupsReplyEventArgs object containing - the data sent from the simulator + + + + + + + + + + + - - Thread sync lock object + + + + + + + + + + + - - The event subscribers, null of no subscribers + + Provides data for the event + + The event occurs when the simulator sends + an containing a Primitive, Foliage or Attachment data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or + if an Avatar crosses the border into a new simulator and returns to the current simulator + + + The following code example uses the , , and + properties to display new Primitives and Attachments on the window. + + // Subscribe to the event that gives us prim and foliage information + Client.Objects.ObjectUpdate += Objects_ObjectUpdate; + private void Objects_ObjectUpdate(object sender, PrimEventArgs e) + { + Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); + } + + + + - - Raises the AvatarPickerReply Event - A AvatarPickerReplyEventArgs object containing - the data sent from the simulator + + + Construct a new instance of the PrimEventArgs class + + The simulator the object originated from + The Primitive + The simulator time dilation + The prim was not in the dictionary before this update + true if the primitive represents an attachment to an agent - - Thread sync lock object + + Get the simulator the originated from - - The event subscribers, null of no subscribers + + Get the details - - Raises the ViewerEffectPointAt Event - A ViewerEffectPointAtEventArgs object containing - the data sent from the simulator + + true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - Thread sync lock object + + true if the is attached to an - - The event subscribers, null of no subscribers + + Get the simulator Time Dilation - - Raises the ViewerEffectLookAt Event - A ViewerEffectLookAtEventArgs object containing - the data sent from the simulator + + Provides data for the event + + The event occurs when the simulator sends + an containing Avatar data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator + + + The following code example uses the property to make a request for the top picks + using the method in the class to display the names + of our own agents picks listings on the window. + + // subscribe to the AvatarUpdate event to get our information + Client.Objects.AvatarUpdate += Objects_AvatarUpdate; + Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; + private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) + { + // we only want our own data + if (e.Avatar.LocalID == Client.Self.LocalID) + { + // Unsubscribe from the avatar update event to prevent a loop + // where we continually request the picks every time we get an update for ourselves + Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; + // make the top picks request through AvatarManager + Client.Avatars.RequestAvatarPicks(e.Avatar.ID); + } + } + private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) + { + // we'll unsubscribe from the AvatarPicksReply event since we now have the data + // we were looking for + Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; + // loop through the dictionary and extract the names of the top picks from our profile + foreach (var pickName in e.Picks.Values) + { + Console.WriteLine(pickName); + } + } + + + - - Thread sync lock object + + + Construct a new instance of the AvatarUpdateEventArgs class + + The simulator the packet originated from + The data + The simulator time dilation + The avatar was not in the dictionary before this update - - The event subscribers, null of no subscribers + + Get the simulator the object originated from - - Raises the ViewerEffect Event - A ViewerEffectEventArgs object containing - the data sent from the simulator + + Get the data - - Thread sync lock object + + Get the simulator time dilation - - The event subscribers, null of no subscribers + + true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) - - Raises the AvatarPicksReply Event - A AvatarPicksReplyEventArgs object containing - the data sent from the simulator + + Provides additional primitive data for the event + + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment data + The event is also raised when a request is + made. + + + The following code example uses the , and + + properties to display new attachments and send a request for additional properties containing the name of the + attachment then display it on the window. + + // Subscribe to the event that provides additional primitive details + Client.Objects.ObjectProperties += Objects_ObjectProperties; + // handle the properties data that arrives + private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); + } + - - Thread sync lock object + + + Construct a new instance of the ObjectPropertiesEventArgs class + + The simulator the object is located + The primitive Properties - - The event subscribers, null of no subscribers + + Get the simulator the object is located - - Raises the PickInfoReply Event - A PickInfoReplyEventArgs object containing - the data sent from the simulator + + Get the primitive properties - - Thread sync lock object + + Provides additional primitive data for the event + + The event occurs when the simulator sends + an containing additional details for a Primitive or Foliage data that is currently + being tracked in the dictionary + The event is also raised when a request is + made and is enabled + - - The event subscribers, null of no subscribers + + + Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class + + The simulator the object is located + The Primitive + The primitive Properties - - Raises the AvatarClassifiedReply Event - A AvatarClassifiedReplyEventArgs object containing - the data sent from the simulator + + Get the simulator the object is located - - Thread sync lock object + + Get the primitive details - - The event subscribers, null of no subscribers + + Get the primitive properties - - Raises the ClassifiedInfoReply Event - A ClassifiedInfoReplyEventArgs object containing - the data sent from the simulator + + Provides additional primitive data, permissions and sale info for the event + + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment. This includes + Permissions, Sale info, and other basic details on an object + The event is also raised when a request is + made, the viewer equivalent is hovering the mouse cursor over an object + - - Thread sync lock object + + Get the simulator the object is located - + - Represents other avatars - - - - Tracks the specified avatar on your map - Avatar ID to track - + - Request a single avatar name - The avatar key to retrieve a name for - + + Provides primitive data containing updated location, velocity, rotation, textures for the event + + The event occurs when the simulator sends updated location, velocity, rotation, etc + + + + Get the simulator the object is located + + + Get the primitive details + + - Request a list of avatar names - The avatar keys to retrieve names for - + - Start a request for Avatar Properties - - + - Search for an avatar (first name, last name) - The name to search for - An ID to associate with this query - + + Get the simulator the object is located + + + Get the primitive details + + - Start a request for Avatar Picks - UUID of the avatar - + - Start a request for Avatar Classifieds - UUID of the avatar - + - Start a request for details of a specific profile pick - UUID of the avatar - UUID of the profile pick - + - Start a request for details of a specific profile classified - UUID of the avatar - UUID of the profile classified - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Get the simulator the object is located - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The LocalID of the object - + - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. + Provides updates sit position data - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Get the simulator the object is located - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Raised when the simulator sends us data containing - an agents animation playlist + + + - - Raised when the simulator sends us data containing - the appearance information for an agent + + + - - Raised when the simulator sends us data containing - agent names/id values + + Get the simulator the object is located - - Raised when the simulator sends us data containing - the interests listed in an agents profile + + + - - Raised when the simulator sends us data containing - profile property information for an agent + + + - - Raised when the simulator sends us data containing - the group membership an agent is a member of + + + - - Raised when the simulator sends us data containing - name/id pair + + + Indicates if the operation was successful + - - Raised when the simulator sends us data containing - the objects and effect when an agent is pointing at + + + Media version string + - - Raised when the simulator sends us data containing - the objects and effect when an agent is looking at + + + Array of media entries indexed by face number + - - Raised when the simulator sends us data containing - an agents viewer effect information + + + Create an allocated UDP packet buffer for receiving a packet + - - Raised when the simulator sends us data containing - the top picks from an agents profile + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host - - Raised when the simulator sends us data containing - the Pick details + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host + Size of the buffer to allocate for packet data - - Raised when the simulator sends us data containing - the classified ads an agent has placed + + Size of the byte array used to store raw packet data - - Raised when the simulator sends us data containing - the details of a classified ad + + Raw packet data buffer - - Provides data for the event - The event occurs when the simulator sends - the animation playlist for an agent - - The following code example uses the and - properties to display the animation playlist of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; - - private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) - { - // create a dictionary of "known" animations from the Animations class using System.Reflection - Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); - Type type = typeof(Animations); - System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); - foreach (System.Reflection.FieldInfo field in fields) - { - systemAnimations.Add((UUID)field.GetValue(type), field.Name); - } - - // find out which animations being played are known animations and which are assets - foreach (Animation animation in e.Animations) - { - if (systemAnimations.ContainsKey(animation.AnimationID)) - { - Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, - systemAnimations[animation.AnimationID], animation.AnimationSequence); - } - else - { - Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, - animation.AnimationID, animation.AnimationSequence); - } - } - } - - + + Length of the data to transmit - + + EndPoint of the remote host + + - Construct a new instance of the AvatarAnimationEventArgs class + Object pool for packet buffers. This is used to allocate memory for all + incoming and outgoing packets, and zerocoding buffers for those packets - The ID of the agent - The list of animations to start - - - Get the ID of the agent - - Get the list of animations to start - - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - + + + Initialize the object pool in client mode + + Server to connect to + + + + - + - Construct a new instance of the AvatarAppearanceEventArgs class + Initialize the object pool in server mode - The ID of the agent - true of the agent is a trial account - The default agent texture - The agents appearance layer textures - The for the agent + + + + - - Get the ID of the agent + + + Returns a packet buffer with EndPoint set if the buffer is in + client mode, or with EndPoint set to null in server mode + + Initialized UDPPacketBuffer object - - true if the agent is a trial account + + + Default constructor + - - Get the default agent texture + + + Check a packet buffer out of the pool + + A packet buffer object - - Get the agents appearance layer textures + + + Returns an instance of the class that has been checked out of the Object Pool. + - - Get the for the agent + + + Checks the instance back into the object pool + - - Represents the interests from the profile of an agent + + + Creates a new instance of the ObjectPoolBase class. Initialize MUST be called + after using this constructor. + - - Get the ID of the agent + + + Creates a new instance of the ObjectPool Base class. + + The object pool is composed of segments, which + are allocated whenever the size of the pool is exceeded. The number of items + in a segment should be large enough that allocating a new segmeng is a rare + thing. For example, on a server that will have 10k people logged in at once, + the receive buffer object pool should have segment sizes of at least 1000 + byte arrays per segment. + + The minimun number of segments that may exist. + Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. + The frequency which segments are checked to see if they're eligible for cleanup. - - The properties of an agent + + + The total number of segments created. Intended to be used by the Unit Tests. + - - Get the ID of the agent + + + The number of items that are in a segment. Items in a segment + are all allocated at the same time, and are hopefully close to + each other in the managed heap. + - - Get the ID of the agent + + + The minimum number of segments. When segments are reclaimed, + this number of segments will always be left alone. These + segments are allocated at startup. + - - Get the ID of the agent + + + The age a segment must be before it's eligible for cleanup. + This is used to prevent thrash, and typical values are in + the 5 minute range. + - - Get the ID of the avatar + + + The frequence which the cleanup thread runs. This is typically + expected to be in the 5 minute range. + - + - Sent to the client to indicate a teleport request has completed + Forces the segment cleanup algorithm to be run. This method is intended + primarly for use from the Unit Test libraries. - - The of the agent + + + Responsible for allocate 1 instance of an object that will be stored in a segment. + + An instance of whatever objec the pool is pooling. - - + + + Checks in an instance of T owned by the object pool. This method is only intended to be called + by the WrappedObject class. + + The segment from which the instance is checked out. + The instance of T to check back into the segment. - - The simulators handle the agent teleported to + + + Checks an instance of T from the pool. If the pool is not sufficient to + allow the checkout, a new segment is created. + + A WrappedObject around the instance of T. To check + the instance back into the segment, be sureto dispose the WrappedObject + when finished. - - A Uri which contains a list of Capabilities the simulator supports + + + - - Indicates the level of access required - to access the simulator, or the content rating, or the simulators - map status + + + - - The IP Address of the simulator + + + - - The UDP Port the simulator will listen for UDP traffic on + + + - - Status flags indicating the state of the Agent upon arrival, Flying, etc. + + + The ObservableDictionary class is used for storing key/value pairs. It has methods for firing + events to subscribers when items are added, removed, or changed. + + Key + Value - + - Serialize the object + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. - An containing the objects data + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); + + - + - Deserialize the message + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. - An containing the data + Initial size of dictionary + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); + + - + - Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. + A dictionary of callbacks to fire when specified action occurs - + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + + - Serialize the object + Indexer for the dictionary - An containing the objects data + The key + The value - + - Deserialize the message - - An containing the data + Gets the number of Key/Value pairs contained in the - + - Serialize the object + Register a callback to be fired when an action occurs - An containing the objects data + The action + The callback to fire - + - Deserialize the message + Unregister a callback - An containing the data + The action + The callback to fire - + - Serialize the object - An containing the objects data + + + + - + - Deserialize the message + Try to get entry from the with specified key - An containing the data + Key to use for lookup + Value returned + + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + - + - A message sent to the client which indicates a teleport request has failed - and contains some information on why it failed + Finds the specified match. + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + - - + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + - - A string key of the reason the teleport failed e.g. CouldntTPCloser - Which could be used to look up a value in a dictionary or enum + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + - - The of the Agent + + Check if Key exists in Dictionary + Key to check for + + if found, otherwise - - A string human readable message containing the reason - An example: Could not teleport closer to destination + + Check if Value exists in Dictionary + Value to check for + + if found, otherwise - + - Serialize the object - - An containing the objects data + Adds the specified key to the dictionary, dictionary locking is not performed, + + The key + The value - + - Deserialize the message + Removes the specified key, dictionary locking is not performed - An containing the data + The key. + + if successful, otherwise - + - Serialize the object + Clear the contents of the dictionary - An containing the objects data - + - Deserialize the message + Enumerator for iterating dictionary entries - An containing the data + + - + - Contains a list of prim owner information for a specific parcel in a simulator + A custom decoder callback - - A Simulator will always return at least 1 entry - If agent does not have proper permission the OwnerID will be UUID.Zero - If agent does not have proper permission OR there are no primitives on parcel - the DataBlocksExtended map will not be sent from the simulator - - - - An Array of objects + The key of the object + the data to decode + A string represending the fieldData - + - Serialize the object + Add a custom decoder callback - An containing the objects data + The key of the field to decode + The custom decode handler - + - Deserialize the message + Remove a custom decoder callback - An containing the data + The key of the field to decode + The custom decode handler - + - Prim ownership information for a specified owner on a single parcel + Creates a formatted string containing the values of a Packet + The Packet + A formatted string of values of the nested items in the Packet object - - The of the prim owner, - UUID.Zero if agent has no permission to view prim owner information - - - The total number of prims - - - True if the OwnerID is a - - - True if the owner is online - This is no longer used by the LL Simulators - - - The date the most recent prim was rezzed - - + - The details of a single parcel in a region, also contains some regionwide globals + Decode an IMessage object into a beautifully formatted string + The IMessage object + Recursion level (used for indenting) + A formatted string containing the names and values of the source object - - Simulator-local ID of this parcel - - - Maximum corner of the axis-aligned bounding box for this - parcel - - - Minimum corner of the axis-aligned bounding box for this - parcel - - - Total parcel land area - - - - - - Key of authorized buyer - - - Bitmap describing land layout in 4x4m squares across the - entire region - - - - - - Date land was claimed - - - Appears to always be zero - - - Parcel Description - - - - - - + + + Type of return to use when returning objects from a parcel + - - Total number of primitives owned by the parcel group on - this parcel + + + - - Whether the land is deeded to a group or not + + Return objects owned by parcel owner - - + + Return objects set to group - - Maximum number of primitives this parcel supports + + Return objects not owned by parcel owner or set to group - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + Return a specific list of objects on parcel - - A URL which points to any Quicktime supported media type + + Return objects that are marked for-sale - - A byte, if 0x1 viewer should auto scale media to fit object + + + Blacklist/Whitelist flags used in parcels Access List + - - URL For Music Stream + + Agent is denied access - - Parcel Name + + Agent is granted access - - Autoreturn value in minutes for others' objects + + + The result of a request for parcel properties + - - + + No matches were found for the request - - Total number of other primitives on this parcel + + Request matched a single parcel - - UUID of the owner of this parcel + + Request matched multiple parcels - - Total number of primitives owned by the parcel owner on - this parcel + + + Flags used in the ParcelAccessListRequest packet to specify whether + we want the access list (whitelist), ban list (blacklist), or both + - - + + Request the access list - - How long is pass valid for + + Request the ban list - - Price for a temporary pass + + Request both White and Black lists - - + + + Sequence ID in ParcelPropertiesReply packets (sent when avatar + tries to cross a parcel border) + - - + + Parcel is currently selected - - + + Parcel restricted to a group the avatar is not a + member of - - This field is no longer used + + Avatar is banned from the parcel - - The result of a request for parcel properties + + Parcel is restricted to an access list that the + avatar is not on - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it + + Response to hovering over a parcel - + - Number of primitives your avatar is currently - selecting and sitting on in this parcel + The tool to use when modifying terrain levels - - - - - - A number which increments by 1, starting at 0 for each ParcelProperties request. - Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. - a Negative number indicates the action in has occurred. - + + Level the terrain - - Maximum primitives across the entire simulator + + Raise the terrain - - Total primitives across the entire simulator + + Lower the terrain - - + + Smooth the terrain - - Key of parcel snapshot + + Add random noise to the terrain - - Parcel ownership status + + Revert terrain to simulator default - - Total number of primitives on this parcel + + + The tool size to use when changing terrain levels + - - + + Small - - + + Medium - - TRUE of region denies access to age unverified users + + Large - - A description of the media + + + Reasons agent is denied access to a parcel on the simulator + - - An Integer which represents the height of the media + + Agent is not denied, access is granted - - An integer which represents the width of the media + + Agent is not a member of the group set for the parcel, or which owns the parcel - - A boolean, if true the viewer should loop the media + + Agent is not on the parcels specific allow list - - A string which contains the mime type of the media + + Agent is on the parcels ban list - - true to obscure (hide) media url + + Unknown - - true to obscure (hide) music url + + Agent is not age verified and parcel settings deny access to non age verified avatars - + - Serialize the object + Parcel overlay type. This is used primarily for highlighting and + coloring which is why it is a single integer instead of a set of + flags - An containing the objects data + These values seem to be poorly thought out. The first three + bits represent a single value, not flags. For example Auction (0x05) is + not a combination of OwnedByOther (0x01) and ForSale(0x04). However, + the BorderWest and BorderSouth values are bit flags that get attached + to the value stored in the first three bits. Bits four, five, and six + are unused - - - Deserialize the message - - An containing the data + + Public land - - A message sent from the viewer to the simulator to updated a specific parcels settings + + Land is owned by another avatar - - The of the agent authorized to purchase this - parcel of land or a NULL if the sale is authorized to anyone + + Land is owned by a group - - true to enable auto scaling of the parcel media + + Land is owned by the current avatar - - The category of this parcel used when search is enabled to restrict - search results + + Land is for sale - - A string containing the description to set + + Land is being auctioned - - The of the which allows for additional - powers and restrictions. + + To the west of this area is a parcel border - - The which specifies how avatars which teleport - to this parcel are handled + + To the south of this area is a parcel border - - The LocalID of the parcel to update settings on + + + Various parcel properties + - - A string containing the description of the media which can be played - to visitors + + No flags set - - + + Allow avatars to fly (a client-side only restriction) - - + + Allow foreign scripts to run - - + + This parcel is for sale - - + + Allow avatars to create a landmark on this parcel - - + + Allows all avatars to edit the terrain on this parcel - - + + Avatars have health and can take damage on this parcel. + If set, avatars can be killed and sent home here - - + + Foreign avatars can create objects here - - + + All objects on this parcel can be purchased - - + + Access is restricted to a group - - + + Access is restricted to a whitelist - - + + Ban blacklist is enabled - - + + Unknown - - + + List this parcel in the search directory - - + + Allow personally owned parcels to be deeded to group - - + + If Deeded, owner contributes required tier to group parcel is deeded to - - + + Restrict sounds originating on this parcel to the + parcel boundaries - - + + Objects on this parcel are sold when the land is + purchsaed - - - Deserialize the message - - An containing the data + + Allow this parcel to be published on the web - - - Serialize the object - - An containing the objects data + + The information for this parcel is mature content - - Base class used for the RemoteParcelRequest message + + The media URL is an HTML page - - - A message sent from the viewer to the simulator to request information - on a remote parcel - + + The media URL is a raw HTML string - - Local sim position of the parcel we are looking up + + Restrict foreign object pushes - - Region handle of the parcel we are looking up + + Ban all non identified/transacted avatars - - Region of the parcel we are looking up + + Allow group-owned scripts to run - - - Serialize the object - - An containing the objects data + + Allow object creation by group members or group + objects - - - Deserialize the message - - An containing the data + + Allow all objects to enter this parcel - - - A message sent from the simulator to the viewer in response to a - which will contain parcel information - + + Only allow group and owner objects to enter this parcel - - The grid-wide unique parcel ID + + Voice Enabled on this parcel - - - Serialize the object - - An containing the objects data + + Use Estate Voice channel for Voice on this parcel - - - Deserialize the message - - An containing the data + + Deny Age Unverified Users - + - A message containing a request for a remote parcel from a viewer, or a response - from the simulator to that request + Parcel ownership status - - The request or response details block + + Placeholder - - - Serialize the object - - An containing the objects data + + Parcel is leased (owned) by an avatar or group - - - Deserialize the message - - An containing the data + + Parcel is in process of being leased (purchased) by an avatar or group - - - Serialize the object - - An containing the objects data + + Parcel has been abandoned back to Governor Linden - + - Deserialize the message + Category parcel is listed in under search - An containing the data - - - A message sent from the simulator to an agent which contains - the groups the agent is in - + + No assigned category - - The Agent receiving the message + + Linden Infohub or public area - - An array containing information - for each the agent is a member of + + Adult themed area - - An array containing information - for each the agent is a member of + + Arts and Culture - - - Serialize the object - - An containing the objects data + + Business - - - Deserialize the message - - An containing the data + + Educational - - Group Details specific to the agent + + Gaming - - true of the agent accepts group notices + + Hangout or Club - - The agents tier contribution to the group + + Newcomer friendly - - The Groups + + Parks and Nature - - The of the groups insignia + + Residential - - The name of the group + + Shopping - - The aggregate permissions the agent has in the group for all roles the agent - is assigned + + Not Used? - - An optional block containing additional agent specific information + + Other - - true of the agent allows this group to be - listed in their profile + + Not an actual category, only used for queries - + - A message sent from the viewer to the simulator which - specifies the language and permissions for others to detect - the language specified + Type of teleport landing for a parcel - - A string containng the default language - to use for the agent + + Unset, simulator default - - true of others are allowed to - know the language setting + + Specific landing point set for this parcel - - - Serialize the object - - An containing the objects data + + No landing point set, direct teleports enabled for + this parcel - + - Deserialize the message + Parcel Media Command used in ParcelMediaCommandMessage - An containing the data - - - An EventQueue message sent from the simulator to an agent when the agent - leaves a group - + + Stop the media stream and go back to the first frame - - - An Array containing the AgentID and GroupID - + + Pause the media stream (stop playing but stay on current frame) - - - Serialize the object - - An containing the objects data + + Start the current media stream playing and stop when the end is reached - - - Deserialize the message - - An containing the data + + Start the current media stream playing, + loop to the beginning when the end is reached and continue to play - - An object containing the Agents UUID, and the Groups UUID + + Specifies the texture to replace with video + If passing the key of a texture, it must be explicitly typecast as a key, + not just passed within double quotes. - - The ID of the Agent leaving the group + + Specifies the movie URL (254 characters max) - - The GroupID the Agent is leaving + + Specifies the time index at which to begin playing - - Base class for Asset uploads/results via Capabilities + + Specifies a single agent to apply the media command to - - - The request state - + + Unloads the stream. While the stop command sets the texture to the first frame of the movie, + unload resets it to the real texture that the movie was replacing. - - - Serialize the object - - An containing the objects data + + Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties + (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. - - - Deserialize the message - - An containing the data + + Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). + Use "text/html" for HTML. - - - A message sent from the viewer to the simulator to request a temporary upload capability - which allows an asset to be uploaded - + + Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). + This might still not be working - - The Capability URL sent by the simulator to upload the baked texture to + + Sets a description for the media being displayed (1.19.1 RC0 and later only). - + - A message sent from the simulator that will inform the agent the upload is complete, - and the UUID of the uploaded asset + Some information about a parcel of land returned from a DirectoryManager search - - The uploaded texture asset ID + + Global Key of record - - - A message sent from the viewer to the simulator to request a temporary - capability URI which is used to upload an agents baked appearance textures - + + Parcel Owners - - Object containing request or response + + Name field of parcel, limited to 128 characters - - - Serialize the object - - An containing the objects data + + Description field of parcel, limited to 256 characters - - - Deserialize the message - - An containing the data + + Total Square meters of parcel - - - A message sent from the simulator which indicates the minimum version required for - using voice chat - + + Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - Major Version Required + + True of parcel is in Mature simulator - - Minor version required + + Grid global X position of parcel - - The name of the region sending the version requrements + + Grid global Y position of parcel - - - Serialize the object - - An containing the objects data + + Grid global Z position of parcel (not used) - - - Deserialize the message - - An containing the data + + Name of simulator parcel is located in - - - A message sent from the simulator to the viewer containing the - voice server URI - + + Texture of parcels display picture - - The Parcel ID which the voice server URI applies + + Float representing calculated traffic based on time spent on parcel by avatars - - The name of the region + + Sale price of parcel (not used) - - A uri containing the server/channel information - which the viewer can utilize to participate in voice conversations + + Auction ID of parcel - + - Serialize the object + Parcel Media Information - An containing the objects data - - - Deserialize the message - - An containing the data + + A byte, if 0x1 viewer should auto scale media to fit object - - - - + + A boolean, if true the viewer should loop the media - - + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - + + A URL which points to any Quicktime supported media type - - - Serialize the object - - An containing the objects data + + A description of the media - - - Deserialize the message - - An containing the data + + An Integer which represents the height of the media - - - A message sent by the viewer to the simulator to request a temporary - capability for a script contained with in a Tasks inventory to be updated - + + An integer which represents the width of the media - - Object containing request or response + + A string which contains the mime type of the media - + - Serialize the object + Parcel of land, a portion of virtual real estate in a simulator - An containing the objects data - + - Deserialize the message + Defalt constructor - An containing the data + Local ID of this parcel - - - A message sent from the simulator to the viewer to indicate - a Tasks scripts status. - + + The total number of contiguous 4x4 meter blocks your agent owns within this parcel - - The Asset ID of the script + + The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own - - True of the script is compiled/ran using the mono interpreter, false indicates it - uses the older less efficient lsl2 interprter + + Deprecated, Value appears to always be 0 - - The Task containing the scripts + + Simulator-local ID of this parcel - - true of the script is in a running state + + UUID of the owner of this parcel - - - Serialize the object - - An containing the objects data + + Whether the land is deeded to a group or not - + - Deserialize the message - An containing the data - - - A message containing the request/response used for updating a gesture - contained with an agents inventory - + + Date land was claimed - - Object containing request or response + + Appears to always be zero - - - Serialize the object - - An containing the objects data + + This field is no longer used - - - Deserialize the message - - An containing the data + + Minimum corner of the axis-aligned bounding box for this + parcel - - - A message request/response which is used to update a notecard contained within - a tasks inventory - + + Maximum corner of the axis-aligned bounding box for this + parcel - - The of the Task containing the notecard asset to update + + Bitmap describing land layout in 4x4m squares across the + entire region - - The notecard assets contained in the tasks inventory + + Total parcel land area - + - Serialize the object - An containing the objects data - - - Deserialize the message - - An containing the data + + Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used - - - A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability - which is used to update an asset in an agents inventory - + + Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel + owned by the agent or group that owns this parcel - - - The Notecard AssetID to replace - + + Maximum number of primitives this parcel supports - - - Serialize the object - - An containing the objects data + + Total number of primitives on this parcel - - - Deserialize the message - - An containing the data + + For group-owned parcels this indicates the total number of prims deeded to the group, + for parcels owned by an individual this inicates the number of prims owned by the individual - - - A message containing the request/response used for updating a notecard - contained with an agents inventory - + + Total number of primitives owned by the parcel group on + this parcel, or for parcels owned by an individual with a group set the + total number of prims set to that group. - - Object containing request or response + + Total number of prims owned by other avatars that are not set to group, or not the parcel owner - - - Serialize the object - - An containing the objects data + + A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect + the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed - - - Deserialize the message - - An containing the data + + Autoreturn value in minutes for others' objects - + - Serialize the object - An containing the objects data - - - Deserialize the message - - An containing the data + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it - + + Parcel Name + + + Parcel Description + + + URL For Music Stream + + - A message sent from the simulator to the viewer which indicates - an error occurred while attempting to update a script in an agents or tasks - inventory - - true of the script was successfully compiled by the simulator - - - A string containing the error which occured while trying - to update the script + + Price for a temporary pass - - A new AssetID assigned to the script + + How long is pass valid for - + - A message sent from the viewer to the simulator - requesting the update of an existing script contained - within a tasks inventory - - if true, set the script mode to running + + Key of authorized buyer - - The scripts InventoryItem ItemID to update + + Key of parcel snapshot - - A lowercase string containing either "mono" or "lsl2" which - specifies the script is compiled and ran on the mono runtime, or the older - lsl runtime + + The landing point location - - The tasks which contains the script to update + + The landing point LookAt - + + The type of landing enforced from the enum + + - Serialize the object - An containing the objects data - + - Deserialize the message - An containing the data - + - A message containing either the request or response used in updating a script inside - a tasks inventory - - Object containing request or response + + Access list of who is whitelisted on this + parcel - - - Serialize the object - - An containing the objects data + + Access list of who is blacklisted on this + parcel - - - Deserialize the message - - An containing the data + + TRUE of region denies access to age unverified users - - - Response from the simulator to notify the viewer the upload is completed, and - the UUID of the script asset and its compiled status - + + true to obscure (hide) media url - - The uploaded texture asset ID + + true to obscure (hide) music url - - true of the script was compiled successfully + + A struct containing media details - + - A message sent from a viewer to the simulator requesting a temporary uploader capability - used to update a script contained in an agents inventory + Displays a parcel object in string format + string containing key=value pairs of a parcel object - - The existing asset if of the script in the agents inventory to replace - - - The language of the script - Defaults to lsl version 2, "mono" might be another possible option - - + - Serialize the object + Update the simulator with any local changes to this Parcel object - An containing the objects data + Simulator to send updates to + Whether we want the simulator to confirm + the update with a reply packet or not - + - Deserialize the message + Set Autoreturn time - An containing the data + Simulator to send the update to - + - A message containing either the request or response used in updating a script inside - an agents inventory + Parcel (subdivided simulator lots) subsystem - - Object containing request or response - - + - Serialize the object + Default constructor - An containing the objects data + A reference to the GridClient object - + - Deserialize the message + Parcel Accesslist - An containing the data - + + Agents + + - Serialize the object - An containing the objects data - + + Flags for specific entry in white/black lists + + - Deserialize the message + Owners of primitives on parcel - An containing the data - - Base class for Map Layers via Capabilities + + Prim Owners - - + + True of owner is group - - - Serialize the object - - An containing the objects data + + Total count of prims owned by OwnerID - - - Deserialize the message - - An containing the data + + true of OwnerID is currently online and is not a group - - - Sent by an agent to the capabilities server to request map layers - + + The date of the most recent prim left by OwnerID - + - A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates + Called once parcel resource usage information has been collected + Indicates if operation was successfull + Parcel resource usage information - - An array containing LayerData items + + The event subscribers. null if no subcribers - - - Serialize the object - - An containing the objects data + + Thread sync lock object - - - Deserialize the message - - An containing the data + + The event subscribers. null if no subcribers - - - An object containing map location details - + + Thread sync lock object - - The Asset ID of the regions tile overlay + + The event subscribers. null if no subcribers - - The grid location of the southern border of the map tile + + Thread sync lock object - - The grid location of the western border of the map tile + + The event subscribers. null if no subcribers - - The grid location of the eastern border of the map tile + + Thread sync lock object - - The grid location of the northern border of the map tile + + The event subscribers. null if no subcribers - - Object containing request or response + + Thread sync lock object - - - Serialize the object - - An containing the objects data + + The event subscribers. null if no subcribers - - - Deserialize the message - - An containing the data + + Thread sync lock object - - - New as of 1.23 RC1, no details yet. - + + The event subscribers. null if no subcribers - - - Serialize the object - - An containing the objects data + + Thread sync lock object - - - Deserialize the message - - An containing the data + + The event subscribers. null if no subcribers - - - Serialize the object - - An containing the objects data + + Thread sync lock object - - - Deserialize the message - - An containing the data + + The event subscribers. null if no subcribers - - A string containing the method used + + Thread sync lock object + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a Parcel Update request - - - A request sent from an agent to the Simulator to begin a new conference. - Contains a list of Agents which will be included in the conference - + + Raised when the parcel your agent is located sends a ParcelMediaCommand - - An array containing the of the agents invited to this conference + + Raises the ParcelDwellReply event + A ParcelDwellReplyEventArgs object containing the + data returned from the simulator - - The conferences Session ID + + Raises the ParcelInfoReply event + A ParcelInfoReplyEventArgs object containing the + data returned from the simulator - - - Serialize the object - - An containing the objects data + + Raises the ParcelProperties event + A ParcelPropertiesEventArgs object containing the + data returned from the simulator - - - Deserialize the message - - An containing the data + + Raises the ParcelAccessListReply event + A ParcelAccessListReplyEventArgs object containing the + data returned from the simulator - - - A moderation request sent from a conference moderator - Contains an agent and an optional action to take - + + Raises the ParcelObjectOwnersReply event + A ParcelObjectOwnersReplyEventArgs object containing the + data returned from the simulator - - The Session ID + + Raises the SimParcelsDownloaded event + A SimParcelsDownloadedEventArgs object containing the + data returned from the simulator - - + + Raises the ForceSelectObjectsReply event + A ForceSelectObjectsReplyEventArgs object containing the + data returned from the simulator - - A list containing Key/Value pairs, known valid values: - key: text value: true/false - allow/disallow specified agents ability to use text in session - key: voice value: true/false - allow/disallow specified agents ability to use voice in session - - "text" or "voice" + + Raises the ParcelMediaUpdateReply event + A ParcelMediaUpdateReplyEventArgs object containing the + data returned from the simulator - - + + Raises the ParcelMediaCommand event + A ParcelMediaCommandEventArgs object containing the + data returned from the simulator - + - Serialize the object + Request basic information for a single parcel - An containing the objects data + Simulator-local ID of the parcel - + - Deserialize the message + Request properties of a single parcel - An containing the data + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + multiple simultaneous requests - + - A message sent from the agent to the simulator which tells the - simulator we've accepted a conference invitation + Request the access list for a single parcel + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelAccessList reply, useful for distinguishing between + multiple simultaneous requests + + - - The conference SessionID - - + - Serialize the object + Request properties of parcels using a bounding box selection - An containing the objects data + Simulator containing the parcel + Northern boundary of the parcel selection + Eastern boundary of the parcel selection + Southern boundary of the parcel selection + Western boundary of the parcel selection + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + different types of parcel property requests + A boolean that is returned with the + ParcelProperties reply, useful for snapping focus to a single + parcel - + - Deserialize the message + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) - An containing the data + Simulator to request parcels from (must be connected) - + - Serialize the object + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) - An containing the objects data + Simulator to request parcels from (must be connected) + If TRUE, will force a full refresh + Number of milliseconds to pause in between each request - + - Deserialize the message + Request the dwell value for a parcel - An containing the data + Simulator containing the parcel + Simulator-local ID of the parcel - + - Serialize the object + Send a request to Purchase a parcel of land - An containing the objects data + The Simulator the parcel is located in + The parcels region specific local ID + true if this parcel is being purchased by a group + The groups + true to remove tier contribution if purchase is successful + The parcels size + The purchase price of the parcel + + - + - Deserialize the message + Reclaim a parcel of land - An containing the data + The simulator the parcel is in + The parcels region specific local ID - + - Serialize the object + Deed a parcel to a group - An containing the objects data + The simulator the parcel is in + The parcels region specific local ID + The groups - + - Deserialize the message + Request prim owners of a parcel of land. - An containing the data - - - Key of sender - - - Name of sender - - - Key of destination avatar - - - ID of originating estate - - - Key of originating region - - - Coordinates in originating region - - - Instant message type - - - Group IM session toggle - - - Key of IM session, for Group Messages, the groups UUID - - - Timestamp of the instant message - - - Instant message text - - - Whether this message is held for offline avatars - - - Context specific packed data + Simulator parcel is in + The parcels region specific local ID - - Is this invitation for voice group/conference chat + + + Return objects from a parcel + + Simulator parcel is in + The parcels region specific local ID + the type of objects to return, + A list containing object owners s to return - + - Serialize the object + Subdivide (split) a parcel - An containing the objects data + + + + + + + + + + - + - Deserialize the message + Join two parcels of land creating a single parcel - An containing the data + + + + + + + + + + - + - Sent from the simulator to the viewer. - - When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including - a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate - this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" - - During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are - excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with - the string "ENTER" or "LEAVE" respectively. + Get a parcels LocalID + Simulator parcel is in + Vector3 position in simulator (Z not used) + 0 on failure, or parcel LocalID on success. + A call to Parcels.RequestAllSimParcels is required to populate map and + dictionary. - + - Serialize the object + Terraform (raise, lower, etc) an area or whole parcel of land - An containing the objects data + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - Deserialize the message + Terraform (raise, lower, etc) an area or whole parcel of land - An containing the data + Simulator land area is in. + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - An EventQueue message sent when the agent is forcibly removed from a chatterbox session + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - A string containing the reason the agent was removed + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + Height at which the terraform operation is acting at - + - The ChatterBoxSession's SessionID + Sends a request to the simulator to return a list of objects owned by specific owners + Simulator local ID of parcel + Owners, Others, Etc + List containing keys of avatars objects to select; + if List is null will return Objects of type selectType + Response data is returned in the event - + - Serialize the object + Eject and optionally ban a user from a parcel - An containing the objects data + target key of avatar to eject + true to also ban target - + - Deserialize the message + Freeze or unfreeze an avatar over your land - An containing the data + target key to freeze + true to freeze, false to unfreeze - + - Serialize the object + Abandon a parcel of land - An containing the objects data + Simulator parcel is in + Simulator local ID of parcel - + - Deserialize the message + Requests the UUID of the parcel in a remote region at a specified location - An containing the data + Location of the parcel in the remote region + Remote region handle + Remote region UUID + If successful UUID of the remote parcel, UUID.Zero otherwise - + - Serialize the object + Retrieves information on resources used by the parcel - An containing the objects data + UUID of the parcel + Should per object resource usage be requested + Callback invoked when the request is complete - - - Deserialize the message - - An containing the data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - Serialize the object - - An containing the objects data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - Deserialize the message - - An containing the data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - Serialize the object - - An containing the objects data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - Deserialize the message - - An containing the data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Serialize the object - - An containing the objects data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - Deserialize the message - - An containing the data + + Contains a parcels dwell data returned from the simulator in response to an - + - Serialize the object + Construct a new instance of the ParcelDwellReplyEventArgs class - An containing the objects data + The global ID of the parcel + The simulator specific ID of the parcel + The calculated dwell for the parcel - - - Deserialize the message - - An containing the data + + Get the global ID of the parcel - - - Serialize the object - - An containing the objects data + + Get the simulator specific ID of the parcel - - - Deserialize the message - - An containing the data + + Get the calculated dwell - - - A message sent from the viewer to the simulator which - specifies that the user has changed current URL - of the specific media on a prim face - + + Contains basic parcel information data returned from the + simulator in response to an request - + - New URL + Construct a new instance of the ParcelInfoReplyEventArgs class + The object containing basic parcel info - - - Prim UUID where navigation occured - + + Get the object containing basic parcel info - - - Face index - + + Contains basic parcel information data returned from the simulator in response to an request - + - Serialize the object + Construct a new instance of the ParcelPropertiesEventArgs class - An containing the objects data + The object containing the details + The object containing the details + The result of the request + The number of primitieves your agent is + currently selecting and or sitting on in this parcel + The user assigned ID used to correlate a request with + these results + TODO: - - - Deserialize the message - - An containing the data + + Get the simulator the parcel is located in - - Base class used for the ObjectMedia message + + Get the object containing the details + If Result is NoData, this object will not contain valid data - - - Message used to retrive prim media data - + + Get the result of the request - - - Prim UUID - + + Get the number of primitieves your agent is + currently selecting and or sitting on in this parcel - - - Requested operation, either GET or UPDATE - + + Get the user assigned ID used to correlate a request with + these results - - - Serialize object - - Serialized object as OSDMap + + TODO: - - - Deserialize the message - - An containing the data + + Contains blacklist and whitelist data returned from the simulator in response to an request - + - Message used to update prim media data + Construct a new instance of the ParcelAccessListReplyEventArgs class + The simulator the parcel is located in + The user assigned ID used to correlate a request with + these results + The simulator specific ID of the parcel + TODO: + The list containing the white/blacklisted agents for the parcel - - - Prim UUID - + + Get the simulator the parcel is located in - - - Array of media entries indexed by face number - + + Get the user assigned ID used to correlate a request with + these results - - - Media version string - + + Get the simulator specific ID of the parcel + + + TODO: + + + Get the list containing the white/blacklisted agents for the parcel + + + Contains blacklist and whitelist data returned from the + simulator in response to an request - + - Serialize object + Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - Serialized object as OSDMap + The simulator the parcel is located in + The list containing prim ownership counts - - - Deserialize the message - - An containing the data + + Get the simulator the parcel is located in - - - Message used to update prim media data - + + Get the list containing prim ownership counts - - - Prim UUID - + + Contains the data returned when all parcel data has been retrieved from a simulator - + - Array of media entries indexed by face number + Construct a new instance of the SimParcelsDownloadedEventArgs class + The simulator the parcel data was retrieved from + The dictionary containing the parcel data + The multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - - Requested operation, either GET or UPDATE - + + Get the simulator the parcel data was retrieved from - - - Serialize object - - Serialized object as OSDMap + + A dictionary containing the parcel data where the key correlates to the ParcelMap entry - - - Deserialize the message - - An containing the data + + Get the multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - + + Contains the data returned when a request + + - Message for setting or getting per face MediaEntry + Construct a new instance of the ForceSelectObjectsReplyEventArgs class + The simulator the parcel data was retrieved from + The list of primitive IDs + true if the list is clean and contains the information + only for a given request - - The request or response details block + + Get the simulator the parcel data was retrieved from - - - Serialize the object - - An containing the objects data + + Get the list of primitive IDs - - - Deserialize the message - - An containing the data + + true if the list is clean and contains the information + only for a given request - + + Contains data when the media data for a parcel the avatar is on changes + + - Represents a texture + Construct a new instance of the ParcelMediaUpdateReplyEventArgs class + the simulator the parcel media data was updated in + The updated media information - - A object containing image data - - - + + Get the simulator the parcel media data was updated in - - + + Get the updated media information - - Initializes a new instance of an AssetTexture object + + Contains the media command for a parcel the agent is currently on - + - Initializes a new instance of an AssetTexture object + Construct a new instance of the ParcelMediaCommandEventArgs class - A unique specific to this asset - A byte array containing the raw asset data + The simulator the parcel media command was issued in + + + + + The media command that was sent + + - + + Get the simulator the parcel media command was issued in + + - Initializes a new instance of an AssetTexture object - A object containing texture data - + - Populates the byte array with a JPEG2000 - encoded image created from the data in - + + Get the media command that was sent + + - Decodes the JPEG2000 data in AssetData to the - object - True if the decoding was successful, otherwise false - + - Decodes the begin and end byte positions for each quality layer in - the image - - - - Override the base classes AssetType - + - Add a custom decoder callback - The key of the field to decode - The custom decode handler - + - Remove a custom decoder callback - The key of the field to decode - The custom decode handler - + - Creates a formatted string containing the values of a Packet - The Packet - A formatted string of values of the nested items in the Packet object - + - Decode an IMessage object into a beautifully formatted string - The IMessage object - Recursion level (used for indenting) - A formatted string containing the names and values of the source object - + - A custom decoder callback - The key of the object - the data to decode - A string represending the fieldData - + - Static helper functions and global variables - - This header flag signals that ACKs are appended to the packet - - - This header flag signals that this packet has been sent before - - - This header flags signals that an ACK is expected for this packet - - - This header flag signals that the message is compressed using zerocoding + + + - + - - - - + - - - - - + - - - - + - - - - - + - Given an X/Y location in absolute (grid-relative) terms, a region - handle is returned along with the local X/Y location in that region - The absolute X location, a number such as - 255360.35 - The absolute Y location, a number such as - 255360.35 - The sim-local X position of the global X - position, a value from 0.0 to 256.0 - The sim-local Y position of the global Y - position, a value from 0.0 to 256.0 - A 64-bit region handle that can be used to teleport to - + - Converts a floating point number to a terse string format used for - transmitting numbers in wearable asset files - Floating point number to convert to a string - A terse string representation of the input number - + - Convert a variable length field (byte array) to a string, with a - field name prepended to each line of the output - If the byte array has unprintable characters in it, a - hex dump will be written instead - The StringBuilder object to write to - The byte array to convert to a string - A field name to prepend to each line of output - + - Decode a zerocoded byte array, used to decompress packets marked - with the zerocoded flag - Any time a zero is encountered, the next byte is a count - of how many zeroes to expand. One zero is encoded with 0x00 0x01, - two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The - first four bytes are copied directly to the output buffer. - - The byte array to decode - The length of the byte array to decode. This - would be the length of the packet up to (but not including) any - appended ACKs - The output byte array to decode to - The length of the output buffer - + - Encode a byte array with zerocoding. Used to compress packets marked - with the zerocoded flag. Any zeroes in the array are compressed down - to a single zero byte followed by a count of how many zeroes to expand - out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, - three zeroes becomes 0x00 0x03, etc. The first four bytes are copied - directly to the output buffer. - The byte array to encode - The length of the byte array to encode - The output byte array to encode to - The length of the output buffer - + + + + + - Calculates the CRC (cyclic redundancy check) needed to upload inventory. - Creation date - Sale type - Inventory type - Type - Asset ID - Group ID - Sale price - Owner ID - Creator ID - Item ID - Folder ID - Everyone mask (permissions) - Flags - Next owner mask (permissions) - Group mask (permissions) - Owner mask (permissions) - The calculated CRC - + - Attempts to load a file embedded in the assembly - The filename of the resource to load - A Stream for the requested file, or null if the resource - was not successfully loaded - + - Attempts to load a file either embedded in the assembly or found in - a given search path - The filename of the resource to load - An optional path that will be searched if - the asset is not found embedded in the assembly - A Stream for the requested file, or null if the resource - was not successfully loaded - + - Converts a list of primitives to an object that can be serialized - with the LLSD system - Primitives to convert to a serializable object - An object that can be serialized with LLSD - + - Deserializes OSD in to a list of primitives - Structure holding the serialized primitive list, - must be of the SDMap type - A list of deserialized primitives - - - Converts a struct or class object containing fields only into a key value separated string - - The struct object - A string containing the struct fields as the keys, and the field value as the value separated - - - // Add the following code to any struct or class containing only fields to override the ToString() - // method to display the values of the passed object - - /// Print the struct data as a string - ///A string containing the field name, and field value - public override string ToString() - { - return Helpers.StructToString(this); - } - - + + + - + - Passed to Logger.Log() to identify the severity of a log entry - - No logging information will be output + + + - - Non-noisy useful information, may be helpful in - debugging a problem + + + - - A non-critical error occurred. A warning will not - prevent the rest of the library from operating as usual, - although it may be indicative of an underlying issue + + + - - A critical error has occurred. Generally this will - be followed by the network layer shutting down, although the - stability of the library after an error is uncertain + + + - - Used for internal testing, this logging level can - generate very noisy (long and/or repetitive) messages. Don't - pass this to the Log() function, use DebugLog() instead. + + - - = + + + - - Number of times we've received an unknown CAPS exception in series. + + + - - For exponential backoff on error. + + + - + - Constants for the archiving module - + - The location of the archive control file - + - Path for the assets held in an archive - + - Path for the prims file + + + + - + - Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. - + - Path for region settings. - + - The character the separates the uuid from extension information in an archived asset filename - + - Extensions used for asset types in the archive - + - - - + + + + + + + - - + + + - - + + + - + - Thrown when a packet could not be successfully deserialized - + - Default constructor - + - Constructor that takes an additional error message - An error message to attach to this exception - + - The header of a message template packet. Holds packet flags, sequence - number, packet ID, and any ACKs that will be appended at the end of - the packet - + - Convert the AckList to a byte array, used for packet serializing - Reference to the target byte array - Beginning position to start writing to in the byte - array, will be updated with the ending position of the ACK list - + - - - - - - + - - - - + + + + - + - A block of data in a packet. Packets are composed of one or more blocks, - each block containing one or more fields - + - Create a block from a byte array - Byte array containing the serialized block - Starting position of the block in the byte array. - This will point to the data after the end of the block when the - call returns - + - Serialize this block into a byte array - Byte array to serialize this block into - Starting position in the byte array to serialize to. - This will point to the position directly after the end of the - serialized block when the call returns - - Current length of the data in this packet + + + - - A generic value, not an actual packet type + + + - - + + + + + + + - - + + + + + + + - - + + + + + + + + + - - + + + - - + + + + + + + - - + + + + + + + - - + + + + + - - + + + Class for controlling various system settings. + + Some values are readonly because they affect things that + happen when the GridClient object is initialized, so changing them at + runtime won't do any good. Non-readonly values may affect things that + happen at login or dynamically - - + + Constructor + Reference to a GridClient object - - + + Main grid login server - - + + Beta grid login server - - + + + InventoryManager requests inventory information on login, + GridClient initializes an Inventory store for main inventory. + - - + + + InventoryManager requests library information on login, + GridClient initializes an Inventory store for the library. + - - + + Number of milliseconds between sending pings to each sim - - + + Number of milliseconds between sending camera updates - - + + Number of milliseconds between updating the current + positions of moving, non-accelerating and non-colliding objects - - + + Millisecond interval between ticks, where all ACKs are + sent out and the age of unACKed packets is checked - - + + The initial size of the packet inbox, where packets are + stored before processing - - + + Maximum size of packet that we want to send over the wire - - + + The maximum value of a packet sequence number before it + rolls over back to one - - + + The maximum size of the sequence number archive, used to + check for resent and/or duplicate packets - - + + The relative directory where external resources are kept - - + + Login server to connect to - - + + IP Address the client will bind to - - + + Use XML-RPC Login or LLSD Login, default is XML-RPC Login - - + + Number of milliseconds before an asset transfer will time + out - - + + Number of milliseconds before a teleport attempt will time + out - - + + Number of milliseconds before NetworkManager.Logout() will + time out - - + + Number of milliseconds before a CAPS call will time out + Setting this too low will cause web requests time out and + possibly retry repeatedly - - + + Number of milliseconds for xml-rpc to timeout - - + + Milliseconds before a packet is assumed lost and resent - - + + Milliseconds without receiving a packet before the + connection to a simulator is assumed lost - - + + Milliseconds to wait for a simulator info request through + the grid interface - - + + Maximum number of queued ACKs to be sent before SendAcks() + is forced - - + + Network stats queue length (seconds) - - + + Enable/disable storing terrain heightmaps in the + TerrainManager - - + + Enable/disable sending periodic camera updates - - + + Enable/disable automatically setting agent appearance at + login and after sim crossing - - + + Enable/disable automatically setting the bandwidth throttle + after connecting to each simulator + The default throttle uses the equivalent of the maximum + bandwidth setting in the official client. If you do not set a + throttle your connection will by default be throttled well below + the minimum values and you may experience connection problems - - + + Enable/disable the sending of pings to monitor lag and + packet loss - - + + Should we connect to multiple sims? This will allow + viewing in to neighboring simulators and sim crossings + (Experimental) - - + + If true, all object update packets will be decoded in to + native objects. If false, only updates for our own agent will be + decoded. Registering an event handler will force objects for that + type to always be decoded. If this is disabled the object tracking + will have missing or partial prim and avatar information - - + + If true, when a cached object check is received from the + server the full object info will automatically be requested - - + + Whether to establish connections to HTTP capabilities + servers for simulators - - + + Whether to decode sim stats - - + + The capabilities servers are currently designed to + periodically return a 502 error which signals for the client to + re-establish a connection. Set this to true to log those 502 errors - - + + If true, any reference received for a folder or item + the library is not aware of will automatically be fetched - - + + If true, and SEND_AGENT_UPDATES is true, + AgentUpdate packets will continuously be sent out to give the bot + smoother movement and autopiloting - - + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectAvatars. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectPrimitives. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - + + If true, position and velocity will periodically be + interpolated (extrapolated, technically) for objects and + avatars that are being tracked by the library. This is + necessary to increase the accuracy of speed and position + estimates for simulated objects - - + + + If true, utilization statistics will be tracked. There is a minor penalty + in CPU time for enabling this option. + - - + + If true, parcel details will be stored in the + Simulator.Parcels dictionary as they are received - - + + + If true, an incoming parcel properties reply will automatically send + a request for the parcel access list + - - + + + if true, an incoming parcel properties reply will automatically send + a request for the traffic count. + - - + + + If true, images, and other assets downloaded from the server + will be cached in a local directory + - - + + Path to store cached texture data - - + + Maximum size cached files are allowed to take on disk (bytes) - - + + Default color used for viewer particle effects - - + + Maximum number of times to resend a failed packet - - + + Throttle outgoing packet rate - - + + UUID of a texture used by some viewers to indentify type of client used - - + + + Download textures using GetTexture capability when available + - - + + The maximum number of concurrent texture downloads allowed + Increasing this number will not necessarily increase texture retrieval times due to + simulator throttles - - + + + The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + + This is a static variable which applies to all instances - - + + + Textures taking longer than this value will be flagged as timed out and removed from the pipeline + - - + + + Get or set the minimum log level to output to the console by default + If the library is not compiled with DEBUG defined and this level is set to DEBUG + You will get no output on the console. This behavior can be overriden by creating + a logger configuration file for log4net + - - + + Attach avatar names to log messages - - + + Log packet retransmission info - - + + Cost of uploading an asset + Read-only since this value is dynamically fetched at login - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + + Simulator (region) properties + - - + + No flags set - - + + Agents can take damage and be killed - - + + Landmarks can be created here - - + + Home position can be set in this sim - - + + Home position is reset when an agent teleports away - - + + Sun does not move - - + + No object, land, etc. taxes - - + + Disable heightmap alterations (agents can still plant + foliage) - - + + Land cannot be released, sold, or purchased - - + + All content is wiped nightly - - + + Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) - - + + Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. - - + + Region does not update agent prim interest lists. Internal debugging option. - - + + No collision detection for non-agent objects - - + + No scripts are ran - - + + All physics processing is turned off - - + + Region can be seen from other regions on world map. (Legacy world map option?) - - + + Region can be seen from mainland on world map. (Legacy world map option?) - - + + Agents not explicitly on the access list can visit the region. - - + + Traffic calculations are not run across entire region, overrides parcel settings. - - + + Flight is disabled (not currently enforced by the sim) - - + + Allow direct (p2p) teleporting - - + + Estate owner has temporarily disabled scripting - - + + Restricts the usage of the LSL llPushObject function, applies to whole region. - - + + Deny agents with no payment info on file - - + + Deny agents with payment info on file - - + + Deny agents who have made a monetary transaction - - + + Parcels within the region may be joined or divided by anyone, not just estate owners/managers. - - + + Abuse reports sent from within this region are sent to the estate owner defined email. - - + + Region is Voice Enabled - - + + Removes the ability from parcel owners to set their parcels to show in search. - - + + Deny agents who have not been age verified from entering the region. - - + + + Access level for a simulator + - - + + Unknown or invalid access level - - + + Trial accounts allowed - - + + PG rating - - + + Mature rating - - + + Adult rating - - + + Simulator is offline - - + + Simulator does not exist - - + + + - - + + + + Reference to the GridClient object + IPEndPoint of the simulator + handle of the simulator - - + + + Simulator Statistics + - - + + Total number of packets sent by this simulator to this agent - - + + Total number of packets received by this simulator to this agent - - + + Total number of bytes sent by this simulator to this agent - - + + Total number of bytes received by this simulator to this agent - - + + Time in seconds agent has been connected to simulator - - + + Total number of packets that have been resent - - + + Total number of resent packets recieved - - + + Total number of pings sent to this simulator by this agent - - + + Total number of ping replies sent to this agent by this simulator - - + + + Incoming bytes per second + + It would be nice to have this claculated on the fly, but + this is far, far easier - - + + + Outgoing bytes per second + + It would be nice to have this claculated on the fly, but + this is far, far easier - - + + Time last ping was sent - - + + ID of last Ping sent - - + + + - - + + + - - + + Current time dilation of this simulator - - + + Current Frames per second of simulator - - + + Current Physics frames per second of simulator - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + Total number of objects Simulator is simulating - - + + Total number of Active (Scripted) objects running - - + + Number of agents currently in this simulator - - + + Number of agents in neighbor simulators - - + + Number of Active scripts running in this simulator - - + + + - - + + + - - + + + - - + + Number of downloads pending - - + + Number of uploads pending - - + + + - - + + + - - + + Number of local uploads pending - - + + Unacknowledged bytes in queue - - + + A public reference to the client that this Simulator object + is attached to - - + + A Unique Cache identifier for this simulator - - + + The capabilities for this simulator - - + + + - - + + The current version of software this simulator is running - - + + + - - + + A 64x64 grid of parcel coloring values. The values stored + in this array are of the type - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + true if your agent has Estate Manager rights on this region - - + + + - - + + + - - + + + - - + + Statistics information for this simulator and the + connection to the simulator, calculated by the simulator itself + and the library - - + + The regions Unique ID - - + + The physical data center the simulator is located + Known values are: + DallasChandlerSF - - + + The CPU Class of the simulator + Most full mainland/estate sims appear to be 5, + Homesteads and Openspace appear to be 501 - - + + The number of regions sharing the same CPU as this one + "Full Sims" appear to be 1, Homesteads appear to be 4 - - + + The billing product name + Known values are: + Mainland / Full Region (Sku: 023)Estate / Full Region (Sku: 024)Estate / Openspace (Sku: 027)Estate / Homestead (Sku: 029)Mainland / Homestead (Sku: 129) (Linden Owned)Mainland / Linden Homes (Sku: 131) - - + + The billing product SKU + Known values are: + 023 Mainland / Full Region024 Estate / Full Region027 Estate / Openspace029 Estate / Homestead129 Mainland / Homestead (Linden Owned)131 Linden Homes / Full Region - - + + The current sequence number for packets sent to this + simulator. Must be Interlocked before modifying. Only + useful for applications manipulating sequence numbers - - + + + A thread-safe dictionary containing avatars in a simulator + - - + + + A thread-safe dictionary containing primitives in a simulator + - - + + + Provides access to an internal thread-safe dictionary containing parcel + information found in this simulator + - - + + Used internally to track sim disconnections - - + + Event that is triggered when the simulator successfully + establishes a connection - - + + Whether this sim is currently connected or not. Hooked up + to the property Connected - - + + Coarse locations of avatars in this simulator - - + + AvatarPositions key representing TrackAgent target - - + + Sequence numbers of packets we've received + (for duplicate checking) - - + + Packets we sent out that need ACKs from the simulator - - + + Sequence number for pause/resume - - + + Indicates if UDP connection to the sim is fully established - - + + + Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + - - + + The IP address and port of the server - - + + Whether there is a working connection to the simulator or + not - - + + Coarse locations of avatars in this simulator - - + + AvatarPositions key representing TrackAgent target - - + + Indicates if UDP connection to the sim is fully established - - + + + Checks simulator parcel map to make sure it has downloaded all data successfully + + true if map is full (contains no 0's) - - + + + Called when this Simulator object is being destroyed + - - + + + Attempt to connect to this simulator + + Whether to move our agent in to this sim or not + True if the connection succeeded or connection status is + unknown, false if there was a failure - - + + + Initiates connection to the simulator + - - + + + Disconnect from this simulator + - - + + + Instructs the simulator to stop sending update (and possibly other) packets + - - + + + Instructs the simulator to resume sending update packets (unpause) + - - + + + Retrieve the terrain height at a given coordinate + + Sim X coordinate, valid range is from 0 to 255 + Sim Y coordinate, valid range is from 0 to 255 + The terrain height at the given point if the + lookup was successful, otherwise 0.0f + True if the lookup was successful, otherwise false - - + + + Sends a packet + + Packet to be sent - - + + + - - + + + Returns Simulator Name as a String + + + - - + + + + + - - + + + + + + + - - + + + Sends out pending acknowledgements + + Number of ACKs sent - - + + + Resend unacknowledged packets + - - + + + - - + + + Construct a new instance of the SoundManager class, used for playing and receiving + sound assets + + A reference to the current GridClient instance - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + Raised when the simulator sends us data containing + sound - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - + + Raised when the simulator sends us data containing + ... - - + + Raises the AttachedSound Event + A AttachedSoundEventArgs object containing + the data sent from the simulator - - + + Raises the AttachedSoundGainChange Event + A AttachedSoundGainChangeEventArgs object containing + the data sent from the simulator - - + + Raises the SoundTrigger Event + A SoundTriggerEventArgs object containing + the data sent from the simulator - - + + Raises the PreloadSound Event + A PreloadSoundEventArgs object containing + the data sent from the simulator - - + + + Plays a sound in the current region at full volume from avatar position + + UUID of the sound to be played - - + + + Plays a sound in the current region at full volume + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. - - + + + Plays a sound in the current region + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - + + + Plays a sound in the specified sim + + UUID of the sound to be played. + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - + + + Play a sound asset + + UUID of the sound to be played. + handle id for the sim to be played in. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Provides data for the event + The event occurs when the simulator sends + the sound data which emits from an agents attachment + + The following code example shows the process to subscribe to the event + and a stub to handle the data passed from the simulator + + // Subscribe to the AttachedSound event + Client.Sound.AttachedSound += Sound_AttachedSound; + // process the data raised in the event here + private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) + { + // ... Process AttachedSoundEventArgs here ... + } + - - + + + Construct a new instance of the SoundTriggerEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The volume level + The - - + + Simulator where the event originated - - + + Get the sound asset id - - + + Get the ID of the owner - - + + Get the ID of the Object - - + + Get the volume level - - + + Get the - - + + Provides data for the event + The event occurs when an attached sound + changes its volume level - - + + + Construct a new instance of the AttachedSoundGainChangedEventArgs class + + Simulator where the event originated + The ID of the Object + The new volume level - - + + Simulator where the event originated - - + + Get the ID of the Object - - + + Get the volume level - - + + Provides data for the event + + The event occurs when the simulator forwards + a request made by yourself or another agent to play either an asset sound or a built in sound + Requests to play sounds where the is not one of the built-in + will require sending a request to download the sound asset before it can be played + + + The following code example uses the , + and + properties to display some information on a sound request on the window. + + // subscribe to the event + Client.Sound.SoundTrigger += Sound_SoundTrigger; + // play the pre-defined BELL_TING sound + Client.Sound.SendSoundTrigger(Sounds.BELL_TING); + // handle the response data + private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) + { + Console.WriteLine("{0} played the sound {1} at volume {2}", + e.OwnerID, e.SoundID, e.Gain); + } + - - + + + Construct a new instance of the SoundTriggerEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The ID of the objects parent + The volume level + The regionhandle + The source position - - + + Simulator where the event originated - - + + Get the sound asset id - - + + Get the ID of the owner - - + + Get the ID of the Object - - + + Get the ID of the objects parent - - + + Get the volume level - - + + Get the regionhandle - - + + Get the source position - - + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + - - + + + Construct a new instance of the PreloadSoundEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object - - + + Simulator where the event originated - - + + Get the sound asset id - - + + Get the ID of the owner - - + + Get the ID of the Object - - + + + pre-defined built in sounds + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + coins - - + + cash register bell - - + + + - - + + + - - + + rubber - - + + plastic - - + + flesh - - + + wood splintering? - - + + glass break - - + + metal clunk - - + + whoosh - - + + shake - - + + + - - + + ding - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + A dictionary containing all pre-defined sounds + + A dictionary containing the pre-defined sounds, + where the key is the sounds ID, and the value is a string + containing a name to identify the purpose of the sound - - + + X position of this patch - - + + Y position of this patch - - + + A 16x16 array of floats holding decompressed layer data - - + + + Creates a LayerData packet for compressed land data given a full + simulator heightmap and an array of indices of patches to compress + + A 256 * 256 array of floating point values + specifying the height at each meter in the simulator + Array of indexes in the 16x16 grid of patches + for this simulator. For example if 1 and 17 are specified, patches + x=1,y=0 and x=1,y=1 are sent + + - - + + + Add a patch of terrain to a BitPacker + + BitPacker to write the patch to + Heightmap of the simulator, must be a 256 * + 256 float array + X offset of the patch to create, valid values are + from 0 to 15 + Y offset of the patch to create, valid values are + from 0 to 15 - - + + + Default constructor + + + - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + Raised when the simulator responds sends - - + + Raises the LandPatchReceived event + A LandPatchReceivedEventArgs object containing the + data returned from the simulator - - + + Simulator from that sent tha data - - + + Sim coordinate of the patch - - + + Sim coordinate of the patch - - + + Size of tha patch - - + + Heightmap for the patch - - + + + The current status of a texture request as it moves through the pipeline or final result of a texture request. + - - + + The initial state given to a request. Requests in this state + are waiting for an available slot in the pipeline - - + + A request that has been added to the pipeline and the request packet + has been sent to the simulator - - + + A request that has received one or more packets back from the simulator - - + + A request that has received all packets back from the simulator - - + + A request that has taken longer than + to download OR the initial packet containing the packet information was never received - - + + The texture request was aborted by request of the agent - - + + The simulator replied to the request that it was not able to find the requested texture - - + + + Texture request download handler, allows a configurable number of download slots which manage multiple + concurrent texture downloads from the + This class makes full use of the internal + system for full texture downloads. - - + + + Default constructor, Instantiates a new copy of the TexturePipeline class + + Reference to the instantiated object - - + + + A request task containing information and status of a request as it is processed through the - - + + The current which identifies the current status of the request - - + + The Unique Request ID, This is also the Asset ID of the texture being requested - - + + The slot this request is occupying in the threadpoolSlots array - - + + The ImageType of the request. - - + + The callback to fire when the request is complete, will include + the and the + object containing the result data - - + + If true, indicates the callback will be fired whenever new data is returned from the simulator. + This is used to progressively render textures as portions of the texture are received. - - + + An object that maintains the data of an request thats in-process. - - + + A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID + and also the Asset Texture ID, and the value is an object containing the current state of the request and also + the asset data as it is being re-assembled - - + + Holds the reference to the client object - - + + Maximum concurrent texture requests allowed at a time - - + + An array of objects used to manage worker request threads - - + + An array of worker slots which shows the availablity status of the slot - - + + The primary thread which manages the requests. - - + + true if the TexturePipeline is currently running - - + + A synchronization object used by the primary thread - - + + A refresh timer used to increase the priority of stalled requests - - + + Current number of pending and in-process transfers - - + + + Initialize callbacks required for the TexturePipeline to operate + - - + + + Shutdown the TexturePipeline and cleanup any callbacks or transfers + - - + + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request - - + + + Sends the actual request packet to the simulator + + The image to download + Type of the image to download, either a baked + avatar texture or a normal texture + Priority level of the download. Default is + 1,013,000.0f + Number of quality layers to discard. + This controls the end marker of the data sent + Packet number to start the download at. + This controls the start marker of the data sent + Sending a priority of 0 and a discardlevel of -1 aborts + download - - + + + Cancel a pending or in process texture request + + The texture assets unique ID - - + + + Master Download Thread, Queues up downloads in the threadpool + - - + + + The worker thread that sends the request and handles timeouts + + A object containing the request details - - + + + Handle responses from the simulator that tell us a texture we have requested is unable to be located + or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use + + The sender + The EventArgs object containing the packet data - - + + + Handles the remaining Image data that did not fit in the initial ImageData packet + + The sender + The EventArgs object containing the packet data - - + + + Handle the initial ImageDataPacket sent from the simulator + + The sender + The EventArgs object containing the packet data - - + + + - - + + + Delegate to wrap another delegate and its arguments + + + + + - - + + + An instance of DelegateWrapper which calls InvokeWrappedDelegate, + which in turn calls the DynamicInvoke method of the wrapped + delegate + - - + + + Callback used to call EndInvoke on the asynchronously + invoked DelegateWrapper + - - + + + Executes the specified delegate with the specified arguments + asynchronously on a thread pool thread + + + + + - - + + + Invokes the wrapped delegate synchronously + + + + + - - + + + Calls EndInvoke on the wrapper and Close on the resulting WaitHandle + to prevent resource leaks + + + - - + + + - - + + + Initialize the UDP packet handler in server mode + + Port to listening for incoming UDP packets on - - + + + Initialize the UDP packet handler in client mode + + Remote UDP server to connect to - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + Thrown when a packet could not be successfully deserialized + - - + + + Default constructor + - - + + + Constructor that takes an additional error message + + An error message to attach to this exception - - + + + The header of a message template packet. Holds packet flags, sequence + number, packet ID, and any ACKs that will be appended at the end of + the packet + - - + + + Convert the AckList to a byte array, used for packet serializing + + Reference to the target byte array + Beginning position to start writing to in the byte + array, will be updated with the ending position of the ACK list - - + + + + + + + + + + + - - + + + + + + + + + - - + + + A block of data in a packet. Packets are composed of one or more blocks, + each block containing one or more fields + - - + + Current length of the data in this packet - - + + + Create a block from a byte array + + Byte array containing the serialized block + Starting position of the block in the byte array. + This will point to the data after the end of the block when the + call returns - - + + + Serialize this block into a byte array + + Byte array to serialize this block into + Starting position in the byte array to serialize to. + This will point to the position directly after the end of the + serialized block when the call returns - - + + A generic value, not an actual packet type - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - The avatar has no rights + + - - The avatar can see the online status of the target avatar + + - - The avatar can see the location of the target avatar on the map + + - - The avatar can modify the ojects of the target avatar + + - - - This class holds information about an avatar in the friends list. There are two ways - to interface to this class. The first is through the set of boolean properties. This is the typical - way clients of this class will use it. The second interface is through two bitflag properties, - TheirFriendsRights and MyFriendsRights - + + - - - Used internally when building the initial list of friends at login time - - System ID of the avatar being prepesented - Rights the friend has to see you online and to modify your objects - Rights you have to see your friend online and to modify their objects + + - - - FriendInfo represented as a string - - A string reprentation of both my rights and my friends rights + + - - - System ID of the avatar - + + - - - full name of the avatar - + + - - - True if the avatar is online - + + - - - True if the friend can see if I am online - + + - - - True if the friend can see me on the map - + + - - - True if the freind can modify my objects - + + - - - True if I can see if my friend is online - + + - - - True if I can see if my friend is on the map - + + - - - True if I can modify my friend's objects - + + - - - My friend's rights represented as bitmapped flags - + + - - - My rights represented as bitmapped flags - + + - - - This class is used to add and remove avatars from your friends list and to manage their permission. - + + - - The event subscribers. null if no subcribers + + - - Raises the FriendOnline event - A FriendInfoEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendOffline event - A FriendInfoEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendRightsUpdate event - A FriendInfoEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendNames event - A FriendNamesEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendshipOffered event - A FriendshipOfferedEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendshipResponse event - A FriendshipResponseEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendshipTerminated event - A FriendshipTerminatedEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Raises the FriendFoundReply event - A FriendFoundReplyEventArgs object containing the - data returned from the data server + + - - Thread sync lock object + + - - - A dictionary of key/value pairs containing known friends of this avatar. - - The Key is the of the friend, the value is a - object that contains detailed information including permissions you have and have given to the friend - + + - - - A Dictionary of key/value pairs containing current pending frienship offers. - - The key is the of the avatar making the request, - the value is the of the request which is used to accept - or decline the friendship offer - + + - - - Internal constructor - - A reference to the GridClient Object + + - - - Accept a friendship request - - agentID of avatatar to form friendship with - imSessionID of the friendship request message + + - - - Decline a friendship request - - of friend - imSessionID of the friendship request message + + - - - Overload: Offer friendship to an avatar. - - System ID of the avatar you are offering friendship to + + - - - Offer friendship to an avatar. - - System ID of the avatar you are offering friendship to - A message to send with the request + + - - - Terminate a friendship with an avatar - - System ID of the avatar you are terminating the friendship with + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - Change the rights of a friend avatar. - - the of the friend - the new rights to give the friend - This method will implicitly set the rights to those passed in the rights parameter. + + - - - Use to map a friends location on the grid. - - Friends UUID to find - + + - - - Use to track a friends movement on the grid - - Friends Key + + - - - Ask for a notification of friend's online status - - Friend's UUID + + - - - This handles the asynchronous response of a RequestAvatarNames call. - - - names cooresponding to the the list of IDs sent the the RequestAvatarNames call. + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - Populate FriendList with data from the login reply - - true if login was successful - true if login request is requiring a redirect - A string containing the response to the login request - A string containing the reason for the request - A object containing the decoded - reply from the login server + + - - Raised when the simulator sends notification one of the members in our friends list comes online + + - - Raised when the simulator sends notification one of the members in our friends list goes offline + + - - Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions + + - - Raised when the simulator sends us the names on our friends list + + - - Raised when the simulator sends notification another agent is offering us friendship + + - - Raised when a request we sent to friend another agent is accepted or declined + + - - Raised when the simulator sends notification one of the members in our friends list has terminated - our friendship + + - - Raised when the simulator sends the location of a friend we have - requested map location info for + + - - Contains information on a member of our friends list + + - - - Construct a new instance of the FriendInfoEventArgs class - - The FriendInfo + + - - Get the FriendInfo + + - - Contains Friend Names + + - - - Construct a new instance of the FriendNamesEventArgs class - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + + - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + + - - Sent when another agent requests a friendship with our agent + + - - - Construct a new instance of the FriendshipOfferedEventArgs class - - The ID of the agent requesting friendship - The name of the agent requesting friendship - The ID of the session, used in accepting or declining the - friendship offer + + - - Get the ID of the agent requesting friendship + + - - Get the name of the agent requesting friendship + + - - Get the ID of the session, used in accepting or declining the - friendship offer + + - - A response containing the results of our request to form a friendship with another agent + + - - - Construct a new instance of the FriendShipResponseEventArgs class - - The ID of the agent we requested a friendship with - The name of the agent we requested a friendship with - true if the agent accepted our friendship offer + + - - Get the ID of the agent we requested a friendship with + + - - Get the name of the agent we requested a friendship with + + - - true if the agent accepted our friendship offer + + - - Contains data sent when a friend terminates a friendship with us + + - - - Construct a new instance of the FrindshipTerminatedEventArgs class - - The ID of the friend who terminated the friendship with us - The name of the friend who terminated the friendship with us + + - - Get the ID of the agent that terminated the friendship with us + + - - Get the name of the agent that terminated the friendship with us + + - - - Data sent in response to a request which contains the information to allow us to map the friends location - + + - - - Construct a new instance of the FriendFoundReplyEventArgs class - - The ID of the agent we have requested location information for - The region handle where our friend is located - The simulator local position our friend is located + + - - Get the ID of the agent we have received location information for + + - - Get the region handle where our mapped friend is located + + - - Get the simulator local position where our friend is located + + - - - - - Looking direction, must be a normalized vector - Up direction, must be a normalized vector + + - - - Align the coordinate frame X and Y axis with a given rotation - around the Z axis in radians - - Absolute rotation around the Z axis in - radians + + - - Origin position of this coordinate frame + + - - X axis of this coordinate frame, or Forward/At in grid terms + + - - Y axis of this coordinate frame, or Left in grid terms + + - - Z axis of this coordinate frame, or Up in grid terms + + - - - Throttles the network traffic for various different traffic types. - Access this class through GridClient.Throttle - + + - - - Default constructor, uses a default high total of 1500 KBps (1536000) - + + - - - Constructor that decodes an existing AgentThrottle packet in to - individual values - - Reference to the throttle data in an AgentThrottle - packet - Offset position to start reading at in the - throttle data - This is generally not needed in clients as the server will - never send a throttle packet to the client + + - - - Send an AgentThrottle packet to the current server using the - current values - + + - - - Send an AgentThrottle packet to the specified server using the - current values - + + - - - Convert the current throttle values to a byte array that can be put - in an AgentThrottle packet - - Byte array containing all the throttle values + + - - Maximum bits per second for resending unacknowledged packets + + - - Maximum bits per second for LayerData terrain + + - - Maximum bits per second for LayerData wind data + + - - Maximum bits per second for LayerData clouds + + - - Unknown, includes object data + + - - Maximum bits per second for textures + + - - Maximum bits per second for downloaded assets + + - - Maximum bits per second the entire connection, divided up - between invidiual streams using default multipliers + + - - - Permission request flags, asked when a script wants to control an Avatar - + + - - Placeholder for empty values, shouldn't ever see this + + - - Script wants ability to take money from you + + - - Script wants to take camera controls for you + + - - Script wants to remap avatars controls + + - - Script wants to trigger avatar animations - This function is not implemented on the grid + + - - Script wants to attach or detach the prim or primset to your avatar + + - - Script wants permission to release ownership - This function is not implemented on the grid - The concept of "public" objects does not exist anymore. + + - - Script wants ability to link/delink with other prims + + - - Script wants permission to change joints - This function is not implemented on the grid + + - - Script wants permissions to change permissions - This function is not implemented on the grid + + + + + - - Script wants to track avatars camera position and rotation + + - - Script wants to control your camera + + - - - Special commands used in Instant Messages - + + - - Indicates a regular IM from another agent + + - - Simple notification box with an OK button + + - - You've been invited to join a group. + + - - Inventory offer + + - - Accepted inventory offer + + - - Declined inventory offer + + - - Group vote + + - - An object is offering its inventory + + - - Accept an inventory offer from an object + + - - Decline an inventory offer from an object + + - - Unknown + + - - Start a session, or add users to a session + + - - Start a session, but don't prune offline users + + - - Start a session with your group + + - - Start a session without a calling card (finder or objects) + + - - Send a message to a session + + - - Leave a session + + - - Indicates that the IM is from an object + + - - Sent an IM to a busy user, this is the auto response + + - - Shows the message in the console and chat history + + - - Send a teleport lure + + - - Response sent to the agent which inititiated a teleport invitation + + - - Response sent to the agent which inititiated a teleport invitation + + - - Only useful if you have Linden permissions + + - - A placeholder type for future expansion, currently not - used + + - - IM to tell the user to go to an URL + + - - IM for help + + - - IM sent automatically on call for help, sends a lure - to each Helper reached + + - - Like an IM but won't go to email + + - - IM from a group officer to all group members + + - - Unknown + + - - Unknown + + - - Accept a group invitation + + - - Decline a group invitation + + - - Unknown + + - - An avatar is offering you friendship + + - - An avatar has accepted your friendship offer + + - - An avatar has declined your friendship offer + + - - Indicates that a user has started typing + + - - Indicates that a user has stopped typing + + - - - Flag in Instant Messages, whether the IM should be delivered to - offline avatars as well - + + - - Only deliver to online avatars + + - - If the avatar is offline the message will be held until - they login next, and possibly forwarded to their e-mail account + + - - - Conversion type to denote Chat Packet types in an easier-to-understand format - + + - - Whisper (5m radius) + + - - Normal chat (10/20m radius), what the official viewer typically sends + + - - Shouting! (100m radius) + + - - Event message when an Avatar has begun to type + + - - Event message when an Avatar has stopped typing + + - - Send the message to the debug channel + + - - Event message when an object uses llOwnerSay + + - - Special value to support llRegionSay, never sent to the client + + - - - Identifies the source of a chat message - + + - - Chat from the grid or simulator + + - - Chat from another avatar + + - - Chat from an object + + - - - - + + - - + + - - + + - - + + - - - Effect type used in ViewerEffect packets - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - Project a beam from a source to a destination, such as - the one used when editing an object + + - - + + - - + + - - + + - - Create a swirl of particles around an object + + - - + + - - + + - - Cause an avatar to look at an object + + - - Cause an avatar to point at an object + + - - - The action an avatar is doing when looking at something, used in - ViewerEffect packets for the LookAt effect - + + - - + + - - + + - - + + - - + + - - + + - - + + - - Deprecated + + - - + + - - + + - - + + - - + + - - - The action an avatar is doing when pointing at something, used in - ViewerEffect packets for the PointAt effect - + + - - + + - - + + - - + + - - + + - - - Money transaction types - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - Flags sent when a script takes or releases a control - - NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, + + - - No Flags set + + - - Forward (W or up Arrow) + + - - Back (S or down arrow) + + - - Move left (shift+A or left arrow) + + - - Move right (shift+D or right arrow) + + - - Up (E or PgUp) + + - - Down (C or PgDown) + + - - Rotate left (A or left arrow) + + - - Rotate right (D or right arrow) + + - - Left Mouse Button + + - - Left Mouse button in MouseLook + + - - - Currently only used to hide your group title - + + - - No flags set + + - - Hide your group title + + - - - Action state of the avatar, which can currently be typing and - editing - + + - - + + - - + + - - + + - - - Current teleport status - + + - - Unknown status + + - - Teleport initialized + + - - Teleport in progress + + - - Teleport failed + + - - Teleport completed + + - - Teleport cancelled + + - - - - + + - - No flags set, or teleport failed + + - - Set when newbie leaves help island for first time + + - - + + - - Via Lure + + - - Via Landmark + + - - Via Location + + - - Via Home + + - - Via Telehub + + - - Via Login + + - - Linden Summoned + + - - Linden Forced me + + - - + + - - Agent Teleported Home via Script + + - - + + - - + + - - + + - - forced to new location for example when avatar is banned or ejected + + - - Teleport Finished via a Lure + + - - Finished, Sim Changed + + - - Finished, Same Sim + + - - - - + + - - + + - - + + - - + + - - - - + + - - + + - - + + - - + + - - + + - - - Instant Message - + + - - Key of sender + + - - Name of sender + + - - Key of destination avatar + + - - ID of originating estate + + - - Key of originating region + + - - Coordinates in originating region + + - - Instant message type + + - - Group IM session toggle + + - - Key of IM session, for Group Messages, the groups UUID + + - - Timestamp of the instant message + + - - Instant message text + + - - Whether this message is held for offline avatars + + - - Context specific packed data + + - - Print the struct data as a string - A string containing the field name, and field value + + - - - - + + - - - Construct a new instance of the ChatEventArgs object - - Sim from which the message originates - The message sent - The audible level of the message - The type of message sent: whisper, shout, etc - The source type of the message sender - The name of the agent or object sending the message - The ID of the agent or object sending the message - The ID of the object owner, or the agent ID sending the message - The position of the agent or object sending the message + + - - Get the simulator sending the message + + - - Get the message sent + + - - Get the audible level of the message + + - - Get the type of message sent: whisper, shout, etc + + - - Get the source type of the message sender + + - - Get the name of the agent or object sending the message + + - - Get the ID of the agent or object sending the message + + - - Get the ID of the object owner, or the agent ID sending the message + + - - Get the position of the agent or object sending the message + + - - Contains the data sent when a primitive opens a dialog with this agent + + - - - Construct a new instance of the ScriptDialogEventArgs - - The dialog message - The name of the object that sent the dialog request - The ID of the image to be displayed - The ID of the primitive sending the dialog - The first name of the senders owner - The last name of the senders owner - The communication channel the dialog was sent on - The string labels containing the options presented in this dialog + + - - Get the dialog message + + - - Get the name of the object that sent the dialog request + + - - Get the ID of the image to be displayed + + - - Get the ID of the primitive sending the dialog + + - - Get the first name of the senders owner + + - - Get the last name of the senders owner + + - - Get the communication channel the dialog was sent on, responses - should also send responses on this same channel + + - - Get the string labels containing the options presented in this dialog + + - - Contains the data sent when a primitive requests debit or other permissions - requesting a YES or NO answer + + - - - Construct a new instance of the ScriptQuestionEventArgs - - The simulator containing the object sending the request - The ID of the script making the request - The ID of the primitive containing the script making the request - The name of the primitive making the request - The name of the owner of the object making the request - The permissions being requested + + - - Get the simulator containing the object sending the request + + - - Get the ID of the script making the request + + - - Get the ID of the primitive containing the script making the request + + - - Get the name of the primitive making the request + + - - Get the name of the owner of the object making the request + + - - Get the permissions being requested + + - - Contains the data sent when a primitive sends a request - to an agent to open the specified URL + + - - - Construct a new instance of the LoadUrlEventArgs - - The name of the object sending the request - The ID of the object sending the request - The ID of the owner of the object sending the request - True if the object is owned by a group - The message sent with the request - The URL the object sent + + + + + - - Get the name of the object sending the request + + - - Get the ID of the object sending the request + + - - Get the ID of the owner of the object sending the request + + - - True if the object is owned by a group + + - - Get the message sent with the request + + - - Get the URL the object sent + + - - The date received from an ImprovedInstantMessage + + - + + + + + + + - Construct a new instance of the InstantMessageEventArgs object + Operation to apply when applying color to texture - the InstantMessage object - the simulator where the InstantMessage origniated - - Get the InstantMessage object - - - Get the simulator where the InstantMessage origniated + + + Information needed to translate visual param value to RGBA color + - - Contains the currency balance + + + Construct VisualColorParam + + Operation to apply when applying color to texture + Colors - + - Construct a new BalanceEventArgs object + Represents alpha blending and bump infor for a visual parameter + such as sleive length - The currenct balance - + - Get the currenct balance + Create new alhpa information for a visual param + Stregth of the alpha to apply + File containing the alpha channel + Skip blending if parameter value is 0 + Use miltiply insted of alpha blending - - Contains the transaction summary when an item is purchased, - money is given, or land is purchased + + Stregth of the alpha to apply - + + File containing the alpha channel + + + Skip blending if parameter value is 0 + + + Use miltiply insted of alpha blending + + - Construct a new instance of the MoneyBalanceReplyEventArgs object + A single visual characteristic of an avatar mesh, such as eyebrow height - The ID of the transaction - True of the transaction was successful - The current currency balance - The meters credited - The meters comitted - A brief description of the transaction - - Get the ID of the transaction + + + Set all the values through the constructor + + Index of this visual param + Internal name + + + + + Displayable label of this characteristic + Displayable label for the minimum value of this characteristic + Displayable label for the maximum value of this characteristic + Default value + Minimum value + Maximum value + Is this param used for creation of bump layer? + Array of param IDs that are drivers for this parameter + Alpha blending/bump info + Color information - - True of the transaction was successful + + Index of this visual param - - Get the remaining currency balance + + Internal name - - Get the meters credited + + Group ID this parameter belongs to - - Get the meters comitted + + Name of the wearable this parameter belongs to - - Get the description of the transaction + + Displayable label of this characteristic - - Data sent from the simulator containing information about your agent and active group information + + Displayable label for the minimum value of this characteristic - - - Construct a new instance of the AgentDataReplyEventArgs object - - The agents first name - The agents last name - The agents active group ID - The group title of the agents active group - The combined group powers the agent has in the active group - The name of the group the agent has currently active + + Displayable label for the maximum value of this characteristic - - Get the agents first name + + Default value - - Get the agents last name + + Minimum value - - Get the active group ID of your agent + + Maximum value - - Get the active groups title of your agent + + Is this param used for creation of bump layer? - - Get the combined group powers of your agent + + Alpha blending/bump info - - Get the active group name of your agent + + Color information - - Data sent by the simulator to indicate the active/changed animations - applied to your agent + + Array of param IDs that are drivers for this parameter - + - Construct a new instance of the AnimationsChangedEventArgs class + Holds the Params array of all the avatar appearance parameters - The dictionary that contains the changed animations - - Get the dictionary that contains the changed animations + + + Base class for all Asset types + - + - Data sent from a simulator indicating a collision with your agent + Construct a new Asset object - + - Construct a new instance of the MeanCollisionEventArgs class + Construct a new Asset object - The type of collision that occurred - The ID of the agent or object that perpetrated the agression - The ID of the Victim - The strength of the collision - The Time the collision occurred + A unique specific to this asset + A byte array containing the raw asset data - - Get the Type of collision + + A byte array containing the raw asset data - - Get the ID of the agent or object that collided with your agent + + True if the asset it only stored on the server temporarily - - Get the ID of the agent that was attacked + + A unique ID - - A value indicating the strength of the collision + + The assets unique ID - - Get the time the collision occurred + + + The "type" of asset, Notecard, Animation, etc + - - Data sent to your agent when it crosses region boundaries + + + Regenerates the AssetData byte array from the properties + of the derived class. + + + + + Decodes the AssetData, placing it in appropriate properties of the derived + class. + + True if the asset decoding succeeded, otherwise false + + + + Constants for the archiving module + + + + + The location of the archive control file + + + + + Path for the assets held in an archive + + + + + Path for the prims file + + + + + Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. + - + - Construct a new instance of the RegionCrossedEventArgs class + Path for region settings. - The simulator your agent just left - The simulator your agent is now in - - - Get the simulator your agent just left - - Get the simulator your agent is now in + + + The character the separates the uuid from extension information in an archived asset filename + - - Data sent from the simulator when your agent joins a group chat session + + + Extensions used for asset types in the archive + - + - Construct a new instance of the GroupChatJoinedEventArgs class + Archives assets - The ID of the session - The name of the session - A temporary session id used for establishing new sessions - True of your agent successfully joined the session - - Get the ID of the group chat session + + + Archive assets + - - Get the name of the session + + + Archive the assets given to this archiver to the given archive. + + + - - Get the temporary session ID used for establishing new sessions + + + Write an assets metadata file to the given archive + + + - - True if your agent successfully joined the session + + + Write asset data files to the given archive + + + - - The session information when your agent exits a group chat session + + + Temporary code to do the bare minimum required to read a tar archive for our purposes + - + - Construct a new instance of the GroupChatLeftEventArgs class + Generate a tar reader which reads from the given stream. - The ID of the session your agent left + + - - Get the ID of the session your agent left + + + Binary reader for the underlying stream + - - Data sent by the simulator containing urgent messages + + + Used to trim off null chars + - + - Construct a new instance of the AlertMessageEventArgs class + Used to trim off space chars - The alert message - - Get the alert message + + + Read the next entry in the tar file. + + + + + + the data for the entry. Returns null if there are no more entries - - Data sent by a script requesting to take or release specified controls to your agent + + + Read the next 512 byte chunk of data as a tar header. + + A tar header struct. null if we have reached the end of the archive. - + - Construct a new instance of the ScriptControlEventArgs class + Read data following a header - The controls the script is attempting to take or release to the agent - True if the script is passing controls back to the agent - True if the script is requesting controls be released to the script + + + + - - Get the controls the script is attempting to take or release to the agent + + + Convert octal bytes to a decimal representation + + + + + + + + + - - True if the script is passing controls back to the agent + + + Temporary code to produce a tar archive in tar v7 format + - - True if the script is requesting controls be released to the script + + + Binary writer for the underlying stream + - + - Data sent from the simulator to an agent to indicate its view limits + Write a directory entry to the tar archive. We can only handle one path level right now! + + - + - Construct a new instance of the CameraConstraintEventArgs class + Write a file to the tar archive - The collision plane + + + + - - Get the collision plane + + + Write a file to the tar archive + + + + + - + - Data containing script sensor requests which allow an agent to know the specific details - of a primitive sending script sensor requests + Finish writing the raw tar archive data to a stream. The stream will be closed on completion. - + - Construct a new instance of the ScriptSensorReplyEventArgs + Write a particular entry - The ID of the primitive sending the sensor - The ID of the group associated with the primitive - The name of the primitive sending the sensor - The ID of the primitive sending the sensor - The ID of the owner of the primitive sending the sensor - The position of the primitive sending the sensor - The range the primitive specified to scan - The rotation of the primitive sending the sensor - The type of sensor the primitive sent - The velocity of the primitive sending the sensor + + + + + + - - Get the ID of the primitive sending the sensor + + + Represents an Animation + - - Get the ID of the group associated with the primitive + + Default Constructor - - Get the name of the primitive sending the sensor + + + Construct an Asset object of type Animation + + A unique specific to this asset + A byte array containing the raw asset data - - Get the ID of the primitive sending the sensor + + Override the base classes AssetType - - Get the ID of the owner of the primitive sending the sensor + + + Represents an that represents an avatars body ie: Hair, Etc. + - - Get the position of the primitive sending the sensor + + Initializes a new instance of an AssetBodyPart object - - Get the range the primitive specified to scan + + Initializes a new instance of an AssetBodyPart object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - Get the rotation of the primitive sending the sensor + + Override the base classes AssetType - - Get the type of sensor the primitive sent + + + Represents an that can be worn on an avatar + such as a Shirt, Pants, etc. + - - Get the velocity of the primitive sending the sensor + + Initializes a new instance of an AssetScriptBinary object - - Contains the response data returned from the simulator in response to a + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - Construct a new instance of the AvatarSitResponseEventArgs object + + Override the base classes AssetType - - Get the ID of the primitive the agent will be sitting on + + + Type of gesture step + - - True if the simulator Autopilot functions were involved + + + Base class for gesture steps + - - Get the camera offset of the agent when seated + + + Retururns what kind of gesture step this is + - - Get the camera eye offset of the agent when seated + + + Describes animation step of a gesture + - - True of the agent will be in mouselook mode when seated + + + If true, this step represents start of animation, otherwise animation stop + - - Get the position of the agent when seated + + + Animation asset - - Get the rotation of the agent when seated + + + Animation inventory name + - - Data sent when an agent joins a chat session your agent is currently participating in + + + Returns what kind of gesture step this is + - + - Construct a new instance of the ChatSessionMemberAddedEventArgs object + Describes sound step of a gesture - The ID of the chat session - The ID of the agent joining - - Get the ID of the chat session + + + Sound asset - - Get the ID of the agent that joined + + + Sound inventory name + - - Data sent when an agent exits a chat session your agent is currently participating in + + + Returns what kind of gesture step this is + - + - Construct a new instance of the ChatSessionMemberLeftEventArgs object + Describes sound step of a gesture - The ID of the chat session - The ID of the Agent that left - - Get the ID of the chat session + + + Text to output in chat + - - Get the ID of the agent that left + + + Returns what kind of gesture step this is + - + - Identifier code for primitive types + Describes sound step of a gesture - - None + + + If true in this step we wait for all animations to finish + - - A Primitive + + + If true gesture player should wait for the specified amount of time + - - A Avatar + + + Time in seconds to wait if WaitForAnimation is false + - - Linden grass + + + Returns what kind of gesture step this is + - - Linden tree + + + Describes the final step of a gesture + - - A primitive that acts as the source for a particle stream + + + Returns what kind of gesture step this is + - - A Linden tree + + + Represents a sequence of animations, sounds, and chat actions + - + - Primary parameters for primitives such as Physics Enabled or Phantom + Constructs guesture asset - - Deprecated + + + Constructs guesture asset + + A unique specific to this asset + A byte array containing the raw asset data - - Whether physics are enabled for this object + + + Keyboard key that triggers the gestyre + - - + + + Modifier to the trigger key + - - + + + String that triggers playing of the gesture sequence + - - + + + Text that replaces trigger in chat once gesture is triggered + - - + + + Sequence of gesture steps + - - + + + Returns asset type + - - + + + Encodes gesture asset suitable for uplaod + - - Whether this object contains an active touch script + + + Decodes gesture assset into play sequence + + true if the asset data was decoded successfully - - + + + Represents a Landmark with RegionID and Position vector + - - Whether this object can receive payments + + Construct an Asset of type Landmark - - Whether this object is phantom (no collisions) + + + Construct an Asset object of type Landmark + + A unique specific to this asset + A byte array containing the raw asset data - - + + UUID of the Landmark target region - - + + Local position of the target - - + + Override the base classes AssetType - - + + + Encode the raw contents of a string with the specific Landmark format + - - Deprecated + + + Decode the raw asset data, populating the RegionID and Position + + true if the AssetData was successfully decoded to a UUID and Vector - - + + + Represents a string of characters encoded with specific formatting properties + - - + + Construct an Asset of type Notecard - - + + + Construct an Asset object of type Notecard + + A unique specific to this asset + A byte array containing the raw asset data - - Deprecated + + A text string containing main text of the notecard - - + + List of s embedded on the notecard - - + + Override the base classes AssetType - - + + + Encode the raw contents of a string with the specific Linden Text properties + - - + + + Decode the raw asset data including the Linden Text properties + + true if the AssetData was successfully decoded - - Server flag, will not be sent to clients. Specifies that - the object is destroyed when it touches a simulator edge + + + A linkset asset, containing a parent primitive and zero or more children + - - Server flag, will not be sent to clients. Specifies that - the object will be returned to the owner's inventory when it - touches a simulator edge + + Initializes a new instance of an AssetPrim object - - Server flag, will not be sent to clients. + + + Initializes a new instance of an AssetPrim object + + A unique specific to this asset + A byte array containing the raw asset data - - Server flag, will not be sent to client. Specifies that - the object is hovering/flying + + + Only used internally for XML serialization/deserialization + - - + + Override the base classes AssetType - - + + + - - + + + + + - - + + + The deserialized form of a single primitive in a linkset asset + - + - Sound flags for sounds attached to primitives + Represents an AssetScriptBinary object containing the + LSO compiled bytecode of an LSL script - - + + Initializes a new instance of an AssetScriptBinary object - - + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + Override the base classes AssetType - - + + + TODO: Encodes a scripts contents into a LSO Bytecode file + - - + + + TODO: Decode LSO Bytecode into a string + + true - - + + + Represents an LSL Text object containing a string of UTF encoded characters + - - + + Initializes a new AssetScriptText object - + - Material type for a primitive + Initializes a new AssetScriptText object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + A string of characters represting the script contents - - + + Override the base classes AssetType - - + + + Encode a string containing the scripts contents into byte encoded AssetData + - - + + + Decode a byte array containing the scripts contents into a string + + true if decoding is successful - - + + + Represents a Sound Asset + - - + + Initializes a new instance of an AssetSound object - - + + Initializes a new instance of an AssetSound object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + Override the base classes AssetType - - + + + TODO: Encodes a sound file + - + - Used in a helper function to roughly determine prim shape + TODO: Decode a sound file + true - + - Extra parameters for primitives, these flags are for features that have - been added after the original ObjectFlags that has all eight bits - reserved already + Represents a texture - - Whether this object has flexible parameters - - - Whether this object has light parameters - - - Whether this object is a sculpted prim + + Initializes a new instance of an AssetTexture object - + - + Initializes a new instance of an AssetTexture object + A unique specific to this asset + A byte array containing the raw asset data - - - - - - - - - - + - + Initializes a new instance of an AssetTexture object + A object containing texture data - - - - - - - - - - - - - - - - - - - - + + A object containing image data - + - - - - - - - - - - - - - - - + + + - - + + Override the base classes AssetType - - + + + Populates the byte array with a JPEG2000 + encoded image created from the data in - - + + + Decodes the JPEG2000 data in AssetData to the + object + True if the decoding was successful, otherwise false - - + + + Decodes the begin and end byte positions for each quality layer in + the image + + + - + - + Represents a Wearable Asset, Clothing, Hair, Skin, Etc - - + + Initializes a new instance of an AssetWearable object - - + + Initializes a new instance of an AssetWearable object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + A string containing the name of the asset - - + + A string containing a short description of the asset - - + + The Assets WearableType - - + + The For-Sale status of the object - - + + An Integer representing the purchase price of the asset - - - Attachment points for objects on avatar bodies - - - Both InventoryObject and InventoryAttachment types can be attached - + + The of the assets creator - - Right hand if object was not previously attached + + The of the assets current owner - - Chest + + The of the assets prior owner - - Skull + + The of the Group this asset is set to - - Left shoulder + + True if the asset is owned by a - - Right shoulder + + The Permissions mask of the asset - - Left hand + + A Dictionary containing Key/Value pairs of the objects parameters - - Right hand + + A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - - Left foot + + + Decode an assets byte encoded data to a string + + true if the asset data was decoded successfully - - Right foot + + + Encode the assets string represantion into a format consumable by the asset server + - - Spine + + = - - Pelvis + + Number of times we've received an unknown CAPS exception in series. - - Mouth + + For exponential backoff on error. - - Chin + + + A set of textures that are layered on texture of each other and "baked" + in to a single texture, for avatar appearances + - - Left ear + + + Default constructor + + Bake type - - Right ear + + Final baked texture - - Left eyeball + + Component layers - - Right eyeball + + Width of the final baked image and scratchpad - - Nose + + Height of the final baked image and scratchpad - - Right upper arm + + Bake type - - Right forearm + + Final baked texture - - Left upper arm + + Component layers - - Left forearm + + Width of the final baked image and scratchpad - - Right hip + + Height of the final baked image and scratchpad - - Right upper leg + + Bake type - - Right lower leg + + Is this one of the 3 skin bakes - - Left hip + + + Adds layer for baking + + TexturaData struct that contains texture and its params - - Left upper leg + + + Converts avatar texture index (face) to Bake type + + Face number (AvatarTextureIndex) + BakeType, layer to which this texture belongs to - - Left lower leg + + + Make sure images exist, resize source if needed to match the destination + + Destination image + Source image + Sanitization was succefull - - Stomach + + + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color + + Color of the base of this layer - - Left pectoral + + + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color + + Red value + Green value + Blue value - - Right pectoral + + + Create a new blank image + + width + height + channel flags - - HUD Center position 2 + + + + + - - HUD Top-right + + + Image width + - - HUD Top + + + Image height + - - HUD Top-left + + + Image channel flags + - - HUD Center + + + Red channel data + - - HUD Bottom-left + + + Green channel data + - - HUD Bottom + + + Blue channel data + - - HUD Bottom-right + + + Alpha channel data + - + - Tree foliage types + Bump channel data - - Pine1 tree + + + Convert the channels in the image. Channels are created or destroyed as required. + + new channel flags - - Oak tree + + + Resize or stretch the image using nearest neighbor (ugly) resampling + + new width + new height - - Tropical Bush1 + + + Create a byte array containing 32-bit RGBA data with a bottom-left + origin, suitable for feeding directly into OpenGL + + A byte array containing raw texture data - - Palm1 tree + + + A Wrapper around openjpeg to encode and decode images to and from byte arrays + - - Dogwood tree + + + Defines the beginning and ending file positions of a layer in an + LRCP-progression JPEG2000 file + - - Tropical Bush2 + + + This structure is used to marshal both encoded and decoded images. + MUST MATCH THE STRUCT IN dotnet.h! + - - Palm2 tree + + + Information about a single packet in a JPEG2000 stream + - - Cypress1 tree + + Packet start position - - Cypress2 tree + + Packet header end position - - Pine2 tree + + Packet end position - - Plumeria + + TGA Header size - - Winter pinetree1 + + OpenJPEG is not threadsafe, so this object is used to lock + during calls into unmanaged code - - Winter Aspen tree + + + Encode a object into a byte array + + The object to encode + true to enable lossless conversion, only useful for small images ie: sculptmaps + A byte array containing the encoded Image object - - Winter pinetree2 + + + Encode a object into a byte array + + The object to encode + a byte array of the encoded image - - Eucalyptus tree + + + Decode JPEG2000 data to an and + + JPEG2000 encoded data + ManagedImage object to decode to + Image object to decode to + True if the decode succeeds, otherwise false - - Fern + + + + + + + + + - - Eelgrass + + + + + + + + + + + - - Sea Sword + + + Encode a object into a byte array + + The source object to encode + true to enable lossless decoding + A byte array containing the source Bitmap object - - Kelp1 plant + + + Capability to load TGAs to Bitmap + - - Beach grass + + + Interface requirements for Messaging system + - - Kelp2 plant + + + Abstract base for rendering plugins + - + - Grass foliage types + Generates a basic mesh structure from a primitive + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - - + + + Generates a basic mesh structure from a sculpted primitive and + texture + + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - - + + + Generates a series of faces, each face containing a mesh and + metadata + + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - - + + + Generates a series of faces for a sculpted prim, each face + containing a mesh and metadata + + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - - + + + Apply texture coordinate modifications from a + to a list of vertices + + Vertex list to modify texture coordinates for + Center-point of the face + Face texture parameters - - + + + Sent to the client to indicate a teleport request has completed + - - + + The of the agent - + - Action associated with clicking on an object - - Touch object - - - Sit on object + + The simulators handle the agent teleported to - - Purchase object or contents + + A Uri which contains a list of Capabilities the simulator supports - - Pay the object + + Indicates the level of access required + to access the simulator, or the content rating, or the simulators + map status - - Open task inventory + + The IP Address of the simulator - - Play parcel media + + The UDP Port the simulator will listen for UDP traffic on - - Open parcel media + + Status flags indicating the state of the Agent upon arrival, Flying, etc. - + - A set of textures that are layered on texture of each other and "baked" - in to a single texture, for avatar appearances + Serialize the object + An containing the objects data - - Final baked texture - - - Component layers - - - Width of the final baked image and scratchpad - - - Height of the final baked image and scratchpad - - - Bake type - - + - Default constructor + Deserialize the message - Bake type + An containing the data - + - Adds layer for baking + Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - TexturaData struct that contains texture and its params - + - Converts avatar texture index (face) to Bake type + Serialize the object - Face number (AvatarTextureIndex) - BakeType, layer to which this texture belongs to + An containing the objects data - + - Make sure images exist, resize source if needed to match the destination + Deserialize the message - Destination image - Source image - Sanitization was succefull + An containing the data - + - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color + Serialize the object - Color of the base of this layer + An containing the objects data - + - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color + Deserialize the message - Red value - Green value - Blue value - - - Final baked texture - - - Component layers - - - Width of the final baked image and scratchpad - - - Height of the final baked image and scratchpad - - - Bake type - - - Is this one of the 3 skin bakes - - - The event subscribers. null if no subcribers - - - Raises the LandPatchReceived event - A LandPatchReceivedEventArgs object containing the - data returned from the simulator + An containing the data - - Thread sync lock object + + + Serialize the object + + An containing the objects data - + - Default constructor + Deserialize the message - + An containing the data - + - Retrieve the terrain height at a given coordinate + A message sent to the client which indicates a teleport request has failed + and contains some information on why it failed - The region that the point of interest is in - Sim X coordinate, valid range is from 0 to 255 - Sim Y coordinate, valid range is from 0 to 255 - The terrain height at the given point if the - lookup was successful, otherwise 0.0f - True if the lookup was successful, otherwise false - - Raised when the simulator responds sends + + + - - Simulator from that sent tha data + + A string key of the reason the teleport failed e.g. CouldntTPCloser + Which could be used to look up a value in a dictionary or enum - - Sim coordinate of the patch + + The of the Agent - - Sim coordinate of the patch + + A string human readable message containing the reason + An example: Could not teleport closer to destination - - Size of tha patch + + + Serialize the object + + An containing the objects data - - Heightmap for the patch + + + Deserialize the message + + An containing the data - + - The InternalDictionary class is used through the library for storing key/value pairs. - It is intended to be a replacement for the generic Dictionary class and should - be used in its place. It contains several methods for allowing access to the data from - outside the library that are read only and thread safe. - + Serialize the object - Key - Value + An containing the objects data - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - on this member + + + Deserialize the message + + An containing the data - + - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. + Contains a list of prim owner information for a specific parcel in a simulator - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); - - + + A Simulator will always return at least 1 entry + If agent does not have proper permission the OwnerID will be UUID.Zero + If agent does not have proper permission OR there are no primitives on parcel + the DataBlocksExtended map will not be sent from the simulator + - + - Initializes a new instance of the Class - with the specified key/value, has its initial valies copied from the specified - + Prim ownership information for a specified owner on a single parcel - - to copy initial values from - - - // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. - // populates with copied values from example KeyNameCache Dictionary. - - // create source dictionary - Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); - KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); - KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); - - // Initialize new dictionary. - public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); - - - + + The of the prim owner, + UUID.Zero if agent has no permission to view prim owner information + + + The total number of prims + + + True if the OwnerID is a + + + True if the owner is online + This is no longer used by the LL Simulators + + + The date the most recent prim was rezzed + + + An Array of objects + + - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. + Serialize the object - Initial size of dictionary - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); - - + An containing the objects data - + - Try to get entry from with specified key + Deserialize the message - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - + An containing the data - + - Finds the specified match. + The details of a single parcel in a region, also contains some regionwide globals - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - + + Simulator-local ID of this parcel - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - + + Maximum corner of the axis-aligned bounding box for this + parcel - - Perform an on each entry in an - to perform - - - // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. - Client.Network.CurrentSim.ObjectsPrimitives.ForEach( - delegate(Primitive prim) - { - if (prim.Text != null) - { - Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", - prim.PropertiesFamily.Name, prim.ID, prim.Text); - } - }); - - + + Minimum corner of the axis-aligned bounding box for this + parcel - - Perform an on each key of an - to perform + + Total parcel land area - + - Perform an on each KeyValuePair of an - to perform - - Check if Key exists in Dictionary - Key to check for - if found, otherwise + + Key of authorized buyer - - Check if Value exists in Dictionary - Value to check for - if found, otherwise + + Bitmap describing land layout in 4x4m squares across the + entire region - + - Adds the specified key to the dictionary, dictionary locking is not performed, - - The key - The value - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise + + Date land was claimed - - - Gets the number of Key/Value pairs contained in the - + + Appears to always be zero - + + Parcel Description + + - Indexer for the dictionary - The key - The value - + - Avatar group management - - Key of Group Member - - - Total land contribution - - - Online status information - - - Abilities that the Group Member has - - - Current group title + + Total number of primitives owned by the parcel group on + this parcel - - Is a group owner + + Whether the land is deeded to a group or not - + - Role manager for a group - - Key of the group + + Maximum number of primitives this parcel supports - - Key of Role + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - Name of Role + + A URL which points to any Quicktime supported media type - - Group Title associated with Role + + A byte, if 0x1 viewer should auto scale media to fit object - - Description of Role + + URL For Music Stream - - Abilities Associated with Role + + Parcel Name - - Returns the role's title - The role's title + + Autoreturn value in minutes for others' objects - + - Class to represent Group Title - - Key of the group - - - ID of the role title belongs to - - - Group Title + + Total number of other primitives on this parcel - - Whether title is Active + + UUID of the owner of this parcel - - Returns group title + + Total number of primitives owned by the parcel owner on + this parcel - + - Represents a group on the grid - - Key of Group - - - Key of Group Insignia + + How long is pass valid for - - Key of Group Founder + + Price for a temporary pass - - Key of Group Role for Owners + + + - - Name of Group + + + - - Text of Group Charter + + + - - Title of "everyone" role + + + - - Is the group open for enrolement to everyone + + True if the region denies access to age unverified users - - Will group show up in search + + + - - + + This field is no longer used - - + + The result of a request for parcel properties + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it - - + + + Number of primitives your avatar is currently + selecting and sitting on in this parcel + - - Is the group Mature + + + - - Cost of group membership + + + A number which increments by 1, starting at 0 for each ParcelProperties request. + Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. + a Negative number indicates the action in has occurred. + - - + + Maximum primitives across the entire simulator - - + + Total primitives across the entire simulator - - The total number of current members this group has + + + - - The number of roles this group has configured + + Key of parcel snapshot - - Show this group in agent's profile + + Parcel ownership status - - Returns the name of the group - A string containing the name of the group + + Total number of primitives on this parcel - + - A group Vote - - Key of Avatar who created Vote + + + - - Text of the Vote proposal + + A description of the media - - Total number of votes + + An Integer which represents the height of the media - - - A group proposal - + + An integer which represents the width of the media - - The Text of the proposal + + A boolean, if true the viewer should loop the media - - The minimum number of members that must vote before proposal passes or failes + + A string which contains the mime type of the media - - The required ration of yes/no votes required for vote to pass - The three options are Simple Majority, 2/3 Majority, and Unanimous - TODO: this should be an enum + + true to obscure (hide) media url - - The duration in days votes are accepted + + true to obscure (hide) music url - + - + Serialize the object + An containing the objects data - - - - - - - - + + + Deserialize the message + + An containing the data - - + + A message sent from the viewer to the simulator to updated a specific parcels settings - - + + The of the agent authorized to purchase this + parcel of land or a NULL if the sale is authorized to anyone - - + + true to enable auto scaling of the parcel media - - + + The category of this parcel used when search is enabled to restrict + search results - - + + A string containing the description to set - - + + The of the which allows for additional + powers and restrictions. - - + + The which specifies how avatars which teleport + to this parcel are handled - - + + The LocalID of the parcel to update settings on - - + + A string containing the description of the media which can be played + to visitors - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - + - Struct representing a group notice - - + + + - - + + + - - + + + - - + + + - + - - - + - Struct representing a group notice list entry - - Notice ID + + + - - Creation timestamp of notice + + + - - Agent name who created notice + + + - - Notice subject + + + Deserialize the message + + An containing the data - - Is there an attachment? + + + Serialize the object + + An containing the objects data - - Attachment Type + + Base class used for the RemoteParcelRequest message - + - Struct representing a member of a group chat session and their settings + A message sent from the viewer to the simulator to request information + on a remote parcel - - The of the Avatar + + Local sim position of the parcel we are looking up - - True if user has voice chat enabled + + Region handle of the parcel we are looking up - - True of Avatar has moderator abilities + + Region of the parcel we are looking up - - True if a moderator has muted this avatars chat + + + Serialize the object + + An containing the objects data - - True if a moderator has muted this avatars voice + + + Deserialize the message + + An containing the data - + - Role update flags + A message sent from the simulator to the viewer in response to a + which will contain parcel information - - + + The grid-wide unique parcel ID - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + A message containing a request for a remote parcel from a viewer, or a response + from the simulator to that request + - - + + The request or response details block - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - Can send invitations to groups default role + + + Serialize the object + + An containing the objects data - - Can eject members from group + + + Deserialize the message + + An containing the data - - Can toggle 'Open Enrollment' and change 'Signup fee' + + + Serialize the object + + An containing the objects data - - Member is visible in the public member list + + + Deserialize the message + + An containing the data + + + + A message sent from the simulator to an agent which contains + the groups the agent is in + - - Can create new roles + + Group Details specific to the agent - - Can delete existing roles + + true of the agent accepts group notices - - Can change Role names, titles and descriptions + + The agents tier contribution to the group - - Can assign other members to assigners role + + The Groups - - Can assign other members to any role + + The of the groups insignia - - Can remove members from roles + + The name of the group - - Can assign and remove abilities in roles + + The aggregate permissions the agent has in the group for all roles the agent + is assigned - - Can change group Charter, Insignia, 'Publish on the web' and which - members are publicly visible in group member listings + + An optional block containing additional agent specific information - - Can buy land or deed land to group + + true of the agent allows this group to be + listed in their profile - - Can abandon group owned land to Governor Linden on mainland, or Estate owner for - private estates + + The Agent receiving the message - - Can set land for-sale information on group owned parcels + + An array containing information + for each the agent is a member of - - Can subdivide and join parcels + + An array containing information + for each the agent is a member of - - Can join group chat sessions + + + Serialize the object + + An containing the objects data - - Can use voice chat in Group Chat sessions + + + Deserialize the message + + An containing the data - - Can moderate group chat sessions + + + A message sent from the viewer to the simulator which + specifies the language and permissions for others to detect + the language specified + - - Can toggle "Show in Find Places" and set search category + + A string containng the default language + to use for the agent - - Can change parcel name, description, and 'Publish on web' settings + + true of others are allowed to + know the language setting - - Can set the landing point and teleport routing on group land + + + Serialize the object + + An containing the objects data - - Can change music and media settings + + + Deserialize the message + + An containing the data - - Can toggle 'Edit Terrain' option in Land settings + + + An EventQueue message sent from the simulator to an agent when the agent + leaves a group + - - Can toggle various About Land > Options settings + + An object containing the Agents UUID, and the Groups UUID - - Can always terraform land, even if parcel settings have it turned off + + The ID of the Agent leaving the group - - Can always fly while over group owned land + + The GroupID the Agent is leaving - - Can always rez objects on group owned land + + + An Array containing the AgentID and GroupID + - - Can always create landmarks for group owned parcels + + + Serialize the object + + An containing the objects data - - Can set home location on any group owned parcel + + + Deserialize the message + + An containing the data - - Can modify public access settings for group owned parcels + + Base class for Asset uploads/results via Capabilities - - Can manager parcel ban lists on group owned land + + + The request state + - - Can manage pass list sales information + + + Serialize the object + + An containing the objects data - - Can eject and freeze other avatars on group owned land + + + Deserialize the message + + An containing the data - - Can return objects set to group + + + A message sent from the viewer to the simulator to request a temporary upload capability + which allows an asset to be uploaded + - - Can return non-group owned/set objects + + The Capability URL sent by the simulator to upload the baked texture to - - Can return group owned objects + + + A message sent from the simulator that will inform the agent the upload is complete, + and the UUID of the uploaded asset + - - Can landscape using Linden plants + + The uploaded texture asset ID - - Can deed objects to group + + + A message sent from the viewer to the simulator to request a temporary + capability URI which is used to upload an agents baked appearance textures + - - Can move group owned objects + + Object containing request or response - - Can set group owned objects for-sale + + + Serialize the object + + An containing the objects data - - Pay group liabilities and receive group dividends + + + Deserialize the message + + An containing the data - - Can send group notices + + + A message sent from the simulator which indicates the minimum version required for + using voice chat + - - Can receive group notices + + Major Version Required - - Can create group proposals + + Minor version required - - Can vote on group proposals + + The name of the region sending the version requrements - + - Handles all network traffic related to reading and writing group - information + Serialize the object + An containing the objects data - - The event subscribers. null if no subcribers - - - Raises the CurrentGroups event - A CurrentGroupsEventArgs object containing the - data sent from the simulator - - - Thread sync lock object + + + Deserialize the message + + An containing the data - - The event subscribers. null if no subcribers + + + A message sent from the simulator to the viewer containing the + voice server URI + - - Raises the GroupNamesReply event - A GroupNamesEventArgs object containing the - data response from the simulator + + The Parcel ID which the voice server URI applies - - Thread sync lock object + + The name of the region - - The event subscribers. null if no subcribers + + A uri containing the server/channel information + which the viewer can utilize to participate in voice conversations - - Raises the GroupProfile event - An GroupProfileEventArgs object containing the - data returned from the simulator + + + Serialize the object + + An containing the objects data - - Thread sync lock object + + + Deserialize the message + + An containing the data - - The event subscribers. null if no subcribers + + + - - Raises the GroupMembers event - A GroupMembersEventArgs object containing the - data returned from the simulator + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + Serialize the object + + An containing the objects data - - Raises the GroupRolesDataReply event - A GroupRolesDataReplyEventArgs object containing the - data returned from the simulator + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + A message sent by the viewer to the simulator to request a temporary + capability for a script contained with in a Tasks inventory to be updated + - - The event subscribers. null if no subcribers + + Object containing request or response - - Raises the GroupRoleMembersReply event - A GroupRolesRoleMembersReplyEventArgs object containing the - data returned from the simulator + + + Serialize the object + + An containing the objects data - - Thread sync lock object + + + Deserialize the message + + An containing the data - - The event subscribers. null if no subcribers + + + A message sent from the simulator to the viewer to indicate + a Tasks scripts status. + - - Raises the GroupTitlesReply event - A GroupTitlesReplyEventArgs object containing the - data returned from the simulator + + The Asset ID of the script - - Thread sync lock object + + True of the script is compiled/ran using the mono interpreter, false indicates it + uses the older less efficient lsl2 interprter - - The event subscribers. null if no subcribers + + The Task containing the scripts - - Raises the GroupAccountSummary event - A GroupAccountSummaryReplyEventArgs object containing the - data returned from the simulator + + true of the script is in a running state - - Thread sync lock object + + + Serialize the object + + An containing the objects data - - The event subscribers. null if no subcribers + + + Deserialize the message + + An containing the data - - Raises the GroupCreated event - An GroupCreatedEventArgs object containing the - data returned from the simulator + + + A message containing the request/response used for updating a gesture + contained with an agents inventory + - - Thread sync lock object + + Object containing request or response - - The event subscribers. null if no subcribers + + + Serialize the object + + An containing the objects data - - Raises the GroupJoined event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + A message request/response which is used to update a notecard contained within + a tasks inventory + - - The event subscribers. null if no subcribers + + The of the Task containing the notecard asset to update - - Raises the GroupLeft event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + The notecard assets contained in the tasks inventory - - Thread sync lock object + + + Serialize the object + + An containing the objects data - - The event subscribers. null if no subcribers + + + Deserialize the message + + An containing the data - - Raises the GroupDropped event - An GroupDroppedEventArgs object containing the - the group your agent left + + + A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability + which is used to update an asset in an agents inventory + - - Thread sync lock object + + + The Notecard AssetID to replace + - - The event subscribers. null if no subcribers + + + Serialize the object + + An containing the objects data - - Raises the GroupMemberEjected event - An GroupMemberEjectedEventArgs object containing the - data returned from the simulator + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + A message containing the request/response used for updating a notecard + contained with an agents inventory + - - The event subscribers. null if no subcribers + + Object containing request or response - - Raises the GroupNoticesListReply event - An GroupNoticesListReplyEventArgs object containing the - data returned from the simulator + + + Serialize the object + + An containing the objects data - - Thread sync lock object + + + Deserialize the message + + An containing the data - - The event subscribers. null if no subcribers + + + Serialize the object + + An containing the objects data - - Raises the GroupInvitation event - An GroupInvitationEventArgs object containing the - data returned from the simulator + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + A message sent from the simulator to the viewer which indicates + an error occurred while attempting to update a script in an agents or tasks + inventory + - - A reference to the current instance + + true of the script was successfully compiled by the simulator - - Currently-active group members requests + + A string containing the error which occured while trying + to update the script - - Currently-active group roles requests + + A new AssetID assigned to the script - - Currently-active group role-member requests + + + A message sent from the viewer to the simulator + requesting the update of an existing script contained + within a tasks inventory + - - Dictionary keeping group members while request is in progress + + if true, set the script mode to running - - Dictionary keeping mebmer/role mapping while request is in progress + + The scripts InventoryItem ItemID to update - - Dictionary keeping GroupRole information while request is in progress + + A lowercase string containing either "mono" or "lsl2" which + specifies the script is compiled and ran on the mono runtime, or the older + lsl runtime - - Caches group name lookups + + The tasks which contains the script to update - + - Construct a new instance of the GroupManager class + Serialize the object - A reference to the current instance + An containing the objects data - + - Request a current list of groups the avatar is a member of. + Deserialize the message - CAPS Event Queue must be running for this to work since the results - come across CAPS. + An containing the data - + - Lookup name of group based on groupID + A message containing either the request or response used in updating a script inside + a tasks inventory - groupID of group to lookup name for. - + + Object containing request or response + + - Request lookup of multiple group names + Serialize the object - List of group IDs to request. - - - Lookup group profile data such as name, enrollment, founder, logo, etc - Subscribe to OnGroupProfile event to receive the results. - group ID (UUID) - - - Request a list of group members. - Subscribe to OnGroupMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request group roles - Subscribe to OnGroupRoles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + An containing the objects data - - Request members (members,role) role mapping for a group. - Subscribe to OnGroupRolesMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + + Deserialize the message + + An containing the data - - Request a groups Titles - Subscribe to OnGroupTitles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + + Response from the simulator to notify the viewer the upload is completed, and + the UUID of the script asset and its compiled status + - - Begin to get the group account summary - Subscribe to the OnGroupAccountSummary event to receive the results. - group ID (UUID) - How long of an interval - Which interval (0 for current, 1 for last) + + The uploaded texture asset ID - - Invites a user to a group - The group to invite to - A list of roles to invite a person to - Key of person to invite + + true of the script was compiled successfully - - Set a group as the current active group - group ID (UUID) + + + A message sent from a viewer to the simulator requesting a temporary uploader capability + used to update a script contained in an agents inventory + - - Change the role that determines your active title - Group ID to use - Role ID to change to + + The existing asset if of the script in the agents inventory to replace - - Set this avatar's tier contribution - Group ID to change tier in - amount of tier to donate + + The language of the script + Defaults to lsl version 2, "mono" might be another possible option - + - Save wheather agent wants to accept group notices and list this group in their profile + Serialize the object - Group - Accept notices from this group - List this group in the profile - - - Request to join a group - Subscribe to OnGroupJoined event for confirmation. - group ID (UUID) to join. + An containing the objects data - + - Request to create a new group. If the group is successfully - created, L$100 will automatically be deducted + Deserialize the message - Subscribe to OnGroupCreated event to receive confirmation. - Group struct containing the new group info - - - Update a group's profile and other information - Groups ID (UUID) to update. - Group struct to update. - - - Eject a user from a group - Group ID to eject the user from - Avatar's key to eject + An containing the data - - Update role information - Modified role to be updated - - - Create a new group role - Group ID to update - Role to create + + + A message containing either the request or response used in updating a script inside + an agents inventory + - - Delete a group role - Group ID to update - Role to delete + + Object containing request or response - - Remove an avatar from a role - Group ID to update - Role ID to be removed from - Avatar's Key to remove + + + Serialize the object + + An containing the objects data - - Assign an avatar to a role - Group ID to update - Role ID to assign to - Avatar's ID to assign to role + + + Deserialize the message + + An containing the data - - Request the group notices list - Group ID to fetch notices for + + + Serialize the object + + An containing the objects data - - Request a group notice by key - ID of group notice + + + Deserialize the message + + An containing the data - - Send out a group notice - Group ID to update - GroupNotice structure containing notice data + + Base class for Map Layers via Capabilities - - Start a group proposal (vote) - The Group ID to send proposal to - GroupProposal structure containing the proposal + + + - - Request to leave a group - Subscribe to OnGroupLeft event to receive confirmation - The group to leave + + + Serialize the object + + An containing the objects data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Deserialize the message + + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Sent by an agent to the capabilities server to request map layers + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + An object containing map location details + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The Asset ID of the regions tile overlay - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The grid location of the southern border of the map tile - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The grid location of the western border of the map tile - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The grid location of the eastern border of the map tile - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The grid location of the northern border of the map tile - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + An array containing LayerData items - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Serialize the object + + An containing the objects data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Deserialize the message + + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Object containing request or response - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Serialize the object + + An containing the objects data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Deserialize the message + + An containing the data - - Raised when the simulator sends us data containing - our current group membership + + + New as of 1.23 RC1, no details yet. + - - Raised when the simulator responds to a RequestGroupName - or RequestGroupNames request + + + Serialize the object + + An containing the objects data - - Raised when the simulator responds to a request + + + Deserialize the message + + An containing the data - - Raised when the simulator responds to a request + + + Serialize the object + + An containing the objects data - - Raised when the simulator responds to a request + + + Deserialize the message + + An containing the data - - Raised when the simulator responds to a request + + A string containing the method used - - Raised when the simulator responds to a request + + + A request sent from an agent to the Simulator to begin a new conference. + Contains a list of Agents which will be included in the conference + - - Raised when a response to a RequestGroupAccountSummary is returned - by the simulator + + An array containing the of the agents invited to this conference - - Raised when a request to create a group is successful + + The conferences Session ID - - Raised when a request to join a group either - fails or succeeds + + + Serialize the object + + An containing the objects data - - Raised when a request to leave a group either - fails or succeeds + + + Deserialize the message + + An containing the data - - Raised when A group is removed from the group server + + + A moderation request sent from a conference moderator + Contains an agent and an optional action to take + - - Raised when a request to eject a member from a group either - fails or succeeds + + The Session ID - - Raised when the simulator sends us group notices - + + + - - Raised when another agent invites our avatar to join a group + + A list containing Key/Value pairs, known valid values: + key: text value: true/false - allow/disallow specified agents ability to use text in session + key: voice value: true/false - allow/disallow specified agents ability to use voice in session + + "text" or "voice" - - Contains the current groups your agent is a member of + + + - - Construct a new instance of the CurrentGroupsEventArgs class - The current groups your agent is a member of + + + Serialize the object + + An containing the objects data - - Get the current groups your agent is a member of + + + Deserialize the message + + An containing the data - - A Dictionary of group names, where the Key is the groups ID and the value is the groups name + + + A message sent from the agent to the simulator which tells the + simulator we've accepted a conference invitation + - - Construct a new instance of the GroupNamesEventArgs class - The Group names dictionary + + The conference SessionID - - Get the Group Names dictionary + + + Serialize the object + + An containing the objects data - - Represents the members of a group + + + Deserialize the message + + An containing the data - + - Construct a new instance of the GroupMembersReplyEventArgs class + Serialize the object - The ID of the request - The ID of the group - The membership list of the group + An containing the objects data - - Get the ID as returned by the request to correlate - this result set and the request + + + Deserialize the message + + An containing the data - - Get the ID of the group + + + Serialize the object + + An containing the objects data - - Get the dictionary of members + + + Deserialize the message + + An containing the data - - Represents the roles associated with a group + + + Serialize the object + + An containing the objects data - - Construct a new instance of the GroupRolesDataReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The dictionary containing the roles + + + Deserialize the message + + An containing the data - - Get the ID as returned by the request to correlate - this result set and the request + + Key of sender - - Get the ID of the group + + Name of sender - - Get the dictionary containing the roles + + Key of destination avatar - - Represents the Role to Member mappings for a group + + ID of originating estate - - Construct a new instance of the GroupRolesMembersReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The member to roles map + + Key of originating region - - Get the ID as returned by the request to correlate - this result set and the request + + Coordinates in originating region - - Get the ID of the group + + Instant message type - - Get the member to roles map + + Group IM session toggle - - Represents the titles for a group + + Key of IM session, for Group Messages, the groups UUID - - Construct a new instance of the GroupTitlesReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The titles + + Timestamp of the instant message - - Get the ID as returned by the request to correlate - this result set and the request + + Instant message text - - Get the ID of the group + + Whether this message is held for offline avatars - - Get the titles + + Context specific packed data - - Represents the summary data for a group + + Is this invitation for voice group/conference chat - - Construct a new instance of the GroupAccountSummaryReplyEventArgs class - The ID of the group - The summary data + + + Serialize the object + + An containing the objects data - - Get the ID of the group + + + Deserialize the message + + An containing the data - - Get the summary data + + + Sent from the simulator to the viewer. + When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including + a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate + this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" + During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are + excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with + the string "ENTER" or "LEAVE" respectively. + - - A response to a group create request + + + Serialize the object + + An containing the objects data - - Construct a new instance of the GroupCreatedReplyEventArgs class - The ID of the group - the success or faulure of the request - A string containing additional information + + + Deserialize the message + + An containing the data - - Get the ID of the group + + + An EventQueue message sent when the agent is forcibly removed from a chatterbox session + - - true of the group was created successfully + + + A string containing the reason the agent was removed + - - A string containing the message + + + The ChatterBoxSession's SessionID + - - Represents a response to a request + + + Serialize the object + + An containing the objects data - - Construct a new instance of the GroupOperationEventArgs class - The ID of the group - true of the request was successful + + + Deserialize the message + + An containing the data - - Get the ID of the group + + + Serialize the object + + An containing the objects data - - true of the request was successful + + + Deserialize the message + + An containing the data - - Represents your agent leaving a group + + + Serialize the object + + An containing the objects data - - Construct a new instance of the GroupDroppedEventArgs class - The ID of the group + + + Deserialize the message + + An containing the data - - Get the ID of the group + + + Serialize the object + + An containing the objects data - - Represents a list of active group notices + + + Deserialize the message + + An containing the data - - Construct a new instance of the GroupNoticesListReplyEventArgs class - The ID of the group - The list containing active notices + + + Serialize the object + + An containing the objects data - - Get the ID of the group + + + Deserialize the message + + An containing the data - - Get the notices list + + + - - Represents the profile of a group + + + Serialize the object + + An containing the objects data - - Construct a new instance of the GroupProfileEventArgs class - The group profile + + + Deserialize the message + + An containing the data - - Get the group profile + + + Serialize the object + + An containing the objects data - + - Provides notification of a group invitation request sent by another Avatar + Deserialize the message - The invitation is raised when another avatar makes an offer for our avatar - to join a group. + An containing the data - - The ID of the Avatar sending the group invitation + + + Serialize the object + + An containing the objects data - - The name of the Avatar sending the group invitation + + + Deserialize the message + + An containing the data - - A message containing the request information which includes - the name of the group, the groups charter and the fee to join details + + + A message sent from the viewer to the simulator which + specifies that the user has changed current URL + of the specific media on a prim face + - - The Simulator + + + New URL + - - Set to true to accept invitation, false to decline + + + Prim UUID where navigation occured + - + - Wrapper around a byte array that allows bit to be packed and unpacked - one at a time or by a variable amount. Useful for very tightly packed - data like LayerData packets + Face index - - + + + Serialize the object + + An containing the objects data - + - Default constructor, initialize the bit packer / bit unpacker - with a byte array and starting position + Deserialize the message - Byte array to pack bits in to or unpack from - Starting position in the byte array + An containing the data - + + Base class used for the ObjectMedia message + + - Pack a floating point value in to the data + Message used to retrive prim media data - Floating point value to pack - + - Pack part or all of an integer in to the data + Prim UUID - Integer containing the data to pack - Number of bits of the integer to pack - + - Pack part or all of an unsigned integer in to the data + Requested operation, either GET or UPDATE - Unsigned integer containing the data to pack - Number of bits of the integer to pack - + - + Serialize object - - - - + Serialized object as OSDMap - + - + Deserialize the message - + An containing the data - + - + Message used to update prim media data - - + - Unpacking a floating point value from the data + Prim UUID - Unpacked floating point value - + - Unpack a variable number of bits from the data in to integer format + Array of media entries indexed by face number - Number of bits to unpack - An integer containing the unpacked bits - This function is only useful up to 32 bits - + - Unpack a variable number of bits from the data in to unsigned - integer format + Media version string - Number of bits to unpack - An unsigned integer containing the unpacked bits - This function is only useful up to 32 bits - + - Unpack a 16-bit signed integer + Serialize object - 16-bit signed integer + Serialized object as OSDMap - + - Unpack a 16-bit unsigned integer + Deserialize the message - 16-bit unsigned integer + An containing the data - + - Unpack a 32-bit signed integer + Message used to update prim media data - 32-bit signed integer - + - Unpack a 32-bit unsigned integer + Prim UUID - 32-bit unsigned integer - - - - - - - + - Avatar profile flags + Array of media entries indexed by face number - + - Represents an avatar (other than your own) + Requested operation, either GET or UPDATE - - Groups that this avatar is a member of - - - Positive and negative ratings - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - - - Avatar interests including spoken languages, skills, and "want to" - choices - - - Movement control flags for avatars. Typically not set or used by - clients. To move your avatar, use Client.Self.Movement instead - - + - Contains the visual parameters describing the deformation of the avatar + Serialize object + Serialized object as OSDMap - + - Default constructor + Deserialize the message + An containing the data - - First name - - - Last name - - - Full name + + + Message for setting or getting per face MediaEntry + - - Active group + + The request or response details block - + - Positive and negative ratings + Serialize the object + An containing the objects data - - Positive ratings for Behavior + + + Deserialize the message + + An containing the data - - Negative ratings for Behavior + + Details about object resource usage - - Positive ratings for Appearance + + Object UUID - - Negative ratings for Appearance + + Object name - - Positive ratings for Building + + Indicates if object is group owned - - Negative ratings for Building + + Locatio of the object - - Positive ratings given by this avatar + + Object owner - - Negative ratings given by this avatar + + Resource usage, keys are resource names, values are resource usage for that specific resource - + - Avatar properties including about text, profile URL, image IDs and - publishing settings + Deserializes object from OSD + An containing the data - - First Life about text - - - First Life image ID - - - - - - - - - - - - - - - Profile image ID + + + Makes an instance based on deserialized data + + + serialized data + Instance containg deserialized data - - Flags of the profile + + Details about parcel resource usage - - Web URL for this profile + + Parcel UUID - - Should this profile be published on the web + + Parcel local ID - - Avatar Online Status + + Parcel name - - Is this a mature profile + + Indicates if parcel is group owned - - + + Parcel owner - - + + Array of containing per object resource usage - + - Avatar interests including spoken languages, skills, and "want to" - choices + Deserializes object from OSD + An containing the data - - Languages profile field - - - + + + Makes an instance based on deserialized data + + + serialized data + Instance containg deserialized data - - + + Resource usage base class, both agent and parcel resource + usage contains summary information - - + + Summary of available resources, keys are resource names, + values are resource usage for that specific resource - - + + Summary resource usage, keys are resource names, + values are resource usage for that specific resource - + - Index of TextureEntry slots for avatar appearances + Serializes object + + serialized data - + - Bake layers for avatar appearance + Deserializes object from OSD + An containing the data - - Maximum number of concurrent downloads for wearable assets and textures - - - Maximum number of concurrent uploads for baked textures - - - Timeout for fetching inventory listings - - - Timeout for fetching a single wearable, or receiving a single packet response - - - Timeout for fetching a single texture - - - Timeout for uploading a single baked texture - - - Number of times to retry bake upload - - - When changing outfit, kick off rebake after - 20 seconds has passed since the last change - - - Total number of wearables for each avatar - - - Total number of baked textures on each avatar - - - Total number of wearables per bake layer - - - Total number of textures on an avatar, baked or not - - - Mapping between BakeType and AvatarTextureIndex - - - Map of what wearables are included in each bake - - - Magic values to finalize the cache check hashes for each - bake - - - Default avatar texture, used to detect when a custom - texture is not set for a face - - - The event subscribers. null if no subcribers - - - Raises the AgentWearablesReply event - An AgentWearablesReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the CachedBakesReply event - An AgentCachedBakesReplyEventArgs object containing the - data returned from the data server AgentCachedTextureResponse - - - Thread sync lock object - - - The event subscribers. null if no subcribers + + Agent resource usage - - Raises the AppearanceSet event - An AppearanceSetEventArgs object indicating if the operatin was successfull + + Per attachment point object resource usage - - Thread sync lock object + + + Deserializes object from OSD + + An containing the data - - The event subscribers. null if no subcribers + + + Makes an instance based on deserialized data + + + serialized data + Instance containg deserialized data - - Raises the RebakeAvatarRequested event - An RebakeAvatarTexturesEventArgs object containing the - data returned from the data server + + + Detects which class handles deserialization of this message + + An containing the data + Object capable of decoding this message - - Thread sync lock object + + Request message for parcel resource usage - - A cache of wearables currently being worn + + UUID of the parel to request resource usage info - - A cache of textures currently being worn + + + Serializes object + + + serialized data - - Incrementing serial number for AgentCachedTexture packets + + + Deserializes object from OSD + + An containing the data - - Incrementing serial number for AgentSetAppearance packets + + Response message for parcel resource usage - - Indicates whether or not the appearance thread is currently - running, to prevent multiple appearance threads from running - simultaneously + + URL where parcel resource usage details can be retrieved - - Reference to our agent + + URL where parcel resource usage summary can be retrieved - + - Timer used for delaying rebake on changing outfit + Serializes object + + serialized data - + - Main appearance thread + Deserializes object from OSD + An containing the data - + - Default constructor + Detects which class handles deserialization of this message - A reference to our agent + An containing the data + Object capable of decoding this message - + + Parcel resource usage + + + Array of containing per percal resource usage + + - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread + Deserializes object from OSD + An containing the data - + - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread + Return a decoded capabilities message as a strongly typed object - Unused parameter + A string containing the name of the capabilities message key + An to decode + A strongly typed object containing the decoded information from the capabilities message, or null + if no existing Message object exists for the specified event - + - Starts the appearance setting thread + Permissions for control of object media - + - Starts the appearance setting thread + Style of cotrols that shold be displayed to the user - True to force rebaking, otherwise false - + - Ask the server what textures our agent is currently wearing + Class representing media data for a single face - + + Is display of the alternative image enabled + + + Should media auto loop + + + Shoule media be auto played + + + Auto scale media to prim face + + + Should viewer automatically zoom in on the face when clicked + + + Should viewer interpret first click as interaction with the media + or when false should the first click be treated as zoom in commadn + + + Style of controls viewer should display when + viewer media on this face + + + Starting URL for the media + + + Currently navigated URL + + + Media height in pixes + + + Media width in pixels + + + Who can controls the media + + + Who can interact with the media + + + Is URL whitelist enabled + + + Array of URLs that are whitelisted + + - Build hashes out of the texture assetIDs for each baking layer to - ask the simulator whether it has cached copies of each baked texture + Serialize to OSD + OSDMap with the serialized data - + - Returns the AssetID of the asset that is currently being worn in a - given WearableType slot + Deserialize from OSD data - WearableType slot to get the AssetID for - The UUID of the asset being worn in the given slot, or - UUID.Zero if no wearable is attached to the given slot or wearables - have not been downloaded yet + Serialized OSD data + Deserialized object - + - Add a wearable to the current outfit and set appearance + Particle system specific enumerators, flags and methods. - Wearable to be added to the outfit - + - Add a list of wearables to the current outfit and set appearance + Default constructor - List of wearable inventory items to - be added to the outfit - + - Remove a wearable from the current outfit and set appearance + Complete structure for the particle system - Wearable to be removed from the outfit - + - Removes a list of wearables from the current outfit and set appearance + Decodes a byte[] array into a ParticleSystem Object - List of wearable inventory items to - be removed from the outfit + ParticleSystem object + Start position for BitPacker - + - Replace the current outfit with a list of wearables and set appearance + Particle source pattern - List of wearable inventory items that - define a new outfit - + + None + + + Drop particles from source position with no force + + + "Explode" particles in all directions + + + Particles shoot across a 2D area + + + Particles shoot across a 3D Cone + + + Inverse of AngleCone (shoot particles everywhere except the 3D cone defined + + - Checks if an inventory item is currently being worn + Particle Data Flags - The inventory item to check against the agent - wearables - The WearableType slot that the item is being worn in, - or WearbleType.Invalid if it is not currently being worn - + + None + + + Interpolate color and alpha from start to end + + + Interpolate scale from start to end + + + Bounce particles off particle sources Z height + + + velocity of particles is dampened toward the simulators wind + + + Particles follow the source + + + Particles point towards the direction of source's velocity + + + Target of the particles + + + Particles are sent in a straight line + + + Particles emit a glow + + + used for point/grab/touch + + - Returns a copy of the agents currently worn wearables + Particle Flags Enum - A copy of the agents currently worn wearables - Avoid calling this function multiple times as it will make - a copy of all of the wearable data each time - - - Calls either or - depending on the value of - replaceItems - - List of wearable inventory items to add - to the outfit or become a new outfit - True to replace existing items with the - new list of items, false to add these items to the existing outfit + + None + + + Acceleration and velocity for particles are + relative to the object rotation + + + Particles use new 'correct' angle parameters + + + Particle Flags + There appears to be more data packed in to this area + for many particle systems. It doesn't appear to be flag values + and serialization breaks unless there is a flag for every + possible bit so it is left as an unsigned integer + + + + pattern of particles + + + A representing the maximimum age (in seconds) particle will be displayed + Maximum value is 30 seconds + + + A representing the number of seconds, + from when the particle source comes into view, + or the particle system's creation, that the object will emits particles; + after this time period no more particles are emitted + + + A in radians that specifies where particles will not be created + + + A in radians that specifies where particles will be created + + + A representing the number of seconds between burts. + + + A representing the number of meters + around the center of the source where particles will be created. - - - Adds a list of attachments to our agent - - A List containing the attachments to add - If true, tells simulator to remove existing attachment - first + + A representing in seconds, the minimum speed between bursts of new particles + being emitted - - - Attach an item to our agent at a specific attach point - - A to attach - the on the avatar - to attach the item to + + A representing in seconds the maximum speed of new particles being emitted. - - - Attach an item to our agent specifying attachment details - - The of the item to attach - The attachments owner - The name of the attachment - The description of the attahment - The to apply when attached - The of the attachment - The on the agent - to attach the item to + + A representing the maximum number of particles emitted per burst - - - Detach an item from our agent using an object - - An object + + A which represents the velocity (speed) from the source which particles are emitted - - - Detach an item from our agent - - The inventory itemID of the item to detach + + A which represents the Acceleration from the source which particles are emitted - - - Inform the sim which wearables are part of our current outfit - + + The Key of the texture displayed on the particle - - - Replaces the Wearables collection with a list of new wearable items - - Wearable items to replace the Wearables collection with + + The Key of the specified target object or avatar particles will follow - - - Calculates base color/tint for a specific wearable - based on its params - - All the color info gathered from wearable's VisualParams - passed as list of ColorParamInfo tuples - Base color/tint for the wearable + + Flags of particle from - - - Blocking method to populate the Wearables dictionary - - True on success, otherwise false + + Max Age particle system will emit particles for - - - Blocking method to populate the Textures array with cached bakes - - True on success, otherwise false + + The the particle has at the beginning of its lifecycle - - - Populates textures and visual params from a decoded asset - - Wearable to decode + + The the particle has at the ending of its lifecycle - - - Blocking method to download and parse currently worn wearable assets - - True on success, otherwise false + + A that represents the starting X size of the particle + Minimum value is 0, maximum value is 4 - - - Get a list of all of the textures that need to be downloaded for a - single bake layer - - Bake layer to get texture AssetIDs for - A list of texture AssetIDs to download + + A that represents the starting Y size of the particle + Minimum value is 0, maximum value is 4 - - - Helper method to lookup the TextureID for a single layer and add it - to a list if it is not already present - - - + + A that represents the ending X size of the particle + Minimum value is 0, maximum value is 4 - - - Blocking method to download all of the textures needed for baking - the given bake layers - - A list of layers that need baking - No return value is given because the baking will happen - whether or not all textures are successfully downloaded + + A that represents the ending Y size of the particle + Minimum value is 0, maximum value is 4 - + - Blocking method to create and upload baked textures for all of the - missing bakes + Generate byte[] array from particle data - True on success, otherwise false + Byte array - + - Blocking method to create and upload a baked texture for a single - bake layer + Parameters used to construct a visual representation of a primitive - Layer to bake - True on success, otherwise false - + - Blocking method to upload a baked texture - Five channel JPEG2000 texture data to upload - UUID of the newly created asset on success, otherwise UUID.Zero - + - Creates a dictionary of visual param values from the downloaded wearables - A dictionary of visual param indices mapping to visual param - values for our agent that can be fed to the Baker class - + - Create an AgentSetAppearance packet from Wearables data and the - Textures array and send it - + - Converts a WearableType to a bodypart or clothing WearableType - A WearableType - AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - + - Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - A BakeType - The AvatarTextureIndex slot that holds the given BakeType - + - Gives the layer number that is used for morph mask - >A BakeType - Which layer number as defined in BakeTypeToTextures is used for morph mask - + - Converts a BakeType to a list of the texture slots that make up that bake - A BakeType - A list of texture slots that are inputs for the given bake - - Triggered when an AgentWearablesUpdate packet is received, - telling us what our avatar is currently wearing - request. - - - Raised when an AgentCachedTextureResponse packet is - received, giving a list of cached bakes that were found on the - simulator - request. - - + - Raised when appearance data is sent to the simulator, also indicates - the main appearance thread is finished. - request. - + - Triggered when the simulator requests the agent rebake its appearance. - - + - Returns true if AppearanceManager is busy and trying to set or change appearance will fail - + - Contains information about a wearable inventory item - - Inventory ItemID of the wearable - - - AssetID of the wearable asset - - - WearableType of the wearable - - - AssetType of the wearable - - - Asset data for the wearable - - + - Data collected from visual params for each wearable - needed for the calculation of the color - + - Holds a texture assetID and the data needed to bake this layer into - an outfit texture. Used to keep track of currently worn textures - and baking data - - A texture AssetID - - - Asset data for the texture - - - Collection of alpha masks that needs applying - - - Tint that should be applied to the texture - - - Contains the Event data returned from the data server from an AgentWearablesRequest - - - Construct a new instance of the AgentWearablesReplyEventArgs class - - - Contains the Event data returned from the data server from an AgentCachedTextureResponse - - - Construct a new instance of the AgentCachedBakesReplyEventArgs class - - - Contains the Event data returned from an AppearanceSetRequest - - - - Triggered when appearance data is sent to the sim and - the main appearance thread is done. - Indicates whether appearance setting was successful - - - Indicates whether appearance setting was successful - - - Contains the Event data returned from the data server from an RebakeAvatarTextures - - + - Triggered when the simulator sends a request for this agent to rebake - its appearance - The ID of the Texture Layer to bake - - - The ID of the Texture Layer to bake - + - Registers, unregisters, and fires events generated by incoming packets - - Reference to the GridClient object - - + - Default constructor - - + - Register an event handler - Use PacketType.Default to fire this event on every - incoming packet - Packet type to register the handler for - Callback to be fired - + - Unregister an event handler - Packet type to unregister the handler for - Callback to be unregistered - + - Fire the events registered for this packet type synchronously - Incoming packet type - Incoming packet - Simulator this packet was received from - + - Fire the events registered for this packet type asynchronously - Incoming packet type - Incoming packet - Simulator this packet was received from - + - Object that is passed to worker threads in the ThreadPool for - firing packet callbacks - - Callback to fire for this packet + + Attachment point to an avatar - - Reference to the simulator that this packet came from + + + - - The packet that needs to be processed + + + - + - Registers, unregisters, and fires events generated by the Capabilities - event queue - - Reference to the GridClient object + + + - + + + Information on the flexible properties of a primitive + + + Default constructor - Reference to the GridClient object - + - Register an new event handler for a capabilities event sent via the EventQueue - Use String.Empty to fire this event on every CAPS event - Capability event name to register the - handler for - Callback to fire + + + + - + - Unregister a previously registered capabilities handler - Capability event name unregister the - handler for - Callback to unregister - + - Fire the events registered for this event type synchronously - Capability name - Decoded event body - Reference to the simulator that - generated this event - + - Fire the events registered for this event type asynchronously - Capability name - Decoded event body - Reference to the simulator that - generated this event - + - Object that is passed to worker threads in the ThreadPool for - firing CAPS callbacks - - Callback to fire for this packet + + + - - Name of the CAPS event + + + - - Strongly typed decoded data + + + + + - - Reference to the simulator that generated this event + + + + + - + - Access to the data server which allows searching for land, events, people, etc + Information on the light properties of a primitive - - The event subscribers. null if no subcribers + + + Default constructor + - - Raises the EventInfoReply event - An EventInfoReplyEventArgs object containing the - data returned from the data server + + + + + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the DirEventsReply event - An DirEventsReplyEventArgs object containing the - data returned from the data server + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the PlacesReply event - A PlacesReplyEventArgs object containing the - data returned from the data server + + + + + - - Thread sync lock object + + + + + - - The event subscribers. null if no subcribers + + + Information on the sculpt properties of a sculpted primitive + - - Raises the DirPlacesReply event - A DirPlacesReplyEventArgs object containing the - data returned from the data server + + + Default constructor + - - Thread sync lock object + + + + + + + - - The event subscribers. null if no subcribers + + + Render inside out (inverts the normals). + - - Raises the DirClassifiedsReply event - A DirClassifiedsReplyEventArgs object containing the - data returned from the data server + + + Render an X axis mirror of the sculpty. + - - Thread sync lock object + + + Extended properties to describe an object + - - The event subscribers. null if no subcribers + + + Default constructor + - - Raises the DirGroupsReply event - A DirGroupsReplyEventArgs object containing the - data returned from the data server + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the DirPeopleReply event - A DirPeopleReplyEventArgs object containing the - data returned from the data server + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the DirLandReply event - A DirLandReplyEventArgs object containing the - data returned from the data server + + + - - Thread sync lock object + + + - + - Constructs a new instance of the DirectoryManager class - An instance of GridClient - + - Query the data server for a list of classified ads containing the specified string. - Defaults to searching for classified placed in any category, and includes PG, Adult and Mature - results. - - Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - The event is raised when a response is received from the simulator - A string containing a list of keywords to search for - A UUID to correlate the results when the event is raised - + - Query the data server for a list of classified ads which contain specified keywords (Overload) - - The event is raised when a response is received from the simulator - A string containing a list of keywords to search for - The category to search - A set of flags which can be ORed to modify query options - such as classified maturity rating. - A UUID to correlate the results when the event is raised - - Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature - - UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); - - - - Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - + - Starts search for places (Overloaded) - - The event is raised when a response is received from the simulator - Search text - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - + - Queries the dataserver for parcels of land which are flagged to be shown in search - - The event is raised when a response is received from the simulator - A string containing a list of keywords to search for separated by a space character - A set of flags which can be ORed to modify query options - such as classified maturity rating. - The category to search - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult - - UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); - - - - Additional information on the results can be obtained by using the ParcelManager.InfoRequest method - - + - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator - What type of land to search for. Auction, - estate, mainland, "first land", etc - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - + - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator - What type of land to search for. Auction, - estate, mainland, "first land", etc - Maximum price to search for - Maximum area to search for - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - + - Send a request to the data server for land sales listings - - Flags sent to specify query options - - Available flags: - Specify the parcel rating with one or more of the following: - IncludePG IncludeMature IncludeAdult - - Specify the field to pre sort the results with ONLY ONE of the following: - PerMeterSort NameSort AreaSort PricesSort - - Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order - SortAsc - - Specify additional filters to limit the results with one or both of the following: - LimitByPrice LimitByArea - - Flags can be combined by separating them with the | (pipe) character - - Additional details can be found in - - What type of land to search for. Auction, - Estate or Mainland - Maximum price to search for when the - DirFindFlags.LimitByPrice flag is specified in findFlags - Maximum area to search for when the - DirFindFlags.LimitByArea flag is specified in findFlags - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - The event will be raised with the response from the simulator - - There is no way to determine how many results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each reply. - - Any land set for sale to either anybody or specific to the connected agent will be included in the - results if the land is included in the query - - - // request all mainland, any maturity rating that is larger than 512 sq.m - StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); - - + - Search for Groups - The name or portion of the name of the group you wish to search for - Start from the match number - - + - Search for Groups - The name or portion of the name of the group you wish to search for - Start from the match number - Search flags - - + - Search the People directory for other avatars - The name or portion of the name of the avatar you wish to search for - - - + - Search Places for parcels of land you personally own - + - Searches Places for land owned by the specified group - ID of the group you want to recieve land list for (You must be a member of the group) - Transaction (Query) ID which can be associated with results from your request. - + - Search the Places directory for parcels that are listed in search and contain the specified keywords - A string containing the keywords to search for - Transaction (Query) ID which can be associated with results from your request. - + - Search Places - All Options - One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. - One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer - A string containing a list of keywords to search for separated by a space character - String Simulator Name to search in - LLUID of group you want to recieve results for - Transaction (Query) ID which can be associated with results from your request. - Transaction (Query) ID which can be associated with results from your request. - + - Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + Set the properties that are set in an ObjectPropertiesFamily packet - A string containing a list of keywords to search for separated by a space character - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - UUID of query to correlate results in callback. + + that has + been partially filled by an ObjectPropertiesFamily packet - + - Search Events + Texture animation mode - A string containing a list of keywords to search for separated by a space character - One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult - from the Enum - - Multiple flags can be combined by separating the flags with the | (pipe) character - "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled - For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - EventCategory event is listed under. - UUID of query to correlate results in callback. - - Requests Event Details - ID of Event returned from the method + + Disable texture animation - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Enable texture animation - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Loop when animating textures - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + Animate in reverse direction - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Animate forward then reverse - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Slide texture smoothly instead of frame-stepping - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + Rotate texture instead of using frames - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Scale texture instead of using frames - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + A single textured face. Don't instantiate this class yourself, use the + methods in TextureEntry + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Contains the definition for individual faces + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Raised when the data server responds to a request. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - Raised when the data server responds to a request. + + In the future this will specify whether a webpage is + attached to this face - - Raised when the data server responds to a request. + + + - - Raised when the data server responds to a request. + + + + + - - Raised when the data server responds to a request. + + + Represents all of the texturable faces for an object + + Grid objects have infinite faces, with each face + using the properties of the default face unless set otherwise. So if + you have a TextureEntry with a default texture uuid of X, and face 18 + has a texture UUID of Y, every face would be textured with X except for + face 18 that uses Y. In practice however, primitives utilize a maximum + of nine faces - - Raised when the data server responds to a request. + + + Constructor that takes a default texture UUID + + Texture UUID to use as the default texture - - Raised when the data server responds to a request. + + + Constructor that takes a TextureEntryFace for the + default face + + Face to use as the default face - - Raised when the data server responds to a request. + + + Constructor that creates the TextureEntry class from a byte array + + Byte array containing the TextureEntry field + Starting position of the TextureEntry field in + the byte array + Length of the TextureEntry field, in bytes - - Classified Ad categories + + + - - Classified is listed in the Any category + + + - - Classified is shopping related + + + This will either create a new face if a custom face for the given + index is not defined, or return the custom face for that index if + it already exists + + The index number of the face to create or + retrieve + A TextureEntryFace containing all the properties for that + face - - Classified is + + + + + + + - - + + + + + - - + + + + + - - + + + + + - - + + + Controls the texture animation of a particular prim + - - + + + + + + + - - + + + - - + + + - - Event Categories + + + - - + + + - - + + + - - + + + - - + + + - - + + + + + - - + + + Current version of the media data for the prim + - - + + + Array of media entries indexed by face number + - - + + + - - + + + - - + + + - - + + + - - + + + - + - Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. - - Flags can be combined using the | (pipe) character, not all flags are available in all queries - - Query the People database + + + - - + + Foliage type for this primitive. Only applicable if this + primitive is foliage - - + + Unknown - - Query the Groups database + + + - - Query the Events database + + + - - Query the land holdings database for land owned by the currently connected agent + + + - - + + + - - Query the land holdings database for land which is owned by a Group + + + - - Specifies the query should pre sort the results based upon traffic - when searching the Places database + + + - - + + + - - + + + - - + + + - - + + + - - Specifies the query should pre sort the results in an ascending order when searching the land sales database. - This flag is only used when searching the land sales database + + + - - Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. - This flag is only used when searching the land sales database + + + - - Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. - This flag is only used when searching the land sales database + + Identifies the owner if audio or a particle system is + active - - Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. - This flag is only used when searching the land sales database + + + - - Specifies the query should pre sort the results using the Name field when searching the land sales database. - This flag is only used when searching the land sales database + + + - - When set, only parcels less than the specified Price will be included when searching the land sales database. - This flag is only used when searching the land sales database + + + - - When set, only parcels greater than the specified Size will be included when searching the land sales database. - This flag is only used when searching the land sales database + + + - - + + + - - + + + - - Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + - - Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + - - Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + - - + + + - + - Land types to search dataserver for - - Search Auction, Mainland and Estate + + + - - Land which is currently up for auction + + + - - Parcels which are on the mainland (Linden owned) continents + + + - - Parcels which are on privately owned simulators + + Uses basic heuristics to estimate the primitive shape - + - The content rating of the event + Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters in to signed eight bit values + Floating point parameter to pack + Signed eight bit value containing the packed parameter - - Event is PG + + + Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters from signed eight bit integers to floating point values + + Signed eight bit value to unpack + Unpacked floating point value - - Event is Mature + + + The type of bump-mapping applied to a face + - - Event is Adult + + + - + - Classified Ad Options - There appear to be two formats the flags are packed in. - This set of flags is for the newer style - - + + + - - + + + - - + + + - - + + + - - + + + - + - Classified ad query options - - Include all ads in results + + + - - Include PG ads in results + + + - - Include Mature ads in results + + + - - Include Adult ads in results + + + - + - The For Sale flag in PlacesReplyData - - Parcel is not listed for sale + + + - - Parcel is For Sale + + + - + - A classified ad on the grid - - UUID for this ad, useful for looking up detailed - information about it + + + - - The title of this classified ad + + + - - Flags that show certain options applied to the classified + + + The level of shininess applied to a face + - - Creation date of the ad + + + - - Expiration date of the ad + + + - - Price that was paid for this ad + + + - - Print the struct data as a string - A string containing the field name, and field value + + + - + - A parcel retrieved from the dataserver such as results from the - "For-Sale" listings or "Places" Search + The texture mapping style used for a face - - The unique dataserver parcel ID - This id is used to obtain additional information from the entry - by using the method + + + - - A string containing the name of the parcel + + + - - The size of the parcel - This field is not returned for Places searches + + + - - The price of the parcel - This field is not returned for Places searches + + + - - If True, this parcel is flagged to be auctioned + + + Flags in the TextureEntry block that describe which properties are + set + - - If true, this parcel is currently set for sale + + + - - Parcel traffic + + + - - Print the struct data as a string - A string containing the field name, and field value + + + - + - An Avatar returned from the dataserver - - Online status of agent - This field appears to be obsolete and always returns false + + + - - The agents first name + + + - - The agents last name + + + - - The agents + + + - - Print the struct data as a string - A string containing the field name, and field value + + + - + - Response to a "Groups" Search - - The Group ID - - - The name of the group + + + - - The current number of members + + + - - Print the struct data as a string - A string containing the field name, and field value + + + Level of Detail mesh + - + - Parcel information returned from a request - - Represents one of the following: - A parcel of land on the grid that has its Show In Search flag set - A parcel of land owned by the agent making the request - A parcel of land owned by a group the agent making the request is a member of - - - In a request for Group Land, the First record will contain an empty record - - Note: This is not the same as searching the land for sale data source + Constructor for default logging settings - - The ID of the Agent of Group that owns the parcel + + Enable logging - - The name + + The folder where any logs will be created - - The description + + This will be prepended to beginning of each log file - - The Size of the parcel + + The suffix or extension to be appended to each log file - - The billable Size of the parcel, for mainland - parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller - than the ActualArea. For Estate land this will always be 0 + + + 0: NONE - No logging + 1: ERROR - Log errors only + 2: WARNING - Log errors and warnings + 3: INFO - Log errors, warnings and info + 4: DEBUG - Log errors, warnings, info and debug + - - Indicates the ForSale status of the parcel + + Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter + + + Event for most mundane request reposnses. + - - The Gridwide X position + + Response to Connector.Create request - - The Gridwide Y position + + Response to Aux.GetCaptureDevices request - - The Z position of the parcel, or 0 if no landing point set + + Response to Aux.GetRenderDevices request - - The name of the Region the parcel is located in + + Audio Properties Events are sent after audio capture is started. + These events are used to display a microphone VU meter - - The Asset ID of the parcels Snapshot texture + + Response to Account.Login request - - The calculated visitor traffic + + This event message is sent whenever the login state of the + particular Account has transitioned from one value to another - - The billing product SKU - Known values are: - - 023Mainland / Full Region - 024Estate / Full Region - 027Estate / Openspace - 029Estate / Homestead - 129Mainland / Homestead (Linden Owned) - - + + + List of audio input devices + - - No longer used, will always be 0 + + + List of audio output devices + - - Get a SL URL for the parcel - A string, containing a standard SLURL + + + Set audio test mode + - - Print the struct data as a string - A string containing the field name, and field value + + + This is used to login a specific user account(s). It may only be called after + Connector initialization has completed successfully + + Handle returned from successful Connector �create� request + User's account name + User's account password + Values may be �AutoAnswer� or �VerifyAnswer� + "" + This is an integer that specifies how often + the daemon will send participant property events while in a channel. If this is not set + the default will be �on state change�, which means that the events will be sent when + the participant starts talking, stops talking, is muted, is unmuted. + The valid values are: + 0 � Never + 5 � 10 times per second + 10 � 5 times per second + 50 � 1 time per second + 100 � on participant state change (this is the default) + false + + - + - An "Event" Listing summary + This is used to logout a user session. It should only be called with a valid AccountHandle. + Handle returned from successful Connector �login� request + + - - The ID of the event creator + + + This is used to get a list of audio devices that can be used for capture (input) of voice. + + + - - The name of the event + + + This is used to get a list of audio devices that can be used for render (playback) of voice. + - - The events ID + + + This command is used to select the render device. + + The name of the device as returned by the Aux.GetRenderDevices command. - - A string containing the short date/time the event will begin + + + This command is used to select the capture device. + + The name of the device as returned by the Aux.GetCaptureDevices command. - - The event start time in Unixtime (seconds since epoch) + + + This command is used to start the audio capture process which will cause + AuxAudioProperty Events to be raised. These events can be used to display a + microphone VU meter for the currently selected capture device. This command + should not be issued if the user is on a call. + + (unused but required) + + - - The events maturity rating + + + This command is used to stop the audio capture process. + + + - - Print the struct data as a string - A string containing the field name, and field value + + + This command is used to set the mic volume while in the audio tuning process. + Once an acceptable mic level is attained, the application must issue a + connector set mic volume command to have that level be used while on voice + calls. + + the microphone volume (-100 to 100 inclusive) + + - + - The details of an "Event" + This command is used to set the speaker volume while in the audio tuning + process. Once an acceptable speaker level is attained, the application must + issue a connector set speaker volume command to have that level be used while + on voice calls. + the speaker volume (-100 to 100 inclusive) + + - - The events ID + + + This is used to initialize and stop the Connector as a whole. The Connector + Create call must be completed successfully before any other requests are made + (typically during application initialization). The shutdown should be called + when the application is shutting down to gracefully release resources + + A string value indicting the Application name + URL for the management server + LoggingSettings + + + + - - The ID of the event creator + + + Shutdown Connector -- Should be called when the application is shutting down + to gracefully release resources + + Handle returned from successful Connector �create� request - - The name of the event + + + Mute or unmute the microphone + + Handle returned from successful Connector �create� request + true (mute) or false (unmute) - - The category + + + Mute or unmute the speaker + + Handle returned from successful Connector �create� request + true (mute) or false (unmute) - - The events description + + + Set microphone volume + + Handle returned from successful Connector �create� request + The level of the audio, a number between -100 and 100 where + 0 represents �normal� speaking volume - - The short date/time the event will begin + + + Set local speaker volume + + Handle returned from successful Connector �create� request + The level of the audio, a number between -100 and 100 where + 0 represents �normal� speaking volume - - The event start time in Unixtime (seconds since epoch) UTC adjusted + + + Start up the Voice service. + - - The length of the event in minutes + + + Handle miscellaneous request status + + + + + + ///If something goes wrong, we log it. + + + Cleanup oject resources + - - 0 if no cover charge applies + + + Request voice cap when changing regions + - - The cover charge amount in L$ if applicable + + + Handle a change in session state + - - The name of the region where the event is being held + + + Close a voice session + + + - - The gridwide location of the event + + + Locate a Session context from its handle + + Creates the session context if it does not exist. - - The maturity rating + + + Handle completion of main voice cap request. + + + + + + + - - Get a SL URL for the parcel where the event is hosted - A string, containing a standard SLURL + + + Daemon has started so connect to it. + - - Print the struct data as a string - A string containing the field name, and field value + + + The daemon TCP connection is open. + - - Contains the Event data returned from the data server from an EventInfoRequest + + + Handle creation of the Connector. + - - Construct a new instance of the EventInfoReplyEventArgs class - A single EventInfo object containing the details of an event + + + Handle response to audio output device query + - + - A single EventInfo object containing the details of an event + Handle response to audio input device query - - Contains the "Event" detail data returned from the data server + + + Set voice channel for new parcel + - - Construct a new instance of the DirEventsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Events" returned by the search query + + + Request info from a parcel capability Uri. + + + - - The ID returned by + + + Receive parcel voice cap + + + + + + + - - A list of "Events" returned by the data server + + + Tell Vivox where we are standing + + This has to be called when we move or turn. - - Contains the "Event" list data returned from the data server + + + Start and stop updating out position. + + + - - Construct a new instance of PlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Places" returned by the data server query + + + Starts a thread that keeps the daemon running + + + + + - - The ID returned by + + + Stops the daemon and the thread keeping it running + - - A list of "Places" returned by the data server + + + + + + + + + - - Contains the places data returned from the data server + + + Create a Session + Sessions typically represent a connection to a media session with one or more + participants. This is used to generate an �outbound� call to another user or + channel. The specifics depend on the media types involved. A session handle is + required to control the local user functions within the session (or remote + users if the current account has rights to do so). Currently creating a + session automatically connects to the audio media, there is no need to call + Session.Connect at this time, this is reserved for future use. + + Handle returned from successful Connector �create� request + This is the URI of the terminating point of the session (ie who/what is being called) + This is the display name of the entity being called (user or channel) + Only needs to be supplied when the target URI is password protected + This indicates the format of the password as passed in. This can either be + �ClearText� or �SHA1UserName�. If this element does not exist, it is assumed to be �ClearText�. If it is + �SHA1UserName�, the password as passed in is the SHA1 hash of the password and username concatenated together, + then base64 encoded, with the final �=� character stripped off. + + + + + + - - Construct a new instance of the DirPlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing land data returned by the data server + + + Used to accept a call + + SessionHandle such as received from SessionNewEvent + "default" + + - - The ID returned by + + + This command is used to start the audio render process, which will then play + the passed in file through the selected audio render device. This command + should not be issued if the user is on a call. + + The fully qualified path to the sound file. + True if the file is to be played continuously and false if it is should be played once. + + - - A list containing Places data returned by the data server + + + This command is used to stop the audio render process. + + The fully qualified path to the sound file issued in the start render command. + + - - Contains the classified data returned from the data server + + + This is used to �end� an established session (i.e. hang-up or disconnect). + + Handle returned from successful Session �create� request or a SessionNewEvent + + - - Construct a new instance of the DirClassifiedsReplyEventArgs class - A list of classified ad data returned from the data server + + + Set the combined speaking and listening position in 3D space. + + Handle returned from successful Session �create� request or a SessionNewEvent + Speaking position + Listening position + + - - A list containing Classified Ads returned by the data server + + + Set User Volume for a particular user. Does not affect how other users hear that user. + + Handle returned from successful Session �create� request or a SessionNewEvent + + + The level of the audio, a number between -100 and 100 where 0 represents �normal� speaking volume + + - - Contains the group data returned from the data server + + Positional vector of the users position - - Construct a new instance of the DirGroupsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of groups data returned by the data server + + Velocity vector of the position - - The ID returned by + + At Orientation (X axis) of the position - - A list containing Groups data returned by the data server + + Up Orientation (Y axis) of the position - - Contains the people data returned from the data server + + Left Orientation (Z axis) of the position - - Construct a new instance of the DirPeopleReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of people data returned by the data server + + + Extract the avatar UUID encoded in a SIP URI + + + + + - - The ID returned by + + + Represents a single Voice Session to the Vivox service. + - - A list containing People data returned by the data server + + + Close this session. + - - Contains the land sales data returned from the data server + + + Look up an existing Participants in this session + + + + + - - Construct a new instance of the DirLandReplyEventArgs class - A list of parcels for sale returned by the data server + + + + + + + - - A list containing land forsale data returned by the data server + + + A callback fired to indicate the status or final state of the requested texture. For progressive + downloads this will fire each time new asset data is returned from the simulator. + + The indicating either Progress for textures not fully downloaded, + or the final result of the request after it has been processed through the TexturePipeline + The object containing the Assets ID, raw data + and other information. For progressive rendering the will contain + the data from the beginning of the file. For failed, aborted and timed out requests it will contain + an empty byte array. diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 59e39bb..b9c73b7 100644 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverse.dll.config b/bin/OpenMetaverse.dll.config index 13fdc11..dc36a45 100644 --- a/bin/OpenMetaverse.dll.config +++ b/bin/OpenMetaverse.dll.config @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML index 3903aea..69e5c1b 100644 --- a/bin/OpenMetaverseTypes.XML +++ b/bin/OpenMetaverseTypes.XML @@ -1,234 +1,9 @@ - OpenMetaverseTypes + /home/root/libopenmetaverse/bin/OpenMetaverseTypes - - - A hierarchical token bucket for bandwidth throttling. See - http://en.wikipedia.org/wiki/Token_bucket for more information - - - - Parent bucket to this bucket, or null if this is a root - bucket - - - Size of the bucket in bytes. If zero, the bucket has - infinite capacity - - - Rate that the bucket fills, in bytes per millisecond. If - zero, the bucket always remains full - - - Number of tokens currently in the bucket - - - Time of the last drip, in system ticks - - - - Default constructor - - Parent bucket if this is a child bucket, or - null if this is a root bucket - Maximum size of the bucket in bytes, or - zero if this bucket has no maximum capacity - Rate that the bucket fills, in bytes per - second. If zero, the bucket always remains full - - - - Remove a given number of tokens from the bucket - - Number of tokens to remove from the bucket - True if the requested number of tokens were removed from - the bucket, otherwise false - - - - Remove a given number of tokens from the bucket - - Number of tokens to remove from the bucket - True if tokens were added to the bucket - during this call, otherwise false - True if the requested number of tokens were removed from - the bucket, otherwise false - - - - Add tokens to the bucket over time. The number of tokens added each - call depends on the length of time that has passed since the last - call to Drip - - True if tokens were added to the bucket, otherwise false - - - - The parent bucket of this bucket, or null if this bucket has no - parent. The parent bucket will limit the aggregate bandwidth of all - of its children buckets - - - - - Maximum burst rate in bytes per second. This is the maximum number - of tokens that can accumulate in the bucket at any one time - - - - - The speed limit of this bucket in bytes per second. This is the - number of tokens that are added to the bucket per second - - Tokens are added to the bucket any time - is called, at the granularity of - the system tick interval (typically around 15-22ms) - - - - The number of bytes that can be sent at this moment. This is the - current number of tokens in the bucket - If this bucket has a parent bucket that does not have - enough tokens for a request, will - return false regardless of the content of this bucket - - - - X value - - - Y value - - - Z value - - - W value - - - - Build a quaternion from normalized float values - - X value from -1.0 to 1.0 - Y value from -1.0 to 1.0 - Z value from -1.0 to 1.0 - - - - Constructor, builds a quaternion object from a byte array - - Byte array containing four four-byte floats - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. - - - - Normalizes the quaternion - - - - - Builds a quaternion object from a byte array - - The source byte array - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. - - - - Normalize this quaternion and serialize it to a byte array - - A 12 byte array containing normalized X, Y, and Z floating - point values in order using little endian byte ordering - - - - Writes the raw bytes for this quaternion to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array - - - - Convert this quaternion to euler angles - - X euler angle - Y euler angle - Z euler angle - - - - Convert this quaternion to an angle around an axis - - Unit vector describing the axis - Angle around the axis, in radians - - - - Returns the conjugate (spatial inverse) of a quaternion - - - - - Build a quaternion from an axis and an angle of rotation around - that axis - - - - - Build a quaternion from an axis and an angle of rotation around - that axis - - Axis of rotation - Angle of rotation - - - - Creates a quaternion from a vector containing roll, pitch, and yaw - in radians - - Vector representation of the euler angles in - radians - Quaternion representation of the euler angles - - - - Creates a quaternion from roll, pitch, and yaw euler angles in - radians - - X angle in radians - Y angle in radians - Z angle in radians - Quaternion representation of the euler angles - - - - Conjugates and renormalizes a vector - - - - - Spherical linear interpolation between two quaternions - - - - - Get a string representation of the quaternion elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the quaternion - - - A quaternion with a value of 0,0,0,1 - Same as Queue except Dequeue function blocks until there is an object to return. @@ -252,6 +27,11 @@ Create new BlockingQueue. + + + Gets flag indicating if queue has been closed. + + BlockingQueue Destructor (Close queue, resume any waiting thread). @@ -298,1533 +78,2419 @@ Open Queue. - + - Gets flag indicating if queue has been closed. + Copy constructor + Circular queue to copy - - Used for converting degrees to radians - - - Used for converting radians to degrees + + + An 8-bit color structure including an alpha channel + - - Provide a single instance of the CultureInfo class to - help parsing in situations where the grid assumes an en-us - culture + + + + + + + + + + + - - UNIX epoch in DateTime format + + + Builds a color from a byte array + + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 - - Provide a single instance of the MD5 class to avoid making - duplicate copies and handle thread safety - - - Provide a single instance of the SHA-1 class to avoid - making duplicate copies and handle thread safety - - - Provide a single instance of a random number generator - to avoid making duplicate copies and handle thread safety - - + - Clamp a given value between a range + Returns the raw bytes for this vector - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted + A 16 byte array containing R, G, B, and A - + - Clamp a given value between a range + Copy constructor - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + Color to copy - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + + Red - - - Round a floating-point value to the nearest integer - - Floating point number to round - Integer + + Green - - - Test if a single precision float is a finite number - + + Blue - - - Test if a double precision float is a finite number - + + Alpha - - - Get the distance between two floating-point values - - First value - Second value - The distance between the two values + + A Color4 with zero RGB values and fully opaque (alpha 1.0) - - - Compute the MD5 hash for a byte array - - Byte array to compute the hash for - MD5 hash of the input data + + A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) - + - Compute the SHA1 hash for a byte array + IComparable.CompareTo implementation - Byte array to compute the hash for - SHA1 hash of the input data + Sorting ends up like this: |--Grayscale--||--Color--|. + Alpha is only used when the colors are otherwise equivalent - + - Calculate the SHA1 hash of a given string + Builds a color from a byte array - The string to hash - The SHA1 hash as a string + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted - + - Compute the SHA256 hash for a byte array + Writes the raw bytes for this color to a byte array - Byte array to compute the hash for - SHA256 hash of the input data + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - + - Calculate the SHA256 hash of a given string + Serializes this color into four bytes in a byte array - The string to hash - The SHA256 hash as a string + Destination byte array + Position in the destination array to start + writing. Must be at least 4 bytes before the end of the array + True to invert the output (1.0 becomes 0 + instead of 255) - + - Calculate the MD5 hash of a given string + Writes the raw bytes for this color to a byte array - The password to hash - An MD5 hash in string format, with $1$ prepended + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - + - Calculate the MD5 hash of a given string + Ensures that values are in range 0-1 - The string to hash - The MD5 hash as a string - + - Generate a random double precision floating point value + Create an RGB color from a hue, saturation, value combination - Random value of type double + Hue + Saturation + Value + An fully opaque RGB color (alpha is 1.0) - + - Get the current running platform + Performs linear interpolation between two colors - Enumeration of the current platform we are running on + Color to start at + Color to end at + Amount to interpolate + The interpolated color - + - Get the current running runtime + Attribute class that allows extra attributes to be attached to ENUMs - Enumeration of the current runtime we are running on - - - Convert the first two bytes starting in the byte array in - little endian ordering to a signed short integer - - An array two bytes or longer - A signed short integer, will be zero if a short can't be - read at the given position + + Default initializer - - - Convert the first two bytes starting at the given position in - little endian ordering to a signed short integer - - An array two bytes or longer - Position in the array to start reading - A signed short integer, will be zero if a short can't be - read at the given position + + Text used when presenting ENUM to user - - - Convert the first four bytes starting at the given position in - little endian ordering to a signed integer - - An array four bytes or longer - Position to start reading the int from - A signed integer, will be zero if an int can't be read - at the given position + + Text used when presenting ENUM to user - + - Convert the first four bytes of the given array in little endian - ordering to a signed integer + The different types of grid assets - An array four bytes or longer - A signed integer, will be zero if the array contains - less than four bytes - - - Convert the first eight bytes of the given array in little endian - ordering to a signed long integer - - An array eight bytes or longer - A signed long integer, will be zero if the array contains - less than eight bytes + + Unknown asset type - - - Convert the first eight bytes starting at the given position in - little endian ordering to a signed long integer - - An array eight bytes or longer - Position to start reading the long from - A signed long integer, will be zero if a long can't be read - at the given position + + Texture asset, stores in JPEG2000 J2C stream format - - - Convert the first two bytes starting at the given position in - little endian ordering to an unsigned short - - Byte array containing the ushort - Position to start reading the ushort from - An unsigned short, will be zero if a ushort can't be read - at the given position + + Sound asset - - - Convert two bytes in little endian ordering to an unsigned short - - Byte array containing the ushort - An unsigned short, will be zero if a ushort can't be - read + + Calling card for another avatar - - - Convert the first four bytes starting at the given position in - little endian ordering to an unsigned integer - - Byte array containing the uint - Position to start reading the uint from - An unsigned integer, will be zero if a uint can't be read - at the given position + + Link to a location in world - - - Convert the first four bytes of the given array in little endian - ordering to an unsigned integer - - An array four bytes or longer - An unsigned integer, will be zero if the array contains - less than four bytes + + Collection of textures and parameters that can be + worn by an avatar - - - Convert the first eight bytes of the given array in little endian - ordering to an unsigned 64-bit integer - - An array eight bytes or longer - An unsigned 64-bit integer, will be zero if the array - contains less than eight bytes + + Primitive that can contain textures, sounds, + scripts and more - - - Convert four bytes in little endian ordering to a floating point - value - - Byte array containing a little ending floating - point value - Starting position of the floating point value in - the byte array - Single precision value + + Notecard asset - - - Convert an integer to a byte array in little endian format - - The integer to convert - A four byte little endian array + + Holds a collection of inventory items - - - Convert an integer to a byte array in big endian format - - The integer to convert - A four byte big endian array + + Root inventory folder - - - Convert a 64-bit integer to a byte array in little endian format - - The value to convert - An 8 byte little endian array + + Linden scripting language script - - - Convert a 64-bit unsigned integer to a byte array in little endian - format - - The value to convert - An 8 byte little endian array + + LSO bytecode for a script - - - Convert a floating point value to four bytes in little endian - ordering - - A floating point value - A four byte array containing the value in little endian - ordering + + Uncompressed TGA texture - - - Converts an unsigned integer to a hexadecimal string - - An unsigned integer to convert to a string - A hexadecimal string 10 characters long - 0x7fffffff + + Collection of textures and shape parameters that can + be worn - - - Convert a variable length UTF8 byte array to a string - - The UTF8 encoded byte array to convert - The decoded string + + Trash folder - - - Converts a byte array to a string containing hexadecimal characters - - The byte array to convert to a string - The name of the field to prepend to each - line of the string - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name + + Snapshot folder - - - Converts a byte array to a string containing hexadecimal characters - - The byte array to convert to a string - Number of bytes in the array to parse - A string to prepend to each line of the hex - dump - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name + + Lost and found folder - - - Convert a string to a UTF8 encoded byte array - - The string to convert - A null-terminated UTF8 byte array + + Uncompressed sound - - - Converts a string containing hexadecimal characters to a byte array - - String containing hexadecimal characters - If true, gracefully handles null, empty and - uneven strings as well as stripping unconvertable characters - The converted byte array + + Uncompressed TGA non-square image, not to be used as a + texture - + + Compressed JPEG non-square image, not to be used as a + texture + + + Animation + + + Sequence of animations, sounds, chat, and pauses + + + Simstate file + + + Contains landmarks for favorites + + + Asset is a link to another inventory item + + + Asset is a link to another inventory folder + + + Beginning of the range reserved for ensembles + + + End of the range reserved for ensembles + + + Folder containing inventory links to wearables and attachments + that are part of the current outfit + + + Folder containing inventory items or links to + inventory items of wearables and attachments + together make a full outfit + + + Root folder for the folders of type OutfitFolder + + + Linden mesh format + + - Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) + Inventory Item Types, eg Script, Notecard, Folder, etc - Character to test - true if hex digit, false if not - + + Unknown + + + Texture + + + Sound + + + Calling Card + + + Landmark + + + Notecard + + - Converts 1 or 2 character string into equivalant byte value - 1 or 2 character string - byte - + + Folder + + - Convert a float value to a byte given a minimum and maximum range - Value to convert to a byte - Minimum value range - Maximum value range - A single byte representing the original float value - + + an LSL Script + + - Convert a byte to a float value given a minimum and maximum range - Byte array to get the byte from - Position in the byte array the desired byte is at - Minimum value range - Maximum value range - A float value inclusively between lower and upper - + - Convert a byte to a float value given a minimum and maximum range - Byte to convert to a float value - Minimum value range - Maximum value range - A float value inclusively between lower and upper - + - Attempts to parse a floating point value from a string, using an - EN-US number format - String to parse - Resulting floating point number - True if the parse was successful, otherwise false - + - Attempts to parse a floating point value from a string, using an - EN-US number format - String to parse - Resulting floating point number - True if the parse was successful, otherwise false - + - Tries to parse an unsigned 32-bit integer from a hexadecimal string - String to parse - Resulting integer - True if the parse was successful, otherwise false - + - Takes an AssetType and returns the string representation - The source - The string version of the AssetType - + - Translate a string name of an AssetType into the proper Type + Item Sale Status - A string containing the AssetType name - The AssetType which matches the string name, or AssetType.Unknown if no match was found - + + Not for sale + + + The original is for sale + + + Copies are for sale + + + The contents of the object are for sale + + - Convert an InventoryType to a string + Types of wearable assets - The to convert - A string representation of the source - + + Body shape + + + Skin textures and attributes + + + Hair + + + Eyes + + + Shirt + + + Pants + + + Shoes + + + Socks + + + Jacket + + + Gloves + + + Undershirt + + + Underpants + + + Skirt + + + Alpha mask to hide parts of the avatar + + + Tattoo + + + Invalid wearable asset + + - Convert a string into a valid InventoryType + Identifier code for primitive types - A string representation of the InventoryType to convert - A InventoryType object which matched the type - + + None + + + A Primitive + + + A Avatar + + + Linden grass + + + Linden tree + + + A primitive that acts as the source for a particle stream + + + A Linden tree + + - Convert a SaleType to a string + Primary parameters for primitives such as Physics Enabled or Phantom - The to convert - A string representation of the source - + + Deprecated + + + Whether physics are enabled for this object + + - Convert a string into a valid SaleType - A string representation of the SaleType to convert - A SaleType object which matched the type - + - Copy a byte array - Byte array to copy - A copy of the given byte array - + - Packs to 32-bit unsigned integers in to a 64-bit unsigned integer - The left-hand (or X) value - The right-hand (or Y) value - A 64-bit integer containing the two 32-bit input values - + - Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer - The 64-bit input integer - The left-hand (or X) output value - The right-hand (or Y) output value - + - Convert an IP address object to an unsigned 32-bit integer - IP address to convert - 32-bit unsigned integer holding the IP address bits - + - Gets a unix timestamp for the current time - An unsigned integer representing a unix timestamp for now - + + Whether this object contains an active touch script + + - Convert a UNIX timestamp to a native DateTime object - An unsigned integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp - + + Whether this object can receive payments + + + Whether this object is phantom (no collisions) + + - Convert a UNIX timestamp to a native DateTime object - A signed integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp - + - Convert a native DateTime object to a UNIX timestamp - A DateTime object you want to convert to a - timestamp - An unsigned integer representing a UNIX timestamp - + - Swap two values - Type of the values to swap - First value - Second value - + - Try to parse an enumeration value from a string - Enumeration type - String value to parse - Enumeration value on success - True if the parsing succeeded, otherwise false - + + Deprecated + + - Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa - Byte to swap the words in - Byte value with the words swapped - + - Attempts to convert a string representation of a hostname or IP - address to a - Hostname to convert to an IPAddress - Converted IP address object, or null if the conversion - failed - + - Operating system - - Unknown - - - Microsoft Windows + + Deprecated - - Microsoft Windows CE + + + - - Linux + + + - - Apple OSX + + + - + - Runtime platform - - .NET runtime + + Server flag, will not be sent to clients. Specifies that + the object is destroyed when it touches a simulator edge - - Mono runtime: http://www.mono-project.com/ + + Server flag, will not be sent to clients. Specifies that + the object will be returned to the owner's inventory when it + touches a simulator edge - + + Server flag, will not be sent to clients. + + + Server flag, will not be sent to client. Specifies that + the object is hovering/flying + + - Convert this matrix to euler rotations - X euler angle - Y euler angle - Z euler angle - + - Convert this matrix to a quaternion rotation - A quaternion representation of this rotation matrix - + - Construct a matrix from euler rotation values in radians - X euler angle in radians - Y euler angle in radians - Z euler angle in radians - + - Get a formatted string representation of the vector - A string representation of the vector - - A 4x4 matrix containing all zeroes + + + Sound flags for sounds attached to primitives + - - A 4x4 identity matrix + + + - - For thread safety + + + - - For thread safety + + + - + - Purges expired objects from the cache. Called automatically by the purge timer. - - X value + + + - - Y value + + + - - Z value + + + - - W value + + + Material type for a primitive + - + - Constructor, builds a vector from a byte array - Byte array containing four four-byte floats - Beginning position in the byte array - + - Test if this vector is equal to another vector, within a given - tolerance range - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - + - IComparable.CompareTo implementation - + - Test if this vector is composed of all finite numbers - + - Builds a vector from a byte array - Byte array containing a 16 byte vector - Beginning position in the byte array - + - Returns the raw bytes for this vector - A 16 byte array containing X, Y, Z, and W - + - Writes the raw bytes for this vector to a byte array - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - Raw string representation of the vector - - A vector with a value of 0,0,0,0 - - - A vector with a value of 1,1,1,1 + + + Used in a helper function to roughly determine prim shape + - - A vector with a value of 1,0,0,0 + + + Extra parameters for primitives, these flags are for features that have + been added after the original ObjectFlags that has all eight bits + reserved already + - - A vector with a value of 0,1,0,0 + + Whether this object has flexible parameters - - A vector with a value of 0,0,1,0 + + Whether this object has light parameters - - A vector with a value of 0,0,0,1 + + Whether this object is a sculpted prim - + - Provides helper methods for parallelizing loops - + - Executes a for loop in which iterations may run in parallel - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - + - Executes a for loop in which iterations may run in parallel - The number of concurrent execution threads to run - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - + - Executes a foreach loop in which iterations may run in parallel - Object type that the collection wraps - An enumerable collection to iterate over - Method body to run for each object in the collection - + - Executes a foreach loop in which iterations may run in parallel - Object type that the collection wraps - The number of concurrent execution threads to run - An enumerable collection to iterate over - Method body to run for each object in the collection - + - Executes a series of tasks in parallel - A series of method bodies to execute - + - Executes a series of tasks in parallel - The number of concurrent execution threads to run - A series of method bodies to execute - + - A three-dimensional vector with floating-point values - - X value - - - Y value - - - Z value - - + - Constructor, builds a vector from a byte array - Byte array containing three four-byte floats - Beginning position in the byte array - + - Test if this vector is equal to another vector, within a given - tolerance range - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - + - IComparable.CompareTo implementation - + - Test if this vector is composed of all finite numbers - + - Builds a vector from a byte array - Byte array containing a 12 byte vector - Beginning position in the byte array - + - Returns the raw bytes for this vector - A 12 byte array containing X, Y, and Z - + - Writes the raw bytes for this vector to a byte array - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array - + - Parse a vector from a string - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas - + - Calculate the rotation between two vectors - Normalized directional vector (such as 1,0,0 for forward facing) - Normalized target vector - + - Interpolates between two vectors using a cubic equation - + - Get a formatted string representation of the vector - A string representation of the vector - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - Raw string representation of the vector - + - Cross product between two vectors - - A vector with a value of 0,0,0 - - - A vector with a value of 1,1,1 - - - A unit vector facing forward (X axis), value 1,0,0 - - - A unit vector facing left (Y axis), value 0,1,0 - - - A unit vector facing up (Z axis), value 0,0,1 - - + - A 128-bit Universally Unique Identifier, used throughout the Second - Life networking protocol - - The System.Guid object this struct wraps around - - + - Constructor that takes a string UUID representation - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Constructor that takes a System.Guid object - A Guid object that contains the unique identifier - to be represented by this UUID - + - Constructor that takes a byte array containing a UUID - Byte array containing a 16 byte UUID - Beginning offset in the array - + - Constructor that takes an unsigned 64-bit unsigned integer to - convert to a UUID - 64-bit unsigned integer to convert to a UUID - + - Copy constructor - UUID to copy - + - IComparable.CompareTo implementation - + - Assigns this UUID from 16 bytes out of a byte array - Byte array containing the UUID to assign this UUID to - Starting position of the UUID in the byte array - + - Returns a copy of the raw bytes for this UUID - A 16 byte array containing this UUID - + - Writes the raw bytes for this UUID to a byte array - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - + - Calculate an LLCRC (cyclic redundancy check) for this UUID + Attachment points for objects on avatar bodies - The CRC checksum for this UUID + + Both InventoryObject and InventoryAttachment types can be attached + - + + Right hand if object was not previously attached + + + Chest + + + Skull + + + Left shoulder + + + Right shoulder + + + Left hand + + + Right hand + + + Left foot + + + Right foot + + + Spine + + + Pelvis + + + Mouth + + + Chin + + + Left ear + + + Right ear + + + Left eyeball + + + Right eyeball + + + Nose + + + Right upper arm + + + Right forearm + + + Left upper arm + + + Left forearm + + + Right hip + + + Right upper leg + + + Right lower leg + + + Left hip + + + Left upper leg + + + Left lower leg + + + Stomach + + + Left pectoral + + + Right pectoral + + + HUD Center position 2 + + + HUD Top-right + + + HUD Top + + + HUD Top-left + + + HUD Center + + + HUD Bottom-left + + + HUD Bottom + + + HUD Bottom-right + + - Create a 64-bit integer representation from the second half of this UUID + Tree foliage types - An integer created from the last eight bytes of this UUID - + + Pine1 tree + + + Oak tree + + + Tropical Bush1 + + + Palm1 tree + + + Dogwood tree + + + Tropical Bush2 + + + Palm2 tree + + + Cypress1 tree + + + Cypress2 tree + + + Pine2 tree + + + Plumeria + + + Winter pinetree1 + + + Winter Aspen tree + + + Winter pinetree2 + + + Eucalyptus tree + + + Fern + + + Eelgrass + + + Sea Sword + + + Kelp1 plant + + + Beach grass + + + Kelp2 plant + + - Generate a UUID from a string + Grass foliage types - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Generate a UUID from a string - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - Will contain the parsed UUID if successful, - otherwise null - True if the string was successfully parse, otherwise false - UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) - + - Combine two UUIDs together by taking the MD5 hash of a byte array - containing both UUIDs - First UUID to combine - Second UUID to combine - The UUID product of the combination - + - - - + - Return a hash code for this UUID, used by .NET for hash tables - An integer composed of all the UUID bytes XORed together - + - Comparison function - An object to compare to this UUID - True if the object is a UUID and both UUIDs are equal - + - Comparison function - UUID to compare to - True if the UUIDs are equal, otherwise false - + - Get a hyphenated string representation of this UUID + Action associated with clicking on an object - A string representation of this UUID, lowercase and - with hyphens - 11f8aa9c-b071-4242-836b-13b7abe0d489 - - - Equals operator - - First UUID for comparison - Second UUID for comparison - True if the UUIDs are byte for byte equal, otherwise false - - - - Not equals operator - - First UUID for comparison - Second UUID for comparison - True if the UUIDs are not equal, otherwise true - - - - XOR operator - - First UUID - Second UUID - A UUID that is a XOR combination of the two input UUIDs + + Touch object - - - String typecasting operator - - A UUID in string form. Case insensitive, - hyphenated or non-hyphenated - A UUID built from the string representation + + Sit on object - - An UUID with a value of all zeroes + + Purchase object or contents - - A cache of UUID.Zero as a string to optimize a common path + + Pay the object - - - A two-dimensional vector with floating-point values - + + Open task inventory - - X value + + Play parcel media - - Y value + + Open parcel media - - - Test if this vector is equal to another vector, within a given - tolerance range - - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false + + For thread safety - - - Test if this vector is composed of all finite numbers - + + For thread safety - + - IComparable.CompareTo implementation + Purges expired objects from the cache. Called automatically by the purge timer. - + - Builds a vector from a byte array + A thread-safe lockless queue that supports multiple readers and + multiple writers - Byte array containing two four-byte floats - Beginning position in the byte array - + - Returns the raw bytes for this vector + Constructor - An eight-byte array containing X and Y - + - Writes the raw bytes for this vector to a byte array + Provides a node container for data in a singly linked list - Destination byte array - Position in the destination array to start - writing. Must be at least 8 bytes before the end of the array - + - Parse a vector from a string + Constructor - A string representation of a 2D vector, enclosed - in arrow brackets and separated by commas - + - Interpolates between two vectors using a cubic equation + Constructor - - - Get a formatted string representation of the vector - - A string representation of the vector + + Pointer to the next node in list - - - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the vector + + The data contained by the node - - A vector with a value of 0,0 + + Queue head - - A vector with a value of 1,1 + + Queue tail - - A vector with a value of 1,0 + + Queue item count - - A vector with a value of 0,1 + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate - + - An 8-bit color structure including an alpha channel + Enqueue an item + Item to enqeue - - Red - - - Green + + + Try to dequeue an item + + Dequeued item if the dequeue was successful + True if an item was successfully deqeued, otherwise false - - Blue + + A 4x4 matrix containing all zeroes - - Alpha + + A 4x4 identity matrix - + - + Convert this matrix to euler rotations - - - - + X euler angle + Y euler angle + Z euler angle - + - Builds a color from a byte array + Convert this matrix to a quaternion rotation - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 + A quaternion representation of this rotation matrix - + - Returns the raw bytes for this vector + Construct a matrix from euler rotation values in radians - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - A 16 byte array containing R, G, B, and A + X euler angle in radians + Y euler angle in radians + Z euler angle in radians - + - Copy constructor + Get a formatted string representation of the vector - Color to copy + A string representation of the vector - + - IComparable.CompareTo implementation + Provides helper methods for parallelizing loops - Sorting ends up like this: |--Grayscale--||--Color--|. - Alpha is only used when the colors are otherwise equivalent - + - Builds a color from a byte array + Executes a for loop in which iterations may run in parallel - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - + - Writes the raw bytes for this color to a byte array + Executes a for loop in which iterations may run in parallel - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + The number of concurrent execution threads to run + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - + - Serializes this color into four bytes in a byte array + Executes a foreach loop in which iterations may run in parallel - Destination byte array - Position in the destination array to start - writing. Must be at least 4 bytes before the end of the array - True to invert the output (1.0 becomes 0 - instead of 255) + Object type that the collection wraps + An enumerable collection to iterate over + Method body to run for each object in the collection - + - Writes the raw bytes for this color to a byte array + Executes a foreach loop in which iterations may run in parallel - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + Object type that the collection wraps + The number of concurrent execution threads to run + An enumerable collection to iterate over + Method body to run for each object in the collection - + - Ensures that values are in range 0-1 + Executes a series of tasks in parallel + A series of method bodies to execute - + - Create an RGB color from a hue, saturation, value combination + Executes a series of tasks in parallel - Hue - Saturation - Value - An fully opaque RGB color (alpha is 1.0) + The number of concurrent execution threads to run + A series of method bodies to execute - + - Performs linear interpolation between two colors + Build a quaternion from normalized float values - Color to start at - Color to end at - Amount to interpolate - The interpolated color - - - A Color4 with zero RGB values and fully opaque (alpha 1.0) - - - A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) + X value from -1.0 to 1.0 + Y value from -1.0 to 1.0 + Z value from -1.0 to 1.0 - + - The different types of grid assets + Constructor, builds a quaternion object from a byte array + Byte array containing four four-byte floats + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. - - Unknown asset type + + X value - - Texture asset, stores in JPEG2000 J2C stream format + + Y value + + + Z value + + + W value + + + A quaternion with a value of 0,0,0,1 + + + + Normalizes the quaternion + + + + + Builds a quaternion object from a byte array + + The source byte array + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. + + + + Normalize this quaternion and serialize it to a byte array + + A 12 byte array containing normalized X, Y, and Z floating + point values in order using little endian byte ordering + + + + Writes the raw bytes for this quaternion to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array + + + + Convert this quaternion to euler angles + + X euler angle + Y euler angle + Z euler angle + + + + Convert this quaternion to an angle around an axis + + Unit vector describing the axis + Angle around the axis, in radians + + + + Returns the conjugate (spatial inverse) of a quaternion + + + + + Build a quaternion from an axis and an angle of rotation around + that axis + + + + + Build a quaternion from an axis and an angle of rotation around + that axis + + Axis of rotation + Angle of rotation + + + + Creates a quaternion from a vector containing roll, pitch, and yaw + in radians + + Vector representation of the euler angles in + radians + Quaternion representation of the euler angles + + + + Creates a quaternion from roll, pitch, and yaw euler angles in + radians + + X angle in radians + Y angle in radians + Z angle in radians + Quaternion representation of the euler angles + + + + Conjugates and renormalizes a vector + + + + + Spherical linear interpolation between two quaternions + + + + + Get a string representation of the quaternion elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the quaternion + + + + Determines the appropriate events to set, leaves the locks, and sets the events. + + + + + A routine for lazily creating a event outside the lock (so if errors + happen they are outside the lock and that we don't do much work + while holding a spin lock). If all goes well, reenter the lock and + set 'waitEvent' + + + + + Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. + Before the wait 'numWaiters' is incremented and is restored before leaving this routine. + + + + + A hierarchical token bucket for bandwidth throttling. See + http://en.wikipedia.org/wiki/Token_bucket for more information + + + + + Default constructor + + Parent bucket if this is a child bucket, or + null if this is a root bucket + Maximum size of the bucket in bytes, or + zero if this bucket has no maximum capacity + Rate that the bucket fills, in bytes per + second. If zero, the bucket always remains full + + + Parent bucket to this bucket, or null if this is a root + bucket + + + Size of the bucket in bytes. If zero, the bucket has + infinite capacity + + + Rate that the bucket fills, in bytes per millisecond. If + zero, the bucket always remains full + + + Number of tokens currently in the bucket + + + Time of the last drip, in system ticks + + + + The parent bucket of this bucket, or null if this bucket has no + parent. The parent bucket will limit the aggregate bandwidth of all + of its children buckets + + + + + Maximum burst rate in bytes per second. This is the maximum number + of tokens that can accumulate in the bucket at any one time + + + + + The speed limit of this bucket in bytes per second. This is the + number of tokens that are added to the bucket per second + + Tokens are added to the bucket any time + is called, at the granularity of + the system tick interval (typically around 15-22ms) + + + + The number of bytes that can be sent at this moment. This is the + current number of tokens in the bucket + If this bucket has a parent bucket that does not have + enough tokens for a request, will + return false regardless of the content of this bucket + + + + Remove a given number of tokens from the bucket + + Number of tokens to remove from the bucket + True if the requested number of tokens were removed from + the bucket, otherwise false + + + + Remove a given number of tokens from the bucket + + Number of tokens to remove from the bucket + True if tokens were added to the bucket + during this call, otherwise false + True if the requested number of tokens were removed from + the bucket, otherwise false + + + + Add tokens to the bucket over time. The number of tokens added each + call depends on the length of time that has passed since the last + call to Drip + + True if tokens were added to the bucket, otherwise false + + + + A 128-bit Universally Unique Identifier, used throughout the Second + Life networking protocol + + + + + Constructor that takes a string UUID representation + + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") + + + + Constructor that takes a System.Guid object + + A Guid object that contains the unique identifier + to be represented by this UUID + + + + Constructor that takes a byte array containing a UUID + + Byte array containing a 16 byte UUID + Beginning offset in the array + + + + Constructor that takes an unsigned 64-bit unsigned integer to + convert to a UUID + + 64-bit unsigned integer to convert to a UUID + + + + Copy constructor + + UUID to copy + + + The System.Guid object this struct wraps around + + + An UUID with a value of all zeroes + + + A cache of UUID.Zero as a string to optimize a common path + + + + IComparable.CompareTo implementation + + + + + Assigns this UUID from 16 bytes out of a byte array + + Byte array containing the UUID to assign this UUID to + Starting position of the UUID in the byte array + + + + Returns a copy of the raw bytes for this UUID + + A 16 byte array containing this UUID + + + + Writes the raw bytes for this UUID to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Calculate an LLCRC (cyclic redundancy check) for this UUID + + The CRC checksum for this UUID + + + + Create a 64-bit integer representation from the second half of this UUID + + An integer created from the last eight bytes of this UUID + + + + Generate a UUID from a string + + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") + + + + Generate a UUID from a string + + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + Will contain the parsed UUID if successful, + otherwise null + True if the string was successfully parse, otherwise false + UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) + + + + Combine two UUIDs together by taking the MD5 hash of a byte array + containing both UUIDs + + First UUID to combine + Second UUID to combine + The UUID product of the combination + + + + + + + + + + Return a hash code for this UUID, used by .NET for hash tables + + An integer composed of all the UUID bytes XORed together + + + + Comparison function + + An object to compare to this UUID + True if the object is a UUID and both UUIDs are equal + + + + Comparison function + + UUID to compare to + True if the UUIDs are equal, otherwise false + + + + Get a hyphenated string representation of this UUID + + A string representation of this UUID, lowercase and + with hyphens + 11f8aa9c-b071-4242-836b-13b7abe0d489 + + + + Equals operator + + First UUID for comparison + Second UUID for comparison + True if the UUIDs are byte for byte equal, otherwise false + + + + Not equals operator + + First UUID for comparison + Second UUID for comparison + True if the UUIDs are not equal, otherwise true + + + + XOR operator + + First UUID + Second UUID + A UUID that is a XOR combination of the two input UUIDs + + + + String typecasting operator + + A UUID in string form. Case insensitive, + hyphenated or non-hyphenated + A UUID built from the string representation + + + + Operating system + + + + Unknown + + + Microsoft Windows + + + Microsoft Windows CE + + + Linux + + + Apple OSX + + + + Runtime platform + + + + .NET runtime + + + Mono runtime: http://www.mono-project.com/ + + + Used for converting degrees to radians + + + Used for converting radians to degrees + + + Provide a single instance of the CultureInfo class to + help parsing in situations where the grid assumes an en-us + culture + + + UNIX epoch in DateTime format + + + Provide a single instance of the MD5 class to avoid making + duplicate copies and handle thread safety + + + Provide a single instance of the SHA-1 class to avoid + making duplicate copies and handle thread safety + + + Provide a single instance of a random number generator + to avoid making duplicate copies and handle thread safety + + + + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper + + + + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper + + + + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper + + + + Round a floating-point value to the nearest integer + + Floating point number to round + Integer + + + + Test if a single precision float is a finite number + + + + + Test if a double precision float is a finite number + + + + + Get the distance between two floating-point values + + First value + Second value + The distance between the two values + + + + Compute the MD5 hash for a byte array + + Byte array to compute the hash for + MD5 hash of the input data + + + + Compute the SHA1 hash for a byte array + + Byte array to compute the hash for + SHA1 hash of the input data + + + + Calculate the SHA1 hash of a given string + + The string to hash + The SHA1 hash as a string + + + + Compute the SHA256 hash for a byte array + + Byte array to compute the hash for + SHA256 hash of the input data + + + + Calculate the SHA256 hash of a given string + + The string to hash + The SHA256 hash as a string + + + + Calculate the MD5 hash of a given string + + The password to hash + An MD5 hash in string format, with $1$ prepended + + + + Calculate the MD5 hash of a given string + + The string to hash + The MD5 hash as a string + + + + Generate a random double precision floating point value + + Random value of type double + + + + Get the current running platform + + Enumeration of the current platform we are running on + + + + Get the current running runtime + + Enumeration of the current runtime we are running on + + + + Convert the first two bytes starting in the byte array in + little endian ordering to a signed short integer + + An array two bytes or longer + A signed short integer, will be zero if a short can't be + read at the given position + + + + Convert the first two bytes starting at the given position in + little endian ordering to a signed short integer + + An array two bytes or longer + Position in the array to start reading + A signed short integer, will be zero if a short can't be + read at the given position + + + + Convert the first four bytes starting at the given position in + little endian ordering to a signed integer + + An array four bytes or longer + Position to start reading the int from + A signed integer, will be zero if an int can't be read + at the given position - - Sound asset + + + Convert the first four bytes of the given array in little endian + ordering to a signed integer + + An array four bytes or longer + A signed integer, will be zero if the array contains + less than four bytes - - Calling card for another avatar + + + Convert the first eight bytes of the given array in little endian + ordering to a signed long integer + + An array eight bytes or longer + A signed long integer, will be zero if the array contains + less than eight bytes - - Link to a location in world + + + Convert the first eight bytes starting at the given position in + little endian ordering to a signed long integer + + An array eight bytes or longer + Position to start reading the long from + A signed long integer, will be zero if a long can't be read + at the given position - - Collection of textures and parameters that can be - worn by an avatar + + + Convert the first two bytes starting at the given position in + little endian ordering to an unsigned short + + Byte array containing the ushort + Position to start reading the ushort from + An unsigned short, will be zero if a ushort can't be read + at the given position - - Primitive that can contain textures, sounds, - scripts and more + + + Convert two bytes in little endian ordering to an unsigned short + + Byte array containing the ushort + An unsigned short, will be zero if a ushort can't be + read - - Notecard asset + + + Convert the first four bytes starting at the given position in + little endian ordering to an unsigned integer + + Byte array containing the uint + Position to start reading the uint from + An unsigned integer, will be zero if a uint can't be read + at the given position - - Holds a collection of inventory items + + + Convert the first four bytes of the given array in little endian + ordering to an unsigned integer + + An array four bytes or longer + An unsigned integer, will be zero if the array contains + less than four bytes - - Root inventory folder + + + Convert the first eight bytes of the given array in little endian + ordering to an unsigned 64-bit integer + + An array eight bytes or longer + An unsigned 64-bit integer, will be zero if the array + contains less than eight bytes - - Linden scripting language script + + + Convert four bytes in little endian ordering to a floating point + value + + Byte array containing a little ending floating + point value + Starting position of the floating point value in + the byte array + Single precision value - - LSO bytecode for a script + + + Convert an integer to a byte array in little endian format + + The integer to convert + A four byte little endian array + + + + Convert an integer to a byte array in big endian format + + The integer to convert + A four byte big endian array + + + + Convert a 64-bit integer to a byte array in little endian format + + The value to convert + An 8 byte little endian array + + + + Convert a 64-bit unsigned integer to a byte array in little endian + format + + The value to convert + An 8 byte little endian array + + + + Convert a floating point value to four bytes in little endian + ordering + + A floating point value + A four byte array containing the value in little endian + ordering + + + + Converts an unsigned integer to a hexadecimal string + + An unsigned integer to convert to a string + A hexadecimal string 10 characters long + 0x7fffffff + + + + Convert a variable length UTF8 byte array to a string + + The UTF8 encoded byte array to convert + The decoded string + + + + Converts a byte array to a string containing hexadecimal characters + + The byte array to convert to a string + The name of the field to prepend to each + line of the string + A string containing hexadecimal characters on multiple + lines. Each line is prepended with the field name + + + + Converts a byte array to a string containing hexadecimal characters + + The byte array to convert to a string + Number of bytes in the array to parse + A string to prepend to each line of the hex + dump + A string containing hexadecimal characters on multiple + lines. Each line is prepended with the field name + + + + Convert a string to a UTF8 encoded byte array + + The string to convert + A null-terminated UTF8 byte array + + + + Converts a string containing hexadecimal characters to a byte array + + String containing hexadecimal characters + If true, gracefully handles null, empty and + uneven strings as well as stripping unconvertable characters + The converted byte array + + + + Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) + + Character to test + true if hex digit, false if not + + + + Converts 1 or 2 character string into equivalant byte value + + 1 or 2 character string + byte + + + + Convert a float value to a byte given a minimum and maximum range + + Value to convert to a byte + Minimum value range + Maximum value range + A single byte representing the original float value + + + + Convert a byte to a float value given a minimum and maximum range + + Byte array to get the byte from + Position in the byte array the desired byte is at + Minimum value range + Maximum value range + A float value inclusively between lower and upper + + + + Convert a byte to a float value given a minimum and maximum range + + Byte to convert to a float value + Minimum value range + Maximum value range + A float value inclusively between lower and upper + + + + Attempts to parse a floating point value from a string, using an + EN-US number format + + String to parse + Resulting floating point number + True if the parse was successful, otherwise false + + + + Attempts to parse a floating point value from a string, using an + EN-US number format + + String to parse + Resulting floating point number + True if the parse was successful, otherwise false + + + + Tries to parse an unsigned 32-bit integer from a hexadecimal string + + String to parse + Resulting integer + True if the parse was successful, otherwise false - - Uncompressed TGA texture + + + Returns text specified in EnumInfo attribute of the enumerator + To add the text use [EnumInfo(Text = "Some nice text here")] before declaration + of enum values + + Enum value + Text representation of the enum - - Collection of textures and shape parameters that can - be worn + + + Takes an AssetType and returns the string representation + + The source + The string version of the AssetType - - Trash folder + + + Translate a string name of an AssetType into the proper Type + + A string containing the AssetType name + The AssetType which matches the string name, or AssetType.Unknown if no match was found - - Snapshot folder + + + Convert an InventoryType to a string + + The to convert + A string representation of the source - - Lost and found folder + + + Convert a string into a valid InventoryType + + A string representation of the InventoryType to convert + A InventoryType object which matched the type - - Uncompressed sound + + + Convert a SaleType to a string + + The to convert + A string representation of the source - - Uncompressed TGA non-square image, not to be used as a - texture + + + Convert a string into a valid SaleType + + A string representation of the SaleType to convert + A SaleType object which matched the type - - Compressed JPEG non-square image, not to be used as a - texture + + + Converts a string used in LLSD to AttachmentPoint type + + String representation of AttachmentPoint to convert + AttachmentPoint enum - - Animation + + + Copy a byte array + + Byte array to copy + A copy of the given byte array - - Sequence of animations, sounds, chat, and pauses + + + Packs to 32-bit unsigned integers in to a 64-bit unsigned integer + + The left-hand (or X) value + The right-hand (or Y) value + A 64-bit integer containing the two 32-bit input values - - Simstate file + + + Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer + + The 64-bit input integer + The left-hand (or X) output value + The right-hand (or Y) output value - - Contains landmarks for favorites + + + Convert an IP address object to an unsigned 32-bit integer + + IP address to convert + 32-bit unsigned integer holding the IP address bits - - Asset is a link to another inventory item + + + Gets a unix timestamp for the current time + + An unsigned integer representing a unix timestamp for now - - Asset is a link to another inventory folder + + + Convert a UNIX timestamp to a native DateTime object + + An unsigned integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - - Beginning of the range reserved for ensembles + + + Convert a UNIX timestamp to a native DateTime object + + A signed integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - - End of the range reserved for ensembles + + + Convert a native DateTime object to a UNIX timestamp + + A DateTime object you want to convert to a + timestamp + An unsigned integer representing a UNIX timestamp - - Folder containing inventory links to wearables and attachments - that are part of the current outfit + + + Swap two values + + Type of the values to swap + First value + Second value - - Folder containing inventory items or links to - inventory items of wearables and attachments - together make a full outfit + + + Try to parse an enumeration value from a string + + Enumeration type + String value to parse + Enumeration value on success + True if the parsing succeeded, otherwise false - - Root folder for the folders of type OutfitFolder + + + Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa + + Byte to swap the words in + Byte value with the words swapped - - + + + Attempts to convert a string representation of a hostname or IP + address to a + Hostname to convert to an IPAddress + Converted IP address object, or null if the conversion + failed - + - Inventory Item Types, eg Script, Notecard, Folder, etc + A two-dimensional vector with floating-point values - - Unknown + + X value - - Texture + + Y value - - Sound + + A vector with a value of 0,0 - - Calling Card + + A vector with a value of 1,1 - - Landmark + + A vector with a value of 1,0 - - Notecard + + A vector with a value of 0,1 - - + + + Test if this vector is equal to another vector, within a given + tolerance range + + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - - Folder + + + Test if this vector is composed of all finite numbers + - - + + + IComparable.CompareTo implementation + - - an LSL Script + + + Builds a vector from a byte array + + Byte array containing two four-byte floats + Beginning position in the byte array - - + + + Returns the raw bytes for this vector + + An eight-byte array containing X and Y - - + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 8 bytes before the end of the array - - + + + Parse a vector from a string + + A string representation of a 2D vector, enclosed + in arrow brackets and separated by commas - - + + + Interpolates between two vectors using a cubic equation + - - + + + Get a formatted string representation of the vector + + A string representation of the vector + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector - + - Item Sale Status + A three-dimensional vector with floating-point values - - Not for sale + + + Constructor, builds a vector from a byte array + + Byte array containing three four-byte floats + Beginning position in the byte array - - The original is for sale + + X value - - Copies are for sale + + Y value - - The contents of the object are for sale + + Z value - - - Types of wearable assets - + + A vector with a value of 0,0,0 - - Body shape + + A vector with a value of 1,1,1 - - Skin textures and attributes + + A unit vector facing forward (X axis), value 1,0,0 - - Hair + + A unit vector facing left (Y axis), value 0,1,0 - - Eyes + + A unit vector facing up (Z axis), value 0,0,1 - - Shirt + + + Test if this vector is equal to another vector, within a given + tolerance range + + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - - Pants + + + IComparable.CompareTo implementation + - - Shoes + + + Test if this vector is composed of all finite numbers + - - Socks + + + Builds a vector from a byte array + + Byte array containing a 12 byte vector + Beginning position in the byte array - - Jacket + + + Returns the raw bytes for this vector + + A 12 byte array containing X, Y, and Z - - Gloves + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array - - Undershirt + + + Parse a vector from a string + + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas - - Underpants + + + Calculate the rotation between two vectors + + Normalized directional vector (such as 1,0,0 for forward facing) + Normalized target vector - - Skirt + + + Interpolates between two vectors using a cubic equation + - - Alpha mask to hide parts of the avatar + + + Get a formatted string representation of the vector + + A string representation of the vector - - Tattoo + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector - - Invalid wearable asset + + + Cross product between two vectors + A three-dimensional vector with doubleing-point values + + + Constructor, builds a vector from a byte array + + Byte array containing three eight-byte doubles + Beginning position in the byte array + X value @@ -1834,12 +2500,20 @@ Z value - - - Constructor, builds a vector from a byte array - - Byte array containing three eight-byte doubles - Beginning position in the byte array + + A vector with a value of 0,0,0 + + + A vector with a value of 1,1,1 + + + A unit vector facing forward (X axis), value of 1,0,0 + + + A unit vector facing left (Y axis), value of 0,1,0 + + + A unit vector facing up (Z axis), value of 0,0,1 @@ -1887,7 +2561,7 @@ Parse a vector from a string - A string representation of a 3D vector, enclosed + A string representation of a 3D vector, enclosed in arrow brackets and separated by commas @@ -1913,45 +2587,91 @@ Cross product between two vectors - - A vector with a value of 0,0,0 + + + Constructor, builds a vector from a byte array + + Byte array containing four four-byte floats + Beginning position in the byte array - - A vector with a value of 1,1,1 + + X value - - A unit vector facing forward (X axis), value of 1,0,0 + + Y value - - A unit vector facing left (Y axis), value of 0,1,0 + + Z value - - A unit vector facing up (Z axis), value of 0,0,1 + + W value - + + A vector with a value of 0,0,0,0 + + + A vector with a value of 1,1,1,1 + + + A vector with a value of 1,0,0,0 + + + A vector with a value of 0,1,0,0 + + + A vector with a value of 0,0,1,0 + + + A vector with a value of 0,0,0,1 + + - Determines the appropriate events to set, leaves the locks, and sets the events. + Test if this vector is equal to another vector, within a given + tolerance range + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - + - A routine for lazily creating a event outside the lock (so if errors - happen they are outside the lock and that we don't do much work - while holding a spin lock). If all goes well, reenter the lock and - set 'waitEvent' + IComparable.CompareTo implementation - + - Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. - Before the wait 'numWaiters' is incremented and is restored before leaving this routine. + Test if this vector is composed of all finite numbers - + - Copy constructor + Builds a vector from a byte array - Circular queue to copy + Byte array containing a 16 byte vector + Beginning position in the byte array + + + + Returns the raw bytes for this vector + + A 16 byte array containing X, Y, Z, and W + + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index 01dc3d8..b989bad 100644 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 6ba7ee6b2e25f52d6f63c08e22f90a3990fc28e1 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 4 Oct 2010 00:44:27 +0100 Subject: Update libOMV --- bin/OpenMetaverse.StructuredData.XML | 398 +- bin/OpenMetaverse.StructuredData.dll | Bin 95232 -> 102400 bytes bin/OpenMetaverse.XML | 36118 ++++++++++++++++----------------- bin/OpenMetaverse.dll | Bin 1768960 -> 1712128 bytes bin/OpenMetaverse.dll.config | 14 +- bin/OpenMetaverseTypes.XML | 3191 ++- bin/OpenMetaverseTypes.dll | Bin 105984 -> 114688 bytes 7 files changed, 19424 insertions(+), 20297 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.StructuredData.XML b/bin/OpenMetaverse.StructuredData.XML index 927e960..a8e314f 100644 --- a/bin/OpenMetaverse.StructuredData.XML +++ b/bin/OpenMetaverse.StructuredData.XML @@ -1,363 +1,333 @@ - /home/root/libopenmetaverse/bin/OpenMetaverse.StructuredData + OpenMetaverse.StructuredData - + + - - + - - + - + + + + - + + + + - + + + + - + + + + - + + + - + + + + + - + + + + + - + + + + + - + + + + - + + + + - + + + + - + - Uses reflection to create an SDMap from all of the SD - serializable types in an object + - Class or struct containing serializable types - An SDMap holding the serialized values from the - container object + + - + - Uses reflection to deserialize member variables in an object from - an SDMap + - Reference to an object to fill with deserialized - values - Serialized values to put in the target - object + + - + + + + - + + + + - + + + + - + + + + - + + + + + - + + + + - + + + + - + + + + - + + + + - + + + + - - - - - + + + + + - + + - - - - + + + + - + + - - - - + + + - + + - - - - + + + - + + - - - - - - - - - + + - - - - - - - - - + + - - - - - - - - - + + - - - - - - - - - + + - - - - - - - + + - - - - - - - + + - - - - - - - + + - - - - - - - + + - - - - - - - + + - + + + + + + + + - - - - - + + - - - - - + + Uses reflection to create an SDMap from all of the SD + serializable types in an object - - - - - - + Class or struct containing serializable types + An SDMap holding the serialized values from the + container object - + + Uses reflection to deserialize member variables in an object from + an SDMap - - - - - - - - + Reference to an object to fill with deserialized + values + Serialized values to put in the target + object - + + - - - - - - - + + - - - - - - - + + - - - - - + + - - - - - + + - - - - - + + - - - - - + + - - - - - + + - - - - - + + - - - - - - - + + - - - - diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 27ccfbc..45a72ec 100644 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML index fa1057a..639bc20 100644 --- a/bin/OpenMetaverse.XML +++ b/bin/OpenMetaverse.XML @@ -1,25794 +1,25026 @@ - /home/root/libopenmetaverse/bin/OpenMetaverse + OpenMetaverse - + - Permission request flags, asked when a script wants to control an Avatar + Represents an LSL Text object containing a string of UTF encoded characters - - Placeholder for empty values, shouldn't ever see this + + + Base class for all Asset types + - - Script wants ability to take money from you + + A byte array containing the raw asset data - - Script wants to take camera controls for you + + True if the asset it only stored on the server temporarily - - Script wants to remap avatars controls + + A unique ID - - Script wants to trigger avatar animations - This function is not implemented on the grid + + + Construct a new Asset object + - - Script wants to attach or detach the prim or primset to your avatar + + + Construct a new Asset object + + A unique specific to this asset + A byte array containing the raw asset data - - Script wants permission to release ownership - This function is not implemented on the grid - The concept of "public" objects does not exist anymore. + + + Regenerates the AssetData byte array from the properties + of the derived class. + - - Script wants ability to link/delink with other prims + + + Decodes the AssetData, placing it in appropriate properties of the derived + class. + + True if the asset decoding succeeded, otherwise false - - Script wants permission to change joints - This function is not implemented on the grid + + The assets unique ID - - Script wants permissions to change permissions - This function is not implemented on the grid + + + The "type" of asset, Notecard, Animation, etc + - - Script wants to track avatars camera position and rotation + + A string of characters represting the script contents - - Script wants to control your camera + + Initializes a new AssetScriptText object - + - Special commands used in Instant Messages + Initializes a new AssetScriptText object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - Indicates a regular IM from another agent - - - Simple notification box with an OK button + + + Encode a string containing the scripts contents into byte encoded AssetData + - - You've been invited to join a group. + + + Decode a byte array containing the scripts contents into a string + + true if decoding is successful - - Inventory offer + + Override the base classes AssetType - - Accepted inventory offer + + + + - - Declined inventory offer + + The event subscribers, null of no subscribers - - Group vote + + Raises the AttachedSound Event + A AttachedSoundEventArgs object containing + the data sent from the simulator - - An object is offering its inventory + + Thread sync lock object - - Accept an inventory offer from an object + + The event subscribers, null of no subscribers - - Decline an inventory offer from an object + + Raises the AttachedSoundGainChange Event + A AttachedSoundGainChangeEventArgs object containing + the data sent from the simulator - - Unknown + + Thread sync lock object - - Start a session, or add users to a session + + The event subscribers, null of no subscribers - - Start a session, but don't prune offline users + + Raises the SoundTrigger Event + A SoundTriggerEventArgs object containing + the data sent from the simulator - - Start a session with your group + + Thread sync lock object - - Start a session without a calling card (finder or objects) + + The event subscribers, null of no subscribers - - Send a message to a session + + Raises the PreloadSound Event + A PreloadSoundEventArgs object containing + the data sent from the simulator - - Leave a session + + Thread sync lock object - - Indicates that the IM is from an object + + + Construct a new instance of the SoundManager class, used for playing and receiving + sound assets + + A reference to the current GridClient instance - - Sent an IM to a busy user, this is the auto response + + + Plays a sound in the current region at full volume from avatar position + + UUID of the sound to be played - - Shows the message in the console and chat history + + + Plays a sound in the current region at full volume + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. - - Send a teleport lure + + + Plays a sound in the current region + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - Response sent to the agent which inititiated a teleport invitation + + + Plays a sound in the specified sim + + UUID of the sound to be played. + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - Response sent to the agent which inititiated a teleport invitation + + + Play a sound asset + + UUID of the sound to be played. + handle id for the sim to be played in. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - - Only useful if you have Linden permissions + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - A placeholder type for future expansion, currently not - used + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - IM to tell the user to go to an URL + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - IM for help + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - IM sent automatically on call for help, sends a lure - to each Helper reached + + Raised when the simulator sends us data containing + sound - - Like an IM but won't go to email + + Raised when the simulator sends us data containing + ... - - IM from a group officer to all group members + + Raised when the simulator sends us data containing + ... - - Unknown + + Raised when the simulator sends us data containing + ... - - Unknown + + Provides data for the event + The event occurs when the simulator sends + the sound data which emits from an agents attachment + + The following code example shows the process to subscribe to the event + and a stub to handle the data passed from the simulator + + // Subscribe to the AttachedSound event + Client.Sound.AttachedSound += Sound_AttachedSound; + + // process the data raised in the event here + private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) + { + // ... Process AttachedSoundEventArgs here ... + } + + - - Accept a group invitation + + + Construct a new instance of the SoundTriggerEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The volume level + The - - Decline a group invitation + + Simulator where the event originated - - Unknown + + Get the sound asset id - - An avatar is offering you friendship + + Get the ID of the owner - - An avatar has accepted your friendship offer + + Get the ID of the Object - - An avatar has declined your friendship offer + + Get the volume level - - Indicates that a user has started typing + + Get the - - Indicates that a user has stopped typing + + Provides data for the event + The event occurs when an attached sound + changes its volume level - + - Flag in Instant Messages, whether the IM should be delivered to - offline avatars as well + Construct a new instance of the AttachedSoundGainChangedEventArgs class + Simulator where the event originated + The ID of the Object + The new volume level - - Only deliver to online avatars + + Simulator where the event originated - - If the avatar is offline the message will be held until - they login next, and possibly forwarded to their e-mail account + + Get the ID of the Object - + + Get the volume level + + + Provides data for the event + The event occurs when the simulator forwards + a request made by yourself or another agent to play either an asset sound or a built in sound + + Requests to play sounds where the is not one of the built-in + will require sending a request to download the sound asset before it can be played + + + The following code example uses the , + and + properties to display some information on a sound request on the window. + + // subscribe to the event + Client.Sound.SoundTrigger += Sound_SoundTrigger; + + // play the pre-defined BELL_TING sound + Client.Sound.SendSoundTrigger(Sounds.BELL_TING); + + // handle the response data + private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) + { + Console.WriteLine("{0} played the sound {1} at volume {2}", + e.OwnerID, e.SoundID, e.Gain); + } + + + + - Conversion type to denote Chat Packet types in an easier-to-understand format + Construct a new instance of the SoundTriggerEventArgs class + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The ID of the objects parent + The volume level + The regionhandle + The source position - - Whisper (5m radius) + + Simulator where the event originated - - Normal chat (10/20m radius), what the official viewer typically sends + + Get the sound asset id - - Shouting! (100m radius) + + Get the ID of the owner - - Event message when an Avatar has begun to type + + Get the ID of the Object - - Event message when an Avatar has stopped typing + + Get the ID of the objects parent - - Send the message to the debug channel + + Get the volume level - - Event message when an object uses llOwnerSay + + Get the regionhandle - - Special value to support llRegionSay, never sent to the client + + Get the source position - + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + + + - Identifies the source of a chat message + Construct a new instance of the PreloadSoundEventArgs class + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object - - Chat from the grid or simulator + + Simulator where the event originated - - Chat from another avatar + + Get the sound asset id - - Chat from an object + + Get the ID of the owner - - - + + Get the ID of the Object - - - + + Sort by name - + + Sort by date + + + Sort folders by name, regardless of whether items are + sorted by name or date + + + Place system folders at the top + + + Possible destinations for DeRezObject request - + + + + + Copy from in-world to agent inventory + + + Derez to TaskInventory + + + + + + Take Object + + + + + + Delete Object + + + Put an avatar attachment into agent inventory + + + + + + Return an object back to the owner's inventory + + + Return a deeded object back to the last owner's inventory + + + Upper half of the Flags field for inventory items - + + Indicates that the NextOwner permission will be set to the + most restrictive set of permissions found in the object set + (including linkset items and object inventory items) on next rez + + + Indicates that the object sale information has been + changed + + + If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez + + + Indicates whether this object is composed of multiple + items or not + + + Indicates that the asset is only referenced by this + inventory item. If this item is deleted or updated to reference a + new assetID, the asset can be deleted + + - Effect type used in ViewerEffect packets + Base Class for Inventory Items - + + of item/folder + + + of parent folder + + + Name of item/folder + + + Item/Folder Owners + + + Constructor, takes an itemID as a parameter + The of the item - + + + - + + + - + + Generates a number corresponding to the value of the object to support the use of a hash table, + suitable for use in hashing algorithms and data structures such as a hash table + A Hashcode of all the combined InventoryBase fields - + + Determine whether the specified object is equal to the current object + InventoryBase object to compare against + true if objects are the same - + + Determine whether the specified object is equal to the current object + InventoryBase object to compare against + true if objects are the same - + + An Item in Inventory - - Project a beam from a source to a destination, such as - the one used when editing an object + + The of this item - - - + + The combined of this item - - - + + The type of item from - - - + + The type of item from the enum - - Create a swirl of particles around an object + + The of the creator of this item - - - + + A Description of this item - - - + + The s this item is set to or owned by - - Cause an avatar to look at an object + + If true, item is owned by a group - - Cause an avatar to point at an object + + The price this item can be purchased for - - - The action an avatar is doing when looking at something, used in - ViewerEffect packets for the LookAt effect - + + The type of sale from the enum - - - + + Combined flags from - - - + + Time and date this inventory item was created, stored as + UTC (Coordinated Universal Time) - + + Used to update the AssetID in requests sent to the server + + + The of the previous owner of the item + + + Construct a new InventoryItem object + The of the item - + + Construct a new InventoryItem object of a specific Type + The type of item from + of the item - + + Indicates inventory item is a link + True if inventory item is a link to another inventory item - + + + - - Deprecated - - + + + - + + Generates a number corresponding to the value of the object to support the use of a hash table. + Suitable for use in hashing algorithms and data structures such as a hash table + A Hashcode of all the combined InventoryItem fields - + + Compares an object + The object to compare + true if comparison object matches - + + Determine whether the specified object is equal to the current object + The object to compare against + true if objects are the same - + - The action an avatar is doing when pointing at something, used in - ViewerEffect packets for the PointAt effect + Determine whether the specified object is equal to the current object + The object to compare against + true if objects are the same - + + InventoryTexture Class representing a graphical image + - + + Construct an InventoryTexture object + A which becomes the + objects AssetUUID - + + Construct an InventoryTexture object from a serialization stream - + + InventorySound Class representing a playable sound - + - Money transaction types + Construct an InventorySound object + A which becomes the + objects AssetUUID - + + Construct an InventorySound object from a serialization stream - + + InventoryCallingCard Class, contains information on another avatar - + + Construct an InventoryCallingCard object + A which becomes the + objects AssetUUID - + + Construct an InventoryCallingCard object from a serialization stream - + + InventoryLandmark Class, contains details on a specific location - + + Construct an InventoryLandmark object + A which becomes the + objects AssetUUID - + + Construct an InventoryLandmark object from a serialization stream - + + Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited - + + InventoryObject Class contains details on a primitive or coalesced set of primitives - + + Construct an InventoryObject object + A which becomes the + objects AssetUUID - + + Construct an InventoryObject object from a serialization stream - + + Gets or sets the upper byte of the Flags value - + + Gets or sets the object attachment point, the lower byte of the Flags value - + + InventoryNotecard Class, contains details on an encoded text document - + + Construct an InventoryNotecard object + A which becomes the + objects AssetUUID - + + Construct an InventoryNotecard object from a serialization stream - + + InventoryCategory Class + TODO: Is this even used for anything? - + + Construct an InventoryCategory object + A which becomes the + objects AssetUUID - + + Construct an InventoryCategory object from a serialization stream - + + InventoryLSL Class, represents a Linden Scripting Language object - + + Construct an InventoryLSL object + A which becomes the + objects AssetUUID - + + Construct an InventoryLSL object from a serialization stream - + + InventorySnapshot Class, an image taken with the viewer - + + Construct an InventorySnapshot object + A which becomes the + objects AssetUUID - + + Construct an InventorySnapshot object from a serialization stream - + + InventoryAttachment Class, contains details on an attachable object - + + Construct an InventoryAttachment object + A which becomes the + objects AssetUUID - + + Construct an InventoryAttachment object from a serialization stream - + + Get the last AttachmentPoint this object was attached to - + + InventoryWearable Class, details on a clothing item or body part - + + Construct an InventoryWearable object + A which becomes the + objects AssetUUID - + + Construct an InventoryWearable object from a serialization stream - + + The , Skin, Shape, Skirt, Etc - + + InventoryAnimation Class, A bvh encoded object which animates an avatar - + + Construct an InventoryAnimation object + A which becomes the + objects AssetUUID - + + Construct an InventoryAnimation object from a serialization stream - + + InventoryGesture Class, details on a series of animations, sounds, and actions - + + Construct an InventoryGesture object + A which becomes the + objects AssetUUID - + + Construct an InventoryGesture object from a serialization stream - + + A folder contains s and has certain attributes specific + to itself - + + The Preferred for a folder. + + + The Version of this folder + + + Number of child items this folder contains. + + + Constructor + UUID of the folder - + + + - + + Get Serilization data for this InventoryFolder object - + + Construct an InventoryFolder object from a serialization stream - + + + - + + + + - + + + + - + + + + - + + Tools for dealing with agents inventory - + + Used for converting shadow_id to asset_id + + + The event subscribers, null of no subscribers + + + Raises the ItemReceived Event + A ItemReceivedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the FolderUpdated Event + A FolderUpdatedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectOffered Event + A InventoryObjectOfferedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the TaskItemReceived Event + A TaskItemReceivedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the FindObjectByPath Event + A FindObjectByPathEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the TaskInventoryReply Event + A TaskInventoryReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SaveAssetToInventory Event + A SaveAssetToInventoryEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ScriptRunningReply Event + A ScriptRunningReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Partial mapping of AssetTypes to folder names + + + Default constructor + Reference to the GridClient object - + + Fetch an inventory item from the dataserver + The items + The item Owners + a integer representing the number of milliseconds to wait for results + An object on success, or null if no item was found + Items will also be sent to the event - + + Request A single inventory item + The items + The item Owners + - + + Request inventory items + Inventory items to request + Owners of the inventory items + - + + Get contents of a folder + The of the folder to search + The of the folders owner + true to retrieve folders + true to retrieve items + sort order to return results in + a integer representing the number of milliseconds to wait for results + A list of inventory items matching search criteria within folder + + InventoryFolder.DescendentCount will only be accurate if both folders and items are + requested - + + Request the contents of an inventory folder + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - + + Returns the UUID of the folder (category) that defaults to + containing 'type'. The folder is not necessarily only for that + type + This will return the root folder if one does not exist + + The UUID of the desired folder if found, the UUID of the RootFolder + if not found, or UUID.Zero on failure - + + Find an object in inventory using a specific path to search + The folder to begin the search in + The object owners + A string path to search + milliseconds to wait for a reply + Found items or if + timeout occurs or item is not found - + + Find inventory items by path + The folder to begin the search in + The object owners + A string path to search, folders/objects separated by a '/' + Results are sent to the event - + + Search inventory Store object for an item or folder + The folder to begin the search in + An array which creates a path to search + Number of levels below baseFolder to conduct searches + if True, will stop searching after first match is found + A list of inventory items found - + + Move an inventory item or folder to a new location + The item or folder to move + The to move item or folder to - + + Move an inventory item or folder to a new location and change its name + The item or folder to move + The to move item or folder to + The name to change the item or folder to - + + Move and rename a folder + The source folders + The destination folders + The name to change the folder to - + + Update folder properties + of the folder to update + Sets folder's parent to + Folder name + Folder type - + + Move a folder + The source folders + The destination folders - + - Flags sent when a script takes or releases a control + Move multiple folders, the keys in the Dictionary parameter, + to a new parents, the value of that folder's key. - NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, - - - No Flags set - - - Forward (W or up Arrow) - - - Back (S or down arrow) - - - Move left (shift+A or left arrow) - - - Move right (shift+D or right arrow) - - - Up (E or PgUp) - - - Down (C or PgDown) - - - Rotate left (A or left arrow) - - - Rotate right (D or right arrow) - - - Left Mouse Button + A Dictionary containing the + of the source as the key, and the + of the destination as the value - - Left Mouse button in MouseLook - - + - Currently only used to hide your group title + Move an inventory item to a new folder + The of the source item to move + The of the destination folder - - No flags set - - - Hide your group title - - + - Action state of the avatar, which can currently be typing and - editing + Move and rename an inventory item + The of the source item to move + The of the destination folder + The name to change the folder to - + + Move multiple inventory items to new locations + A Dictionary containing the + of the source item as the key, and the + of the destination folder as the value - + + Remove descendants of a folder + The of the folder - + + Remove a single item from inventory + The of the inventory item to remove - + - Current teleport status + Remove a folder from inventory + The of the folder to remove - - Unknown status - - - Teleport initialized - - - Teleport in progress - - - Teleport failed - - - Teleport completed - - - Teleport cancelled - - + + Remove multiple items or folders from inventory + A List containing the s of items to remove + A List containing the s of the folders to remove - - No flags set, or teleport failed - - - Set when newbie leaves help island for first time - - + + Empty the Lost and Found folder - - Via Lure - - - Via Landmark - - - Via Location - - - Via Home - - - Via Telehub - - - Via Login - - - Linden Summoned - - - Linden Forced me - - + + Empty the Trash folder - - Agent Teleported Home via Script - - + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + - + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + - + + Creates a new inventory folder + ID of the folder to put this folder in + Name of the folder to create + The UUID of the newly created folder - - forced to new location for example when avatar is banned or ejected - - - Teleport Finished via a Lure - - - Finished, Sim Changed - - - Finished, Same Sim - - + + Creates a new inventory folder + ID of the folder to put this folder in + Name of the folder to create + Sets this folder as the default folder + for new assets of the specified type. Use AssetType.Unknown + to create a normal folder, otherwise it will likely create a + duplicate of an existing folder type + The UUID of the newly created folder + If you specify a preferred type of AsseType.Folder + it will create a new root folder which may likely cause all sorts + of strange problems - + + Create an inventory item and upload asset data + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Delegate that will receive feedback on success or failure - + + Create an inventory item and upload asset data + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Permission of the newly created item + (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) + Delegate that will receive feedback on success or failure - + + Creates inventory link to another inventory item or folder + Put newly created link in folder with this UUID + Inventory item or folder + Method to call upon creation of the link - + + Creates inventory link to another inventory item + Put newly created link in folder with this UUID + Original inventory item + Method to call upon creation of the link - + + Creates inventory link to another inventory folder + Put newly created link in folder with this UUID + Original inventory folder + Method to call upon creation of the link - + + Creates inventory link to another inventory item or folder + Put newly created link in folder with this UUID + Original item's UUID + Name + Description + Asset Type + Inventory Type + Transaction UUID + Method to call upon creation of the link - + + + + + + - + + + + + + + - + - Instant Message + + + + + + - - Key of sender - - - Name of sender - - - Key of destination avatar - - - ID of originating estate - - - Key of originating region - - - Coordinates in originating region - - - Instant message type - - - Group IM session toggle - - - Key of IM session, for Group Messages, the groups UUID - - - Timestamp of the instant message - - - Instant message text - - - Whether this message is held for offline avatars - - - Context specific packed data - - - Print the struct data as a string - A string containing the field name, and field value - - + - Manager class for our own avatar + Request a copy of an asset embedded within a notecard + Usually UUID.Zero for copying an asset from a notecard + UUID of the notecard to request an asset from + Target folder for asset to go to in your inventory + UUID of the embedded asset + callback to run when item is copied to inventory - + - Constructor, setup callbacks for packets related to our avatar + - A reference to the Class + - + - Agent movement and camera control - Agent movement is controlled by setting specific - After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags - This is most easily accomplished by setting one or more of the AgentMovement properties - Movement of an avatar is always based on a compass direction, for example AtPos will move the - agent from West to East or forward on the X Axis, AtNeg will of course move agent from - East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis - The Z axis is Up, finer grained control of movements can be done using the Nudge properties + + - - Default constructor - - + - Camera controls for the agent, mostly a thin wrapper around - CoordinateFrame. This class is only responsible for state - tracking and math, it does not send any packets + + + - + - Default constructor + + + + - + + Save changes to notecard embedded in object contents + Encoded notecard asset data + Notecard UUID + Object's UUID + Called upon finish of the upload with status information - - The camera is a local frame of reference inside of - the larger grid space. This is where the math happens - - + + Upload new gesture asset for an inventory gesture item + Encoded gesture asset + Gesture inventory UUID + Callback whick will be called when upload is complete - + + Update an existing script in an agents Inventory + A byte[] array containing the encoded scripts contents + the itemID of the script + if true, sets the script content to run on the mono interpreter + - + + Update an existing script in an task Inventory + A byte[] array containing the encoded scripts contents + the itemID of the script + UUID of the prim containting the script + if true, sets the script content to run on the mono interpreter + if true, sets the script to running + - + + Rez an object from inventory + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details - - Agent camera controls - - - Currently only used for hiding your group title - - - Action state of the avatar, which can currently be - typing and editing - - + + Rez an object from inventory + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object - + + Rez an object from inventory - - + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object + + + DeRez an object from the simulator to the agents Objects folder in the agents Inventory + The simulator Local ID of the object + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - + + DeRez an object from the simulator and return to inventory + The simulator Local ID of the object + The type of destination from the enum + The destination inventory folders -or- + if DeRezzing object to a tasks Inventory, the Tasks + The transaction ID for this request which + can be used to correlate this request with other packets + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - + + Rez an item from inventory to its previous simulator location + + + + - + + Give an inventory item to another avatar + The of the item to give + The name of the item + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - + + Give an inventory Folder with contents to another avatar + The of the Folder to give + The name of the folder + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - + + Copy or move an from agent inventory to a task (primitive) inventory + The target object + The item to copy or move from inventory + + For items with copy permissions a copy of the item is placed in the tasks inventory, + for no-copy items the object is moved to the tasks inventory - + + Retrieve a listing of the items contained in a task (Primitive) + The tasks + The tasks simulator local ID + milliseconds to wait for reply from simulator + A list containing the inventory items inside the task or null + if a timeout occurs + This request blocks until the response from the simulator arrives + or timeoutMS is exceeded - - Timer for sending AgentUpdate packets - - - Move agent positive along the X axis + + + Request the contents of a tasks (primitives) inventory from the + current simulator + + The LocalID of the object + - - Move agent negative along the X axis + + + Request the contents of a tasks (primitives) inventory + + The simulator Local ID of the object + A reference to the simulator object that contains the object + - - Move agent positive along the Y axis + + + Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + + LocalID of the object in the simulator + UUID of the task item to move + The ID of the destination folder in this agents inventory + Simulator Object + Raises the event - - Move agent negative along the Y axis + + + Remove an item from an objects (Prim) Inventory + + LocalID of the object in the simulator + UUID of the task item to remove + Simulator Object + You can confirm the removal by comparing the tasks inventory serial before and after the + request with the request combined with + the event - - Move agent positive along the Z axis + + + Copy an InventoryScript item from the Agents Inventory into a primitives task inventory + + An unsigned integer representing a primitive being simulated + An which represents a script object from the agents inventory + true to set the scripts running state to enabled + A Unique Transaction ID + + The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory + and assumes the script exists in the agents inventory. + + uint primID = 95899503; // Fake prim ID + UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory + + Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, + false, true, InventorySortOrder.ByName, 10000); + + Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); + + - - Move agent negative along the Z axis + + + Request the running status of a script contained in a task (primitive) inventory + + The ID of the primitive containing the script + The ID of the script + The event can be used to obtain the results of the + request + - + + Send a request to set the running state of a script contained in a task (primitive) inventory + The ID of the primitive containing the script + The ID of the script + true to set the script running, false to stop a running script + To verify the change you can use the method combined + with the event - + + Create a CRC from an InventoryItem + The source InventoryItem + A uint representing the source InventoryItem as a CRC - + + Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + Obfuscated shadow_id value + Deobfuscated asset_id value - + + Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id + asset_id value to obfuscate + Obfuscated shadow_id value - + + Wrapper for creating a new object + The type of item from the enum + The of the newly created object + An object with the type and id passed - + + Parse the results of a RequestTaskInventory() response + A string which contains the data from the task reply + A List containing the items contained within the tasks inventory - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + UpdateCreateInventoryItem packets are received when a new inventory item + is created. This may occur when an object that's rezzed in world is + taken into inventory, when an item is created using the CreateInventoryItem + packet, or when an object is purchased + The sender + The EventArgs object containing the packet data - - Causes simulator to make agent fly + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Stop movement + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Finish animation + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Stand up from a sit + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Tells simulator to sit agent on ground + + Raised when the simulator sends us data containing + ... - - Place agent into mouselook mode + + Raised when the simulator sends us data containing + ... - - Nudge agent positive along the X axis + + Raised when the simulator sends us data containing + an inventory object sent by another avatar or primitive - - Nudge agent negative along the X axis + + Raised when the simulator sends us data containing + ... - - Nudge agent positive along the Y axis + + Raised when the simulator sends us data containing + ... - - Nudge agent negative along the Y axis + + Raised when the simulator sends us data containing + ... - - Nudge agent positive along the Z axis + + Raised when the simulator sends us data containing + ... - - Nudge agent negative along the Z axis + + Raised when the simulator sends us data containing + ... - + + Get this agents Inventory data - + + Callback for inventory item creation finishing + Whether the request to create an inventory + item succeeded or not + Inventory item being created. If success is + false this will be null - - Tell simulator to mark agent as away + + + Callback for an inventory item being create from an uploaded asset + + true if inventory item creation was successful + + + - + + + - + + Reply received when uploading an inventory asset + Has upload been successful + Error message if upload failed + Inventory asset UUID + New asset UUID - + + Delegate that is invoked when script upload is completed + Has upload succeded (note, there still might be compile errors) + Upload status message + Is compilation successful + If compilation failed, list of error messages, null on compilation success + Script inventory UUID + Script's new asset UUID - + + Set to true to accept offer, false to decline it + + + The folder to accept the inventory into, if null default folder for will be used + + + Callback when an inventory object is accepted and received from a + task inventory. This is the callback in which you actually get + the ItemID, as in ObjectOfferedCallback it is null when received + from a task. - + - Returns "always run" value, or changes it by sending a SetAlwaysRunPacket + Throttles the network traffic for various different traffic types. + Access this class through GridClient.Throttle - - The current value of the agent control flags - - - Gets or sets the interval in milliseconds at which - AgentUpdate packets are sent to the current simulator. Setting - this to a non-zero value will also enable the packet sending if - it was previously off, and setting it to zero will disable - - - Gets or sets whether AgentUpdate packets are sent to - the current simulator - - - Reset movement controls every time we send an update - - - - Send an AgentUpdate with the camera set at the current agent - position and pointing towards the heading specified - - Camera rotation in radians - Whether to send the AgentUpdate reliable - or not - - - - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar - - Region coordinates to turn toward - - + - Send new AgentUpdate packet to update our current camera - position and rotation + Default constructor, uses a default high total of 1500 KBps (1536000) - + - Send new AgentUpdate packet to update our current camera - position and rotation + Constructor that decodes an existing AgentThrottle packet in to + individual values - Whether to require server acknowledgement - of this packet + Reference to the throttle data in an AgentThrottle + packet + Offset position to start reading at in the + throttle data + This is generally not needed in clients as the server will + never send a throttle packet to the client - + - Send new AgentUpdate packet to update our current camera - position and rotation + Send an AgentThrottle packet to the current server using the + current values - Whether to require server acknowledgement - of this packet - Simulator to send the update to - + - Builds an AgentUpdate packet entirely from parameters. This - will not touch the state of Self.Movement or - Self.Movement.Camera in any way + Send an AgentThrottle packet to the specified server using the + current values - - - - - - - - - - - - - - - - - - - - - - - + - Used to specify movement actions for your agent + Convert the current throttle values to a byte array that can be put + in an AgentThrottle packet + Byte array containing all the throttle values - - Empty flag - - - Move Forward (SL Keybinding: W/Up Arrow) - - - Move Backward (SL Keybinding: S/Down Arrow) - - - Move Left (SL Keybinding: Shift-(A/Left Arrow)) - - - Move Right (SL Keybinding: Shift-(D/Right Arrow)) - - - Not Flying: Jump/Flying: Move Up (SL Keybinding: E) - - - Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) + + Maximum bits per second for resending unacknowledged packets - - Unused + + Maximum bits per second for LayerData terrain - - Unused + + Maximum bits per second for LayerData wind data - - Unused + + Maximum bits per second for LayerData clouds - - Unused + + Unknown, includes object data - - ORed with AGENT_CONTROL_AT_* if the keyboard is being used + + Maximum bits per second for textures - - ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used + + Maximum bits per second for downloaded assets - - ORed with AGENT_CONTROL_UP_* if the keyboard is being used + + Maximum bits per second the entire connection, divided up + between invidiual streams using default multipliers - - Fly + + + Level of Detail mesh + - + + Sent to the client to indicate a teleport request has completed - - Finish our current animation + + + Interface requirements for Messaging system + - - Stand up from the ground or a prim seat + + The of the agent - - Sit on the ground at our current location + + - - Whether mouselook is currently enabled + + The simulators handle the agent teleported to - - Legacy, used if a key was pressed for less than a certain amount of time + + A Uri which contains a list of Capabilities the simulator supports - - Legacy, used if a key was pressed for less than a certain amount of time + + Indicates the level of access required + to access the simulator, or the content rating, or the simulators + map status - - Legacy, used if a key was pressed for less than a certain amount of time + + The IP Address of the simulator - - Legacy, used if a key was pressed for less than a certain amount of time + + The UDP Port the simulator will listen for UDP traffic on - - Legacy, used if a key was pressed for less than a certain amount of time + + Status flags indicating the state of the Agent upon arrival, Flying, etc. - - Legacy, used if a key was pressed for less than a certain amount of time + + + Serialize the object + + An containing the objects data - + + Deserialize the message + An containing the data - + + Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - - Set when the avatar is idled or set to away. Note that the away animation is - activated separately from setting this flag + + + Serialize the object + + An containing the objects data - + + Deserialize the message + An containing the data - + + Serialize the object + An containing the objects data - + + Deserialize the message + An containing the data - + + Serialize the object + An containing the objects data - + - Called once attachment resource usage information has been collected + Deserialize the message - Indicates if operation was successfull - Attachment resource usage information + An containing the data - - The event subscribers. null if no subcribers + + + A message sent to the client which indicates a teleport request has failed + and contains some information on why it failed + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + A string key of the reason the teleport failed e.g. CouldntTPCloser + Which could be used to look up a value in a dictionary or enum - - Thread sync lock object + + The of the Agent - - The event subscribers. null if no subcribers + + A string human readable message containing the reason + An example: Could not teleport closer to destination - - Thread sync lock object + + + Serialize the object + + An containing the objects data - - The event subscribers. null if no subcribers + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + Serialize the object + + An containing the objects data - - The event subscribers. null if no subcribers + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + Contains a list of prim owner information for a specific parcel in a simulator + + + A Simulator will always return at least 1 entry + If agent does not have proper permission the OwnerID will be UUID.Zero + If agent does not have proper permission OR there are no primitives on parcel + the DataBlocksExtended map will not be sent from the simulator + - - The event subscribers. null if no subcribers + + An Array of objects - - Thread sync lock object + + + Serialize the object + + An containing the objects data - - The event subscribers. null if no subcribers + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + Prim ownership information for a specified owner on a single parcel + - - The event subscribers. null if no subcribers + + The of the prim owner, + UUID.Zero if agent has no permission to view prim owner information - - Thread sync lock object + + The total number of prims - - The event subscribers. null if no subcribers + + True if the OwnerID is a - - Thread sync lock object + + True if the owner is online + This is no longer used by the LL Simulators - - The event subscribers. null if no subcribers + + The date the most recent prim was rezzed - - Thread sync lock object + + + The details of a single parcel in a region, also contains some regionwide globals + - - The event subscribers. null if no subcribers + + Simulator-local ID of this parcel - - Thread sync lock object + + Maximum corner of the axis-aligned bounding box for this + parcel - - The event subscribers. null if no subcribers + + Minimum corner of the axis-aligned bounding box for this + parcel - - Thread sync lock object + + Total parcel land area - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + Key of authorized buyer - - The event subscribers. null if no subcribers + + Bitmap describing land layout in 4x4m squares across the + entire region - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + Date land was claimed - - Thread sync lock object + + Appears to always be zero - - The event subscribers. null if no subcribers + + Parcel Description - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + Total number of primitives owned by the parcel group on + this parcel - - The event subscribers. null if no subcribers + + Whether the land is deeded to a group or not - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + Maximum number of primitives this parcel supports - - Thread sync lock object + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - The event subscribers. null if no subcribers + + A URL which points to any Quicktime supported media type - - Thread sync lock object + + A byte, if 0x1 viewer should auto scale media to fit object - - Reference to the GridClient instance + + URL For Music Stream - - Used for movement and camera tracking + + Parcel Name - - Currently playing animations for the agent. Can be used to - check the current movement status such as walking, hovering, aiming, - etc. by checking against system animations found in the Animations class + + Autoreturn value in minutes for others' objects - - Dictionary containing current Group Chat sessions and members + + - - Raised when a scripted object or agent within range sends a public message + + Total number of other primitives on this parcel - - Raised when a scripted object sends a dialog box containing possible - options an agent can respond to + + UUID of the owner of this parcel - - Raised when an object requests a change in the permissions an agent has permitted + + Total number of primitives owned by the parcel owner on + this parcel - - Raised when a script requests an agent open the specified URL + + - - Raised when an agents currency balance is updated + + How long is pass valid for - - Raised when a transaction occurs involving currency such as a land purchase + + Price for a temporary pass - - Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from - private messaging to friendship offers. The Dialog field defines what type of message has arrived + + - - Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times - for each teleport indicating the progress of the request + + - - Raised when a simulator sends agent specific information for our avatar. + + - - Raised when our agents animation playlist changes + + - - Raised when an object or avatar forcefully collides with our agent + + True if the region denies access to age unverified users - - Raised when our agent crosses a region border into another region + + - - Raised when our agent succeeds or fails to join a group chat session + + This field is no longer used - - Raised when a simulator sends an urgent message usually indication the recent failure of - another action we have attempted to take such as an attempt to enter a parcel where we are denied access + + The result of a request for parcel properties - - Raised when a script attempts to take or release specified controls for our agent + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it - - Raised when the simulator detects our agent is trying to view something - beyond its limits + + + Number of primitives your avatar is currently + selecting and sitting on in this parcel + - - Raised when a script sensor reply is received from a simulator + + - - Raised in response to a request + + + A number which increments by 1, starting at 0 for each ParcelProperties request. + Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. + a Negative number indicates the action in has occurred. + - - Raised when an avatar enters a group chat session we are participating in + + Maximum primitives across the entire simulator - - Raised when an agent exits a group chat session we are participating in + + Total primitives across the entire simulator - - Your (client) avatars - "client", "agent", and "avatar" all represent the same thing + + - - Temporary assigned to this session, used for - verifying our identity in packets + + Key of parcel snapshot - - Shared secret that is never sent over the wire + + Parcel ownership status - - Your (client) avatar ID, local to the current region/sim + + Total number of primitives on this parcel - - Where the avatar started at login. Can be "last", "home" - or a login + + - - The access level of this agent, usually M or PG + + - - The CollisionPlane of Agent + + A description of the media - - An representing the velocity of our agent + + An Integer which represents the height of the media - - An representing the acceleration of our agent + + An integer which represents the width of the media - - A which specifies the angular speed, and axis about which an Avatar is rotating. + + A boolean, if true the viewer should loop the media - - Position avatar client will goto when login to 'home' or during - teleport request to 'home' region. + + A string which contains the mime type of the media - - LookAt point saved/restored with HomePosition + + true to obscure (hide) media url - - Avatar First Name (i.e. Philip) + + true to obscure (hide) music url - - Avatar Last Name (i.e. Linden) + + + Serialize the object + + An containing the objects data - - Avatar Full Name (i.e. Philip Linden) + + + Deserialize the message + + An containing the data - - Gets the health of the agent + + A message sent from the viewer to the simulator to updated a specific parcels settings - - Gets the current balance of the agent + + The of the agent authorized to purchase this + parcel of land or a NULL if the sale is authorized to anyone - - Gets the local ID of the prim the agent is sitting on, - zero if the avatar is not currently sitting + + true to enable auto scaling of the parcel media - - Gets the of the agents active group. + + The category of this parcel used when search is enabled to restrict + search results - - Gets the Agents powers in the currently active group + + A string containing the description to set - - Current status message for teleporting + + The of the which allows for additional + powers and restrictions. - - Current position of the agent as a relative offset from - the simulator, or the parent object if we are sitting on something + + The which specifies how avatars which teleport + to this parcel are handled - - Current rotation of the agent as a relative rotation from - the simulator, or the parent object if we are sitting on something + + The LocalID of the parcel to update settings on - - Current position of the agent in the simulator + + A string containing the description of the media which can be played + to visitors - - - A representing the agents current rotation - + + - - Returns the global grid position of the avatar + + - - Raises the ChatFromSimulator event - A ChatEventArgs object containing the - data returned from the data server + + - - Raises the ScriptDialog event - A SctriptDialogEventArgs object containing the - data returned from the data server + + - - Raises the ScriptQuestion event - A ScriptQuestionEventArgs object containing the - data returned from the data server + + - - Raises the LoadURL event - A LoadUrlEventArgs object containing the - data returned from the data server + + - - Raises the MoneyBalance event - A BalanceEventArgs object containing the - data returned from the data server + + - - Raises the MoneyBalanceReply event - A MoneyBalanceReplyEventArgs object containing the - data returned from the data server + + - - Raises the IM event - A InstantMessageEventArgs object containing the - data returned from the data server + + - - Raises the TeleportProgress event - A TeleportEventArgs object containing the - data returned from the data server + + - - Raises the AgentDataReply event - A AgentDataReplyEventArgs object containing the - data returned from the data server + + - - Raises the AnimationsChanged event - A AnimationsChangedEventArgs object containing the - data returned from the data server + + - - Raises the MeanCollision event - A MeanCollisionEventArgs object containing the - data returned from the data server + + - - Raises the RegionCrossed event - A RegionCrossedEventArgs object containing the - data returned from the data server + + - - Raises the GroupChatJoined event - A GroupChatJoinedEventArgs object containing the - data returned from the data server + + - - Raises the AlertMessage event - A AlertMessageEventArgs object containing the - data returned from the data server + + - - Raises the ScriptControlChange event - A ScriptControlEventArgs object containing the - data returned from the data server + + - - Raises the CameraConstraint event - A CameraConstraintEventArgs object containing the - data returned from the data server + + + Deserialize the message + + An containing the data - - Raises the ScriptSensorReply event - A ScriptSensorReplyEventArgs object containing the - data returned from the data server + + + Serialize the object + + An containing the objects data - - Raises the AvatarSitResponse event - A AvatarSitResponseEventArgs object containing the - data returned from the data server + + Base class used for the RemoteParcelRequest message - - Raises the ChatSessionMemberAdded event - A ChatSessionMemberAddedEventArgs object containing the - data returned from the data server + + + A message sent from the viewer to the simulator to request information + on a remote parcel + - - Raises the ChatSessionMemberLeft event - A ChatSessionMemberLeftEventArgs object containing the - data returned from the data server + + Local sim position of the parcel we are looking up - + + Region handle of the parcel we are looking up + + + Region of the parcel we are looking up + + - Send a text message from the Agent to the Simulator + Serialize the object - A containing the message - The channel to send the message on, 0 is the public channel. Channels above 0 - can be used however only scripts listening on the specified channel will see the message - Denotes the type of message being sent, shout, whisper, etc. + An containing the objects data - + - Request any instant messages sent while the client was offline to be resent. + Deserialize the message + An containing the data - + - Send an Instant Message to another Avatar + A message sent from the simulator to the viewer in response to a + which will contain parcel information - The recipients - A containing the message to send - + + The grid-wide unique parcel ID + + - Send an Instant Message to an existing group chat or conference chat + Serialize the object - The recipients - A containing the message to send - IM session ID (to differentiate between IM windows) + An containing the objects data - + - Send an Instant Message + Deserialize the message - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - IDs of sessions for a conference + An containing the data - + - Send an Instant Message + A message containing a request for a remote parcel from a viewer, or a response + from the simulator to that request - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - Type of instant message to send - Whether to IM offline avatars as well - Senders Position - RegionID Sender is In - Packed binary data that is specific to - the dialog type - + + The request or response details block + + - Send an Instant Message to a group + Serialize the object - - of the group to send message to - Text Message being sent. + An containing the objects data - + - Send an Instant Message to a group the agent is a member of + Deserialize the message - The name this IM will show up as being from - - of the group to send message to - Text message being sent + An containing the data - + - Send a request to join a group chat session + Serialize the object - - of Group to leave + An containing the objects data - + - Exit a group chat session. This will stop further Group chat messages - from being sent until session is rejoined. + Deserialize the message - - of Group chat session to leave + An containing the data - + - Reply to script dialog questions. + Serialize the object - Channel initial request came on - Index of button you're "clicking" - Label of button you're "clicking" - - of Object that sent the dialog request - + An containing the objects data - + - Accept invite for to a chatterbox session + Deserialize the message - - of session to accept invite to + An containing the data - + - Start a friends conference + A message sent from the simulator to an agent which contains + the groups the agent is in - - List of UUIDs to start a conference with - the temportary session ID returned in the callback> - + + The Agent receiving the message + + + An array containing information + for each the agent is a member of + + + An array containing information + for each the agent is a member of + + - Start a particle stream between an agent and an object + Serialize the object - - Key of the source agent - - Key of the target object - - - The type from the enum - A unique for this effect + An containing the objects data - + - Start a particle stream between an agent and an object + Deserialize the message - - Key of the source agent - - Key of the target object - A representing the beams offset from the source - A which sets the avatars lookat animation - - of the Effect + An containing the data - + + Group Details specific to the agent + + + true of the agent accepts group notices + + + The agents tier contribution to the group + + + The Groups + + + The of the groups insignia + + + The name of the group + + + The aggregate permissions the agent has in the group for all roles the agent + is assigned + + + An optional block containing additional agent specific information + + + true of the agent allows this group to be + listed in their profile + + - Create a particle beam between an avatar and an primitive + A message sent from the viewer to the simulator which + specifies the language and permissions for others to detect + the language specified - The ID of source avatar - The ID of the target primitive - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam - - + + A string containng the default language + to use for the agent + + + true of others are allowed to + know the language setting + + - Create a particle swirl around a target position using a packet + Serialize the object - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam + An containing the objects data - + - Sends a request to sit on the specified object + Deserialize the message - - of the object to sit on - Sit at offset + An containing the data - + - Follows a call to to actually sit on the object + An EventQueue message sent from the simulator to an agent when the agent + leaves a group - - Stands up from sitting on a prim or the ground - true of AgentUpdate was sent - - + - Does a "ground sit" at the avatar's current position + An Array containing the AgentID and GroupID - + - Starts or stops flying + Serialize the object - True to start flying, false to stop flying + An containing the objects data - + - Starts or stops crouching + Deserialize the message - True to start crouching, false to stop crouching + An containing the data - + + An object containing the Agents UUID, and the Groups UUID + + + The ID of the Agent leaving the group + + + The GroupID the Agent is leaving + + + Base class for Asset uploads/results via Capabilities + + - Starts a jump (begin holding the jump key) + The request state - + - Use the autopilot sim function to move the avatar to a new - position. Uses double precision to get precise movements + Serialize the object - The z value is currently not handled properly by the simulator - Global X coordinate to move to - Global Y coordinate to move to - Z coordinate to move to + An containing the objects data - + - Use the autopilot sim function to move the avatar to a new position + Deserialize the message - The z value is currently not handled properly by the simulator - Integer value for the global X coordinate to move to - Integer value for the global Y coordinate to move to - Floating-point value for the Z coordinate to move to + An containing the data - + - Use the autopilot sim function to move the avatar to a new position + A message sent from the viewer to the simulator to request a temporary upload capability + which allows an asset to be uploaded - The z value is currently not handled properly by the simulator - Integer value for the local X coordinate to move to - Integer value for the local Y coordinate to move to - Floating-point value for the Z coordinate to move to - - Macro to cancel autopilot sim function - Not certain if this is how it is really done - true if control flags were set and AgentUpdate was sent to the simulator + + The Capability URL sent by the simulator to upload the baked texture to - + - Grabs an object + A message sent from the simulator that will inform the agent the upload is complete, + and the UUID of the uploaded asset - an unsigned integer of the objects ID within the simulator - - - - Overload: Grab a simulated object - - an unsigned integer of the objects ID within the simulator - - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space + + The uploaded texture asset ID - + - Drag an object + A message sent from the viewer to the simulator to request a temporary + capability URI which is used to upload an agents baked appearance textures - - of the object to drag - Drag target in region coordinates - + + Object containing request or response + + - Overload: Drag an object + Serialize the object - - of the object to drag - Drag target in region coordinates - - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space + An containing the objects data - + - Release a grabbed object + Deserialize the message - The Objects Simulator Local ID - - - + An containing the data - + - Release a grabbed object + A message sent from the simulator which indicates the minimum version required for + using voice chat - The Objects Simulator Local ID - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - + + Major Version Required + + + Minor version required + + + The name of the region sending the version requrements + + - Touches an object + Serialize the object - an unsigned integer of the objects ID within the simulator - + An containing the objects data - + - Request the current L$ balance + Deserialize the message + An containing the data - + - Give Money to destination Avatar + A message sent from the simulator to the viewer containing the + voice server URI - UUID of the Target Avatar - Amount in L$ - - - Give Money to destination Avatar - - UUID of the Target Avatar - Amount in L$ - Description that will show up in the - recipients transaction history + + The Parcel ID which the voice server URI applies - + + The name of the region + + + A uri containing the server/channel information + which the viewer can utilize to participate in voice conversations + + - Give L$ to an object + Serialize the object - object to give money to - amount of L$ to give - name of object + An containing the objects data - + - Give L$ to a group + Deserialize the message - group to give money to - amount of L$ to give + An containing the data - + - Give L$ to a group + - group to give money to - amount of L$ to give - description of transaction - + + + + + + + - Pay texture/animation upload fee + Serialize the object + An containing the objects data - + - Pay texture/animation upload fee + Deserialize the message - description of the transaction + An containing the data - + - Give Money to destination Object or Avatar + A message sent by the viewer to the simulator to request a temporary + capability for a script contained with in a Tasks inventory to be updated - UUID of the Target Object/Avatar - Amount in L$ - Reason (Optional normally) - The type of transaction - Transaction flags, mostly for identifying group - transactions - + + Object containing request or response + + - Plays a gesture + Serialize the object - Asset of the gesture + An containing the objects data - + - Mark gesture active + Deserialize the message - Inventory of the gesture - Asset of the gesture + An containing the data - + - Mark gesture inactive + A message sent from the simulator to the viewer to indicate + a Tasks scripts status. - Inventory of the gesture - + + The Asset ID of the script + + + True of the script is compiled/ran using the mono interpreter, false indicates it + uses the older less efficient lsl2 interprter + + + The Task containing the scripts + + + true of the script is in a running state + + - Send an AgentAnimation packet that toggles a single animation on + Serialize the object - The of the animation to start playing - Whether to ensure delivery of this packet or not + An containing the objects data - + - Send an AgentAnimation packet that toggles a single animation off + Deserialize the message - The of a - currently playing animation to stop playing - Whether to ensure delivery of this packet or not + An containing the data - + - Send an AgentAnimation packet that will toggle animations on or off + A message containing the request/response used for updating a gesture + contained with an agents inventory - A list of animation s, and whether to - turn that animation on or off - Whether to ensure delivery of this packet or not - + + Object containing request or response + + - Teleports agent to their stored home location + Serialize the object - true on successful teleport to home location + An containing the objects data - + - Teleport agent to a landmark + Deserialize the message - - of the landmark to teleport agent to - true on success, false on failure + An containing the data - + - Attempt to look up a simulator name and teleport to the discovered - destination + A message request/response which is used to update a notecard contained within + a tasks inventory - Region name to look up - Position to teleport to - True if the lookup and teleport were successful, otherwise - false - + + The of the Task containing the notecard asset to update + + + The notecard assets contained in the tasks inventory + + - Attempt to look up a simulator name and teleport to the discovered - destination + Serialize the object - Region name to look up - Position to teleport to - Target to look at - True if the lookup and teleport were successful, otherwise - false + An containing the objects data - + - Teleport agent to another region + Deserialize the message - handle of region to teleport agent to - - position in destination sim to teleport to - true on success, false on failure - This call is blocking + An containing the data - + - Teleport agent to another region + A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability + which is used to update an asset in an agents inventory - handle of region to teleport agent to - - position in destination sim to teleport to - - direction in destination sim agent will look at - true on success, false on failure - This call is blocking - + - Request teleport to a another simulator + The Notecard AssetID to replace - handle of region to teleport agent to - - position in destination sim to teleport to - + - Request teleport to a another simulator + Serialize the object - handle of region to teleport agent to - - position in destination sim to teleport to - - direction in destination sim agent will look at + An containing the objects data - + - Teleport agent to a landmark + Deserialize the message - - of the landmark to teleport agent to + An containing the data - + - Send a teleport lure to another avatar with default "Join me in ..." invitation message + A message containing the request/response used for updating a notecard + contained with an agents inventory - target avatars to lure - + + Object containing request or response + + - Send a teleport lure to another avatar with custom invitation message + Serialize the object - target avatars to lure - custom message to send with invitation + An containing the objects data - + - Respond to a teleport lure by either accepting it and initiating - the teleport, or denying it + Deserialize the message - - of the avatar sending the lure - true to accept the lure, false to decline it + An containing the data - + - Update agent profile + Serialize the object - - struct containing updated - profile information + An containing the objects data - + - Update agents profile interests + Deserialize the message - selection of interests from struct + An containing the data - + - Set the height and the width of the client window. This is used - by the server to build a virtual camera frustum for our avatar + A message sent from the simulator to the viewer which indicates + an error occurred while attempting to update a script in an agents or tasks + inventory - New height of the viewer window - New width of the viewer window - + + true of the script was successfully compiled by the simulator + + + A string containing the error which occured while trying + to update the script + + + A new AssetID assigned to the script + + - Request the list of muted objects and avatars for this agent + A message sent from the viewer to the simulator + requesting the update of an existing script contained + within a tasks inventory - + + if true, set the script mode to running + + + The scripts InventoryItem ItemID to update + + + A lowercase string containing either "mono" or "lsl2" which + specifies the script is compiled and ran on the mono runtime, or the older + lsl runtime + + + The tasks which contains the script to update + + - Sets home location to agents current position + Serialize the object - will fire an AlertMessage () with - success or failure message + An containing the objects data - + - Move an agent in to a simulator. This packet is the last packet - needed to complete the transition in to a new simulator + Deserialize the message - - Object + An containing the data - + - Reply to script permissions request + A message containing either the request or response used in updating a script inside + a tasks inventory - - Object - - of the itemID requesting permissions - - of the taskID requesting permissions - - list of permissions to allow - + + Object containing request or response + + - Respond to a group invitation by either accepting or denying it + Serialize the object - UUID of the group (sent in the AgentID field of the invite message) - IM Session ID from the group invitation message - Accept the group invitation or deny it + An containing the objects data - + - Requests script detection of objects and avatars + Deserialize the message - name of the object/avatar to search for - UUID of the object or avatar to search for - Type of search from ScriptSensorTypeFlags - range of scan (96 max?) - the arc in radians to search within - an user generated ID to correlate replies with - Simulator to perform search in + An containing the data - + - Create or update profile pick + Response from the simulator to notify the viewer the upload is completed, and + the UUID of the script asset and its compiled status - UUID of the pick to update, or random UUID to create a new pick - Is this a top pick? (typically false) - UUID of the parcel (UUID.Zero for the current parcel) - Name of the pick - Global position of the pick landmark - UUID of the image displayed with the pick - Long description of the pick - + + The uploaded texture asset ID + + + true of the script was compiled successfully + + - Delete profile pick + A message sent from a viewer to the simulator requesting a temporary uploader capability + used to update a script contained in an agents inventory - UUID of the pick to delete - + + The existing asset if of the script in the agents inventory to replace + + + The language of the script + Defaults to lsl version 2, "mono" might be another possible option + + - Create or update profile Classified + Serialize the object - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Global position of the classified landmark - Name of the classified - Long description of the classified - if true, auto renew classified after expiration + An containing the objects data - + - Create or update profile Classified + Deserialize the message - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Name of the classified - Long description of the classified - if true, auto renew classified after expiration + An containing the data - + - Delete a classified ad + A message containing either the request or response used in updating a script inside + an agents inventory - The classified ads ID - + + Object containing request or response + + - Fetches resource usage by agents attachmetns + Serialize the object - Called when the requested information is collected + An containing the objects data - + - Take an incoming ImprovedInstantMessage packet, auto-parse, and if - OnInstantMessage is defined call that with the appropriate arguments + Deserialize the message - The sender - The EventArgs object containing the packet data + An containing the data - + - Take an incoming Chat packet, auto-parse, and if OnChat is defined call - that with the appropriate arguments. + Serialize the object - The sender - The EventArgs object containing the packet data + An containing the objects data - + - Used for parsing llDialogs + Deserialize the message - The sender - The EventArgs object containing the packet data + An containing the data - + + Base class for Map Layers via Capabilities + + + + + - Used for parsing llRequestPermissions dialogs + Serialize the object - The sender - The EventArgs object containing the packet data + An containing the objects data - + - Handles Script Control changes when Script with permissions releases or takes a control + Deserialize the message - The sender - The EventArgs object containing the packet data + An containing the data - + - Used for parsing llLoadURL Dialogs + Sent by an agent to the capabilities server to request map layers - The sender - The EventArgs object containing the packet data - + - Update client's Position, LookAt and region handle from incoming packet + A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates - The sender - The EventArgs object containing the packet data - This occurs when after an avatar moves into a new sim - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + An array containing LayerData items - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Serialize the object + + An containing the objects data - + - Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. + Deserialize the message - The Message Key - An IMessage object Deserialized from the recieved message event - The simulator originating the event message + An containing the data - + - Process TeleportFinish from Event Queue and pass it onto our TeleportHandler + An object containing map location details - The message system key for this event - IMessage object containing decoded data from OSD - The simulator originating the event message - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The Asset ID of the regions tile overlay - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The grid location of the southern border of the map tile - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The grid location of the western border of the map tile - - - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet + + The grid location of the eastern border of the map tile - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - This packet is now being sent via the EventQueue + + The grid location of the northern border of the map tile - + + Object containing request or response + + - Group Chat event handler + Serialize the object - The capability Key - IMessage object containing decoded data from OSD - - + An containing the objects data - + - Response from request to join a group chat + Deserialize the message - - - IMessage object containing decoded data from OSD - - + An containing the data - + - Someone joined or left group chat + New as of 1.23 RC1, no details yet. - - - IMessage object containing decoded data from OSD - - - + - Handle a group chat Invitation + Serialize the object - Caps Key - IMessage object containing decoded data from OSD - Originating Simulator + An containing the objects data - + - Moderate a chat session + Deserialize the message - the of the session to moderate, for group chats this will be the groups UUID - the of the avatar to moderate - Either "voice" to moderate users voice, or "text" to moderate users text session - true to moderate (silence user), false to allow avatar to speak - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + An containing the data - + + Serialize the object + An containing the objects data - + - Construct a new instance of the ChatEventArgs object + Deserialize the message - Sim from which the message originates - The message sent - The audible level of the message - The type of message sent: whisper, shout, etc - The source type of the message sender - The name of the agent or object sending the message - The ID of the agent or object sending the message - The ID of the object owner, or the agent ID sending the message - The position of the agent or object sending the message + An containing the data - - Get the simulator sending the message + + A string containing the method used - - Get the message sent + + + A request sent from an agent to the Simulator to begin a new conference. + Contains a list of Agents which will be included in the conference + - - Get the audible level of the message + + An array containing the of the agents invited to this conference - - Get the type of message sent: whisper, shout, etc + + The conferences Session ID - - Get the source type of the message sender + + + Serialize the object + + An containing the objects data - - Get the name of the agent or object sending the message + + + Deserialize the message + + An containing the data - - Get the ID of the agent or object sending the message + + + A moderation request sent from a conference moderator + Contains an agent and an optional action to take + - - Get the ID of the object owner, or the agent ID sending the message + + The Session ID - - Get the position of the agent or object sending the message + + - - Contains the data sent when a primitive opens a dialog with this agent + + A list containing Key/Value pairs, known valid values: + key: text value: true/false - allow/disallow specified agents ability to use text in session + key: voice value: true/false - allow/disallow specified agents ability to use voice in session + + "text" or "voice" - + + + + - Construct a new instance of the ScriptDialogEventArgs + Serialize the object - The dialog message - The name of the object that sent the dialog request - The ID of the image to be displayed - The ID of the primitive sending the dialog - The first name of the senders owner - The last name of the senders owner - The communication channel the dialog was sent on - The string labels containing the options presented in this dialog + An containing the objects data - - Get the dialog message + + + Deserialize the message + + An containing the data - - Get the name of the object that sent the dialog request + + + A message sent from the agent to the simulator which tells the + simulator we've accepted a conference invitation + - - Get the ID of the image to be displayed + + The conference SessionID - - Get the ID of the primitive sending the dialog + + + Serialize the object + + An containing the objects data - - Get the first name of the senders owner + + + Deserialize the message + + An containing the data - - Get the last name of the senders owner + + + Serialize the object + + An containing the objects data - - Get the communication channel the dialog was sent on, responses - should also send responses on this same channel + + + Deserialize the message + + An containing the data - - Get the string labels containing the options presented in this dialog + + + Serialize the object + + An containing the objects data - - Contains the data sent when a primitive requests debit or other permissions - requesting a YES or NO answer + + + Deserialize the message + + An containing the data - + - Construct a new instance of the ScriptQuestionEventArgs + Serialize the object - The simulator containing the object sending the request - The ID of the script making the request - The ID of the primitive containing the script making the request - The name of the primitive making the request - The name of the owner of the object making the request - The permissions being requested + An containing the objects data - - Get the simulator containing the object sending the request + + + Deserialize the message + + An containing the data - - Get the ID of the script making the request + + Key of sender - - Get the ID of the primitive containing the script making the request + + Name of sender - - Get the name of the primitive making the request + + Key of destination avatar - - Get the name of the owner of the object making the request + + ID of originating estate - - Get the permissions being requested + + Key of originating region - - Contains the data sent when a primitive sends a request - to an agent to open the specified URL + + Coordinates in originating region - - - Construct a new instance of the LoadUrlEventArgs - - The name of the object sending the request - The ID of the object sending the request - The ID of the owner of the object sending the request - True if the object is owned by a group - The message sent with the request - The URL the object sent + + Instant message type - - Get the name of the object sending the request + + Group IM session toggle - - Get the ID of the object sending the request + + Key of IM session, for Group Messages, the groups UUID - - Get the ID of the owner of the object sending the request + + Timestamp of the instant message - - True if the object is owned by a group + + Instant message text - - Get the message sent with the request + + Whether this message is held for offline avatars - - Get the URL the object sent + + Context specific packed data - - The date received from an ImprovedInstantMessage + + Is this invitation for voice group/conference chat - + - Construct a new instance of the InstantMessageEventArgs object + Serialize the object - the InstantMessage object - the simulator where the InstantMessage origniated + An containing the objects data - - Get the InstantMessage object + + + Deserialize the message + + An containing the data - - Get the simulator where the InstantMessage origniated + + + Sent from the simulator to the viewer. + + When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including + a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate + this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" + + During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are + excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with + the string "ENTER" or "LEAVE" respectively. + - - Contains the currency balance + + + Serialize the object + + An containing the objects data - + - Construct a new BalanceEventArgs object + Deserialize the message - The currenct balance + An containing the data - + - Get the currenct balance + An EventQueue message sent when the agent is forcibly removed from a chatterbox session - - Contains the transaction summary when an item is purchased, - money is given, or land is purchased + + + A string containing the reason the agent was removed + - + - Construct a new instance of the MoneyBalanceReplyEventArgs object + The ChatterBoxSession's SessionID - The ID of the transaction - True of the transaction was successful - The current currency balance - The meters credited - The meters comitted - A brief description of the transaction - - - Get the ID of the transaction - - - True of the transaction was successful - - - Get the remaining currency balance - - - Get the meters credited - - - Get the meters comitted - - - Get the description of the transaction - - - Data sent from the simulator containing information about your agent and active group information - + - Construct a new instance of the AgentDataReplyEventArgs object + Serialize the object - The agents first name - The agents last name - The agents active group ID - The group title of the agents active group - The combined group powers the agent has in the active group - The name of the group the agent has currently active - - - Get the agents first name - - - Get the agents last name - - - Get the active group ID of your agent - - - Get the active groups title of your agent + An containing the objects data - - Get the combined group powers of your agent + + + Deserialize the message + + An containing the data - - Get the active group name of your agent + + + Serialize the object + + An containing the objects data - - Data sent by the simulator to indicate the active/changed animations - applied to your agent + + + Deserialize the message + + An containing the data - + - Construct a new instance of the AnimationsChangedEventArgs class + Serialize the object - The dictionary that contains the changed animations + An containing the objects data - - Get the dictionary that contains the changed animations + + + Deserialize the message + + An containing the data - + - Data sent from a simulator indicating a collision with your agent + Serialize the object + An containing the objects data - + - Construct a new instance of the MeanCollisionEventArgs class + Deserialize the message - The type of collision that occurred - The ID of the agent or object that perpetrated the agression - The ID of the Victim - The strength of the collision - The Time the collision occurred + An containing the data - - Get the Type of collision + + + Serialize the object + + An containing the objects data - - Get the ID of the agent or object that collided with your agent + + + Deserialize the message + + An containing the data - - Get the ID of the agent that was attacked + + + + - - A value indicating the strength of the collision + + + Serialize the object + + An containing the objects data - - Get the time the collision occurred + + + Deserialize the message + + An containing the data - - Data sent to your agent when it crosses region boundaries + + + Serialize the object + + An containing the objects data - + - Construct a new instance of the RegionCrossedEventArgs class + Deserialize the message - The simulator your agent just left - The simulator your agent is now in + An containing the data - - Get the simulator your agent just left + + + Serialize the object + + An containing the objects data - - Get the simulator your agent is now in + + + Deserialize the message + + An containing the data - - Data sent from the simulator when your agent joins a group chat session + + + A message sent from the viewer to the simulator which + specifies that the user has changed current URL + of the specific media on a prim face + - + - Construct a new instance of the GroupChatJoinedEventArgs class + New URL - The ID of the session - The name of the session - A temporary session id used for establishing new sessions - True of your agent successfully joined the session - - Get the ID of the group chat session + + + Prim UUID where navigation occured + - - Get the name of the session + + + Face index + - - Get the temporary session ID used for establishing new sessions + + + Serialize the object + + An containing the objects data - - True if your agent successfully joined the session + + + Deserialize the message + + An containing the data - - Data sent by the simulator containing urgent messages + + Base class used for the ObjectMedia message - + - Construct a new instance of the AlertMessageEventArgs class + Message used to retrive prim media data - The alert message - - Get the alert message + + + Prim UUID + - - Data sent by a script requesting to take or release specified controls to your agent + + + Requested operation, either GET or UPDATE + - + - Construct a new instance of the ScriptControlEventArgs class + Serialize object - The controls the script is attempting to take or release to the agent - True if the script is passing controls back to the agent - True if the script is requesting controls be released to the script + Serialized object as OSDMap - - Get the controls the script is attempting to take or release to the agent + + + Deserialize the message + + An containing the data - - True if the script is passing controls back to the agent + + + Message used to update prim media data + - - True if the script is requesting controls be released to the script + + + Prim UUID + - + - Data sent from the simulator to an agent to indicate its view limits + Array of media entries indexed by face number - + - Construct a new instance of the CameraConstraintEventArgs class + Media version string - The collision plane - - Get the collision plane + + + Serialize object + + Serialized object as OSDMap - + - Data containing script sensor requests which allow an agent to know the specific details - of a primitive sending script sensor requests + Deserialize the message + An containing the data - + - Construct a new instance of the ScriptSensorReplyEventArgs + Message used to update prim media data - The ID of the primitive sending the sensor - The ID of the group associated with the primitive - The name of the primitive sending the sensor - The ID of the primitive sending the sensor - The ID of the owner of the primitive sending the sensor - The position of the primitive sending the sensor - The range the primitive specified to scan - The rotation of the primitive sending the sensor - The type of sensor the primitive sent - The velocity of the primitive sending the sensor - - Get the ID of the primitive sending the sensor + + + Prim UUID + - - Get the ID of the group associated with the primitive + + + Array of media entries indexed by face number + - - Get the name of the primitive sending the sensor + + + Requested operation, either GET or UPDATE + - - Get the ID of the primitive sending the sensor + + + Serialize object + + Serialized object as OSDMap - - Get the ID of the owner of the primitive sending the sensor + + + Deserialize the message + + An containing the data - - Get the position of the primitive sending the sensor + + + Message for setting or getting per face MediaEntry + - - Get the range the primitive specified to scan + + The request or response details block - - Get the rotation of the primitive sending the sensor + + + Serialize the object + + An containing the objects data - - Get the type of sensor the primitive sent + + + Deserialize the message + + An containing the data - - Get the velocity of the primitive sending the sensor + + Details about object resource usage - - Contains the response data returned from the simulator in response to a + + Object UUID - - Construct a new instance of the AvatarSitResponseEventArgs object + + Object name - - Get the ID of the primitive the agent will be sitting on + + Indicates if object is group owned - - True if the simulator Autopilot functions were involved + + Locatio of the object - - Get the camera offset of the agent when seated + + Object owner - - Get the camera eye offset of the agent when seated + + Resource usage, keys are resource names, values are resource usage for that specific resource - - True of the agent will be in mouselook mode when seated + + + Deserializes object from OSD + + An containing the data - - Get the position of the agent when seated + + + Makes an instance based on deserialized data + + serialized data + Instance containg deserialized data - - Get the rotation of the agent when seated + + Details about parcel resource usage - - Data sent when an agent joins a chat session your agent is currently participating in + + Parcel UUID - + + Parcel local ID + + + Parcel name + + + Indicates if parcel is group owned + + + Parcel owner + + + Array of containing per object resource usage + + - Construct a new instance of the ChatSessionMemberAddedEventArgs object + Deserializes object from OSD - The ID of the chat session - The ID of the agent joining + An containing the data - - Get the ID of the chat session + + + Makes an instance based on deserialized data + + serialized data + Instance containg deserialized data - - Get the ID of the agent that joined + + Resource usage base class, both agent and parcel resource + usage contains summary information - - Data sent when an agent exits a chat session your agent is currently participating in + + Summary of available resources, keys are resource names, + values are resource usage for that specific resource - + + Summary resource usage, keys are resource names, + values are resource usage for that specific resource + + - Construct a new instance of the ChatSessionMemberLeftEventArgs object + Serializes object - The ID of the chat session - The ID of the Agent that left + serialized data - - Get the ID of the chat session + + + Deserializes object from OSD + + An containing the data - - Get the ID of the agent that left + + Agent resource usage - + + Per attachment point object resource usage + + - Throttles the network traffic for various different traffic types. - Access this class through GridClient.Throttle + Deserializes object from OSD + An containing the data - + - Default constructor, uses a default high total of 1500 KBps (1536000) + Makes an instance based on deserialized data + serialized data + Instance containg deserialized data - + - Constructor that decodes an existing AgentThrottle packet in to - individual values + Detects which class handles deserialization of this message - Reference to the throttle data in an AgentThrottle - packet - Offset position to start reading at in the - throttle data - This is generally not needed in clients as the server will - never send a throttle packet to the client + An containing the data + Object capable of decoding this message - - Maximum bits per second for resending unacknowledged packets + + Request message for parcel resource usage - - Maximum bits per second for LayerData terrain + + UUID of the parel to request resource usage info - - Maximum bits per second for LayerData wind data + + + Serializes object + + serialized data - - Maximum bits per second for LayerData clouds + + + Deserializes object from OSD + + An containing the data - - Unknown, includes object data + + Response message for parcel resource usage - - Maximum bits per second for textures + + URL where parcel resource usage details can be retrieved - - Maximum bits per second for downloaded assets + + URL where parcel resource usage summary can be retrieved - - Maximum bits per second the entire connection, divided up - between invidiual streams using default multipliers + + + Serializes object + + serialized data - + - Send an AgentThrottle packet to the current server using the - current values + Deserializes object from OSD + An containing the data - + - Send an AgentThrottle packet to the specified server using the - current values + Detects which class handles deserialization of this message + An containing the data + Object capable of decoding this message - + + Parcel resource usage + + + Array of containing per percal resource usage + + - Convert the current throttle values to a byte array that can be put - in an AgentThrottle packet + Deserializes object from OSD - Byte array containing all the throttle values + An containing the data - + - Static pre-defined animations available to all agents + Abstract base for rendering plugins - - Agent with afraid expression on face - - - Agent aiming a bazooka (right handed) + + + Generates a basic mesh structure from a primitive + + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - - Agent aiming a bow (left handed) + + + Generates a basic mesh structure from a sculpted primitive and + texture + + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - - Agent aiming a hand gun (right handed) + + + Generates a series of faces, each face containing a mesh and + metadata + + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - - Agent aiming a rifle (right handed) + + + Generates a series of faces for a sculpted prim, each face + containing a mesh and metadata + + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - - Agent with angry expression on face + + + Apply texture coordinate modifications from a + to a list of vertices + + Vertex list to modify texture coordinates for + Center-point of the face + Face texture parameters - - Agent hunched over (away) + + + Capability to load TGAs to Bitmap + - - Agent doing a backflip + + + Represents a Wearable Asset, Clothing, Hair, Skin, Etc + - - Agent laughing while holding belly + + A string containing the name of the asset - - Agent blowing a kiss + + A string containing a short description of the asset - - Agent with bored expression on face + + The Assets WearableType - - Agent bowing to audience + + The For-Sale status of the object - - Agent brushing himself/herself off + + An Integer representing the purchase price of the asset - - Agent in busy mode + + The of the assets creator - - Agent clapping hands + + The of the assets current owner - - Agent doing a curtsey bow + + The of the assets prior owner - - Agent crouching + + The of the Group this asset is set to - - Agent crouching while walking + + True if the asset is owned by a - - Agent crying + + The Permissions mask of the asset - - Agent unanimated with arms out (e.g. setting appearance) + + A Dictionary containing Key/Value pairs of the objects parameters - - Agent re-animated after set appearance finished + + A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - - Agent dancing + + Initializes a new instance of an AssetWearable object - - Agent dancing + + Initializes a new instance of an AssetWearable object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - Agent dancing + + + Decode an assets byte encoded data to a string + + true if the asset data was decoded successfully - - Agent dancing + + + Encode the assets string represantion into a format consumable by the asset server + - - Agent dancing + + + The InternalDictionary class is used through the library for storing key/value pairs. + It is intended to be a replacement for the generic Dictionary class and should + be used in its place. It contains several methods for allowing access to the data from + outside the library that are read only and thread safe. + + + Key + Value - - Agent dancing + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + on this member - - Agent dancing + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); + + - - Agent dancing + + + Initializes a new instance of the Class + with the specified key/value, has its initial valies copied from the specified + + + + to copy initial values from + + + // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. + // populates with copied values from example KeyNameCache Dictionary. + + // create source dictionary + Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); + KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); + KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); + + // Initialize new dictionary. + public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); + + - - Agent on ground unanimated + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); + + - - Agent boozing it up + + + Try to get entry from with specified key + + Key to use for lookup + Value returned + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + - - Agent with embarassed expression on face + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + - - Agent with afraid expression on face + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + - - Agent with angry expression on face + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + - - Agent with bored expression on face + + Perform an on each entry in an + to perform + + + // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + if (prim.Text != null) + { + Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", + prim.PropertiesFamily.Name, prim.ID, prim.Text); + } + }); + + - - Agent crying + + Perform an on each key of an + to perform - - Agent showing disdain (dislike) for something + + + Perform an on each KeyValuePair of an + + to perform - - Agent with embarassed expression on face + + Check if Key exists in Dictionary + Key to check for + if found, otherwise - - Agent with frowning expression on face + + Check if Value exists in Dictionary + Value to check for + if found, otherwise - - Agent with kissy face + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + + The key + The value - - Agent expressing laughgter - - - Agent with open mouth - - - Agent with repulsed expression on face - - - Agent expressing sadness - - - Agent shrugging shoulders - - - Agent with a smile - - - Agent expressing surprise - - - Agent sticking tongue out + + + Removes the specified key, dictionary locking is not performed + + The key. + if successful, otherwise - - Agent with big toothy smile + + + Gets the number of Key/Value pairs contained in the + - - Agent winking + + + Indexer for the dictionary + + The key + The value - - Agent expressing worry + + + Temporary code to produce a tar archive in tar v7 format + - - Agent falling down + + + Binary writer for the underlying stream + - - Agent walking (feminine version) + + + Write a directory entry to the tar archive. We can only handle one path level right now! + + - - Agent wagging finger (disapproval) + + + Write a file to the tar archive + + + - - I'm not sure I want to know + + + Write a file to the tar archive + + + - - Agent in superman position + + + Finish writing the raw tar archive data to a stream. The stream will be closed on completion. + - - Agent in superman position + + + Write a particular entry + + + + - - Agent greeting another + + + Temporary code to do the bare minimum required to read a tar archive for our purposes + - - Agent holding bazooka (right handed) + + + Binary reader for the underlying stream + - - Agent holding a bow (left handed) + + + Used to trim off null chars + - - Agent holding a handgun (right handed) + + + Used to trim off space chars + - - Agent holding a rifle (right handed) + + + Generate a tar reader which reads from the given stream. + + - - Agent throwing an object (right handed) + + + Read the next entry in the tar file. + + + + the data for the entry. Returns null if there are no more entries - - Agent in static hover + + + Read the next 512 byte chunk of data as a tar header. + + A tar header struct. null if we have reached the end of the archive. - - Agent hovering downward + + + Read data following a header + + + - - Agent hovering upward + + + Convert octal bytes to a decimal representation + + + + + - - Agent being impatient + + + The current status of a texture request as it moves through the pipeline or final result of a texture request. + - - Agent jumping + + The initial state given to a request. Requests in this state + are waiting for an available slot in the pipeline - - Agent jumping with fervor + + A request that has been added to the pipeline and the request packet + has been sent to the simulator - - Agent point to lips then rear end + + A request that has received one or more packets back from the simulator - - Agent landing from jump, finished flight, etc + + A request that has received all packets back from the simulator - - Agent laughing + + A request that has taken longer than + to download OR the initial packet containing the packet information was never received - - Agent landing from jump, finished flight, etc + + The texture request was aborted by request of the agent - - Agent sitting on a motorcycle + + The simulator replied to the request that it was not able to find the requested texture - + + A callback fired to indicate the status or final state of the requested texture. For progressive + downloads this will fire each time new asset data is returned from the simulator. + The indicating either Progress for textures not fully downloaded, + or the final result of the request after it has been processed through the TexturePipeline + The object containing the Assets ID, raw data + and other information. For progressive rendering the will contain + the data from the beginning of the file. For failed, aborted and timed out requests it will contain + an empty byte array. - - Agent moving head side to side - - - Agent moving head side to side with unhappy expression - - - Agent taunting another - - + + Texture request download handler, allows a configurable number of download slots which manage multiple + concurrent texture downloads from the + This class makes full use of the internal + system for full texture downloads. - - Agent giving peace sign - - - Agent pointing at self - - - Agent pointing at another - - - Agent preparing for jump (bending knees) + + A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID + and also the Asset Texture ID, and the value is an object containing the current state of the request and also + the asset data as it is being re-assembled - - Agent punching with left hand + + Holds the reference to the client object - - Agent punching with right hand + + Maximum concurrent texture requests allowed at a time - - Agent acting repulsed + + An array of objects used to manage worker request threads - - Agent trying to be Chuck Norris + + An array of worker slots which shows the availablity status of the slot - - Rocks, Paper, Scissors 1, 2, 3 + + The primary thread which manages the requests. - - Agent with hand flat over other hand + + true if the TexturePipeline is currently running - - Agent with fist over other hand + + A synchronization object used by the primary thread - - Agent with two fingers spread over other hand + + A refresh timer used to increase the priority of stalled requests - - Agent running + + + Default constructor, Instantiates a new copy of the TexturePipeline class + + Reference to the instantiated object - - Agent appearing sad + + + Initialize callbacks required for the TexturePipeline to operate + - - Agent saluting + + + Shutdown the TexturePipeline and cleanup any callbacks or transfers + - - Agent shooting bow (left handed) - - - Agent cupping mouth as if shouting - - - Agent shrugging shoulders - - - Agent in sit position - - - Agent in sit position (feminine) - - - Agent in sit position (generic) - - - Agent sitting on ground - - - Agent sitting on ground - - + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request - - Agent sleeping on side + + + Sends the actual request packet to the simulator + + The image to download + Type of the image to download, either a baked + avatar texture or a normal texture + Priority level of the download. Default is + 1,013,000.0f + Number of quality layers to discard. + This controls the end marker of the data sent + Packet number to start the download at. + This controls the start marker of the data sent + Sending a priority of 0 and a discardlevel of -1 aborts + download - - Agent smoking + + + Cancel a pending or in process texture request + + The texture assets unique ID - - Agent inhaling smoke + + + Master Download Thread, Queues up downloads in the threadpool + - + + The worker thread that sends the request and handles timeouts + A object containing the request details - - Agent taking a picture + + + Handle responses from the simulator that tell us a texture we have requested is unable to be located + or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use + + The sender + The EventArgs object containing the packet data - - Agent standing + + + Handles the remaining Image data that did not fit in the initial ImageData packet + + The sender + The EventArgs object containing the packet data - - Agent standing up + + + Handle the initial ImageDataPacket sent from the simulator + + The sender + The EventArgs object containing the packet data - - Agent standing + + Current number of pending and in-process transfers - - Agent standing + + + A request task containing information and status of a request as it is processed through the + - - Agent standing + + The current which identifies the current status of the request - - Agent standing + + The Unique Request ID, This is also the Asset ID of the texture being requested - - Agent stretching + + The slot this request is occupying in the threadpoolSlots array - - Agent in stride (fast walk) + + The ImageType of the request. - - Agent surfing + + The callback to fire when the request is complete, will include + the and the + object containing the result data - - Agent acting surprised + + If true, indicates the callback will be fired whenever new data is returned from the simulator. + This is used to progressively render textures as portions of the texture are received. - - Agent striking with a sword + + An object that maintains the data of an request thats in-process. - - Agent talking (lips moving) + + X position of this patch - - Agent throwing a tantrum + + Y position of this patch - - Agent throwing an object (right handed) + + A 16x16 array of floats holding decompressed layer data - - Agent trying on a shirt + + + Creates a LayerData packet for compressed land data given a full + simulator heightmap and an array of indices of patches to compress + + A 256 * 256 array of floating point values + specifying the height at each meter in the simulator + Array of indexes in the 16x16 grid of patches + for this simulator. For example if 1 and 17 are specified, patches + x=1,y=0 and x=1,y=1 are sent + - - Agent turning to the left + + + Add a patch of terrain to a BitPacker + + BitPacker to write the patch to + Heightmap of the simulator, must be a 256 * + 256 float array + X offset of the patch to create, valid values are + from 0 to 15 + Y offset of the patch to create, valid values are + from 0 to 15 - - Agent turning to the right + + + + - - Agent typing + + + + - - Agent walking + + - - Agent whispering + + - - Agent whispering with fingers in mouth + + - - Agent winking + + - - Agent winking + + - - Agent worried + + - - Agent nodding yes + + + + - - Agent nodding yes with happy face + + + + - - Agent floating with legs and arms crossed + + + Initialize the UDP packet handler in server mode + + Port to listening for incoming UDP packets on - + - A dictionary containing all pre-defined animations + Initialize the UDP packet handler in client mode - A dictionary containing the pre-defined animations, - where the key is the animations ID, and the value is a string - containing a name to identify the purpose of the animation + Remote UDP server to connect to - + - Index of TextureEntry slots for avatar appearances + - + - Bake layers for avatar appearance + - + - Default constructor + - A reference to our agent - + - Contains information about a wearable inventory item + Type of return to use when returning objects from a parcel - - Inventory ItemID of the wearable + + - - AssetID of the wearable asset + + Return objects owned by parcel owner - - WearableType of the wearable + + Return objects set to group - - AssetType of the wearable + + Return objects not owned by parcel owner or set to group - - Asset data for the wearable + + Return a specific list of objects on parcel - + + Return objects that are marked for-sale + + - Data collected from visual params for each wearable - needed for the calculation of the color - - - - - Holds a texture assetID and the data needed to bake this layer into - an outfit texture. Used to keep track of currently worn textures - and baking data + Blacklist/Whitelist flags used in parcels Access List - - A texture AssetID - - - Asset data for the texture + + Agent is denied access - - Collection of alpha masks that needs applying + + Agent is granted access - - Tint that should be applied to the texture + + + The result of a request for parcel properties + - - Maximum number of concurrent downloads for wearable assets and textures + + No matches were found for the request - - Maximum number of concurrent uploads for baked textures + + Request matched a single parcel - - Timeout for fetching inventory listings + + Request matched multiple parcels - - Timeout for fetching a single wearable, or receiving a single packet response + + + Flags used in the ParcelAccessListRequest packet to specify whether + we want the access list (whitelist), ban list (blacklist), or both + - - Timeout for fetching a single texture + + Request the access list - - Timeout for uploading a single baked texture + + Request the ban list - - Number of times to retry bake upload + + Request both White and Black lists - - When changing outfit, kick off rebake after - 20 seconds has passed since the last change + + + Sequence ID in ParcelPropertiesReply packets (sent when avatar + tries to cross a parcel border) + - - Total number of wearables for each avatar + + Parcel is currently selected - - Total number of baked textures on each avatar + + Parcel restricted to a group the avatar is not a + member of - - Total number of wearables per bake layer + + Avatar is banned from the parcel - - Total number of textures on an avatar, baked or not + + Parcel is restricted to an access list that the + avatar is not on - - Mapping between BakeType and AvatarTextureIndex + + Response to hovering over a parcel - - Map of what wearables are included in each bake + + + The tool to use when modifying terrain levels + - - Magic values to finalize the cache check hashes for each - bake + + Level the terrain - - Default avatar texture, used to detect when a custom - texture is not set for a face + + Raise the terrain - - The event subscribers. null if no subcribers + + Lower the terrain - - Thread sync lock object + + Smooth the terrain - - The event subscribers. null if no subcribers + + Add random noise to the terrain - - Thread sync lock object + + Revert terrain to simulator default - - The event subscribers. null if no subcribers + + + The tool size to use when changing terrain levels + - - Thread sync lock object + + Small - - The event subscribers. null if no subcribers + + Medium - - Thread sync lock object + + Large - - A cache of wearables currently being worn + + + Reasons agent is denied access to a parcel on the simulator + - - A cache of textures currently being worn + + Agent is not denied, access is granted - - Incrementing serial number for AgentCachedTexture packets + + Agent is not a member of the group set for the parcel, or which owns the parcel - - Incrementing serial number for AgentSetAppearance packets + + Agent is not on the parcels specific allow list - - Indicates whether or not the appearance thread is currently - running, to prevent multiple appearance threads from running - simultaneously + + Agent is on the parcels ban list - - Reference to our agent + + Unknown - - - Timer used for delaying rebake on changing outfit - + + Agent is not age verified and parcel settings deny access to non age verified avatars - + - Main appearance thread + Parcel overlay type. This is used primarily for highlighting and + coloring which is why it is a single integer instead of a set of + flags + These values seem to be poorly thought out. The first three + bits represent a single value, not flags. For example Auction (0x05) is + not a combination of OwnedByOther (0x01) and ForSale(0x04). However, + the BorderWest and BorderSouth values are bit flags that get attached + to the value stored in the first three bits. Bits four, five, and six + are unused - - Triggered when an AgentWearablesUpdate packet is received, - telling us what our avatar is currently wearing - request. + + Public land - - Raised when an AgentCachedTextureResponse packet is - received, giving a list of cached bakes that were found on the - simulator - request. + + Land is owned by another avatar - - - Raised when appearance data is sent to the simulator, also indicates - the main appearance thread is finished. - - request. - - - Triggered when the simulator requests the agent rebake its appearance. - - + + Land is owned by a group - - - Returns true if AppearanceManager is busy and trying to set or change appearance will fail - + + Land is owned by the current avatar - - Raises the AgentWearablesReply event - An AgentWearablesReplyEventArgs object containing the - data returned from the data server + + Land is for sale - - Raises the CachedBakesReply event - An AgentCachedBakesReplyEventArgs object containing the - data returned from the data server AgentCachedTextureResponse + + Land is being auctioned - - Raises the AppearanceSet event - An AppearanceSetEventArgs object indicating if the operatin was successfull + + To the west of this area is a parcel border - - Raises the RebakeAvatarRequested event - An RebakeAvatarTexturesEventArgs object containing the - data returned from the data server + + To the south of this area is a parcel border - + - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread + Various parcel properties - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - - Unused parameter + + No flags set - - - Starts the appearance setting thread - + + Allow avatars to fly (a client-side only restriction) - - - Starts the appearance setting thread - - True to force rebaking, otherwise false + + Allow foreign scripts to run - - - Ask the server what textures our agent is currently wearing - + + This parcel is for sale - - - Build hashes out of the texture assetIDs for each baking layer to - ask the simulator whether it has cached copies of each baked texture - + + Allow avatars to create a landmark on this parcel - - - Returns the AssetID of the asset that is currently being worn in a - given WearableType slot - - WearableType slot to get the AssetID for - The UUID of the asset being worn in the given slot, or - UUID.Zero if no wearable is attached to the given slot or wearables - have not been downloaded yet + + Allows all avatars to edit the terrain on this parcel - - - Add a wearable to the current outfit and set appearance - - Wearable to be added to the outfit + + Avatars have health and can take damage on this parcel. + If set, avatars can be killed and sent home here - - - Add a list of wearables to the current outfit and set appearance - - List of wearable inventory items to - be added to the outfit + + Foreign avatars can create objects here - - - Remove a wearable from the current outfit and set appearance - - Wearable to be removed from the outfit + + All objects on this parcel can be purchased - - - Removes a list of wearables from the current outfit and set appearance - - List of wearable inventory items to - be removed from the outfit + + Access is restricted to a group - - - Replace the current outfit with a list of wearables and set appearance - - List of wearable inventory items that - define a new outfit + + Access is restricted to a whitelist - - - Checks if an inventory item is currently being worn - - The inventory item to check against the agent - wearables - The WearableType slot that the item is being worn in, - or WearbleType.Invalid if it is not currently being worn + + Ban blacklist is enabled - - - Returns a copy of the agents currently worn wearables - - A copy of the agents currently worn wearables - Avoid calling this function multiple times as it will make - a copy of all of the wearable data each time + + Unknown - - - Calls either or - depending on the value of - replaceItems - - List of wearable inventory items to add - to the outfit or become a new outfit - True to replace existing items with the - new list of items, false to add these items to the existing outfit + + List this parcel in the search directory - - - Adds a list of attachments to our agent - - A List containing the attachments to add - If true, tells simulator to remove existing attachment - first + + Allow personally owned parcels to be deeded to group - - - Attach an item to our agent at a specific attach point - - A to attach - the on the avatar - to attach the item to + + If Deeded, owner contributes required tier to group parcel is deeded to - - - Attach an item to our agent specifying attachment details - - The of the item to attach - The attachments owner - The name of the attachment - The description of the attahment - The to apply when attached - The of the attachment - The on the agent - to attach the item to + + Restrict sounds originating on this parcel to the + parcel boundaries - - - Detach an item from our agent using an object - - An object + + Objects on this parcel are sold when the land is + purchsaed - - - Detach an item from our agent - - The inventory itemID of the item to detach + + Allow this parcel to be published on the web - - - Inform the sim which wearables are part of our current outfit - + + The information for this parcel is mature content - - - Replaces the Wearables collection with a list of new wearable items - - Wearable items to replace the Wearables collection with + + The media URL is an HTML page - - - Calculates base color/tint for a specific wearable - based on its params - - All the color info gathered from wearable's VisualParams - passed as list of ColorParamInfo tuples - Base color/tint for the wearable + + The media URL is a raw HTML string - - - Blocking method to populate the Wearables dictionary - - True on success, otherwise false + + Restrict foreign object pushes - - - Blocking method to populate the Textures array with cached bakes - - True on success, otherwise false + + Ban all non identified/transacted avatars - - - Populates textures and visual params from a decoded asset - - Wearable to decode + + Allow group-owned scripts to run - - - Blocking method to download and parse currently worn wearable assets - - True on success, otherwise false + + Allow object creation by group members or group + objects - - - Get a list of all of the textures that need to be downloaded for a - single bake layer - - Bake layer to get texture AssetIDs for - A list of texture AssetIDs to download + + Allow all objects to enter this parcel - - - Helper method to lookup the TextureID for a single layer and add it - to a list if it is not already present - - - - - + + Only allow group and owner objects to enter this parcel - - - Blocking method to download all of the textures needed for baking - the given bake layers - - A list of layers that need baking - No return value is given because the baking will happen - whether or not all textures are successfully downloaded + + Voice Enabled on this parcel - - - Blocking method to create and upload baked textures for all of the - missing bakes - - True on success, otherwise false + + Use Estate Voice channel for Voice on this parcel - - - Blocking method to create and upload a baked texture for a single - bake layer - - Layer to bake - True on success, otherwise false + + Deny Age Unverified Users - + - Blocking method to upload a baked texture + Parcel ownership status - Five channel JPEG2000 texture data to upload - UUID of the newly created asset on success, otherwise UUID.Zero - - - Creates a dictionary of visual param values from the downloaded wearables - - A dictionary of visual param indices mapping to visual param - values for our agent that can be fed to the Baker class + + Placeholder - - - Create an AgentSetAppearance packet from Wearables data and the - Textures array and send it - + + Parcel is leased (owned) by an avatar or group - + + Parcel is in process of being leased (purchased) by an avatar or group + + + Parcel has been abandoned back to Governor Linden + + - Converts a WearableType to a bodypart or clothing WearableType + Category parcel is listed in under search - A WearableType - AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - - - Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - - A BakeType - The AvatarTextureIndex slot that holds the given BakeType + + No assigned category - - - Gives the layer number that is used for morph mask - - >A BakeType - Which layer number as defined in BakeTypeToTextures is used for morph mask + + Linden Infohub or public area - - - Converts a BakeType to a list of the texture slots that make up that bake - - A BakeType - A list of texture slots that are inputs for the given bake + + Adult themed area - - Contains the Event data returned from the data server from an AgentWearablesRequest + + Arts and Culture - - Construct a new instance of the AgentWearablesReplyEventArgs class + + Business - - Contains the Event data returned from the data server from an AgentCachedTextureResponse + + Educational - - Construct a new instance of the AgentCachedBakesReplyEventArgs class + + Gaming - - Contains the Event data returned from an AppearanceSetRequest + + Hangout or Club - - - Triggered when appearance data is sent to the sim and - the main appearance thread is done. - Indicates whether appearance setting was successful + + Newcomer friendly - - Indicates whether appearance setting was successful + + Parks and Nature - - Contains the Event data returned from the data server from an RebakeAvatarTextures + + Residential - - - Triggered when the simulator sends a request for this agent to rebake - its appearance - - The ID of the Texture Layer to bake + + Shopping - - The ID of the Texture Layer to bake + + Not Used? - - - Class that handles the local asset cache - + + Other - - - Default constructor - - A reference to the GridClient object + + Not an actual category, only used for queries - + - Helper class for sorting files by their last accessed time + Type of teleport landing for a parcel - - - Allows setting weather to periodicale prune the cache if it grows too big - Default is enabled, when caching is enabled - + + Unset, simulator default - - - How long (in ms) between cache checks (default is 5 min.) - + + Specific landing point set for this parcel - - - Disposes cleanup timer - + + No landing point set, direct teleports enabled for + this parcel - + - Only create timer when needed + Parcel Media Command used in ParcelMediaCommandMessage - - - Return bytes read from the local asset cache, null if it does not exist - - UUID of the asset we want to get - Raw bytes of the asset, or null on failure + + Stop the media stream and go back to the first frame - - - Returns ImageDownload object of the - image from the local image cache, null if it does not exist - - UUID of the image we want to get - ImageDownload object containing the image, or null on failure + + Pause the media stream (stop playing but stay on current frame) - - - Constructs a file name of the cached asset - - UUID of the asset - String with the file name of the cahced asset + + Start the current media stream playing and stop when the end is reached - - - Saves an asset to the local cache - - UUID of the asset - Raw bytes the asset consists of - Weather the operation was successfull + + Start the current media stream playing, + loop to the beginning when the end is reached and continue to play - - - Get the file name of the asset stored with gived UUID - - UUID of the asset - Null if we don't have that UUID cached on disk, file name if found in the cache folder + + Specifies the texture to replace with video + If passing the key of a texture, it must be explicitly typecast as a key, + not just passed within double quotes. - - - Checks if the asset exists in the local cache - - UUID of the asset - True is the asset is stored in the cache, otherwise false + + Specifies the movie URL (254 characters max) - - - Wipes out entire cache - + + Specifies the time index at which to begin playing - - - Brings cache size to the 90% of the max size - + + Specifies a single agent to apply the media command to - - - Asynchronously brings cache size to the 90% of the max size - + + Unloads the stream. While the stop command sets the texture to the first frame of the movie, + unload resets it to the real texture that the movie was replacing. - - - Adds up file sizes passes in a FileInfo array - + + Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties + (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. - - - Checks whether caching is enabled - + + Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). + Use "text/html" for HTML. - - - Periodically prune the cache - + + Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). + This might still not be working - - - Nicely formats file sizes - - Byte size we want to output - String with humanly readable file size + + Sets a description for the media being displayed (1.19.1 RC0 and later only). - + + Some information about a parcel of land returned from a DirectoryManager search - - OK + + Global Key of record - - Transfer completed + + Parcel Owners - - - + + Name field of parcel, limited to 128 characters - - - + + Description field of parcel, limited to 256 characters - - Unknown error occurred + + Total Square meters of parcel - - Equivalent to a 404 error + + Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - Client does not have permission for that resource + + True of parcel is in Mature simulator - - Unknown status + + Grid global X position of parcel - - - + + Grid global Y position of parcel - - - + + Grid global Z position of parcel (not used) - - Unknown + + Name of simulator parcel is located in - - Virtually all asset transfers use this channel + + Texture of parcels display picture - - - + + Float representing calculated traffic based on time spent on parcel by avatars - + + Sale price of parcel (not used) + + + Auction ID of parcel + + + Parcel Media Information - - Asset from the asset server + + A byte, if 0x1 viewer should auto scale media to fit object - - Inventory item + + A boolean, if true the viewer should loop the media - - Estate asset, such as an estate covenant + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - - + + A URL which points to any Quicktime supported media type - - - + + A description of the media - - - + + An Integer which represents the height of the media - - - + + An integer which represents the width of the media - - - + + A string which contains the mime type of the media - + + Parcel of land, a portion of virtual real estate in a simulator - - - + + The total number of contiguous 4x4 meter blocks your agent owns within this parcel - - - Image file format - + + The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own - - - + + Deprecated, Value appears to always be 0 - - Number of milliseconds passed since the last transfer - packet was received + + Simulator-local ID of this parcel - - - + + UUID of the owner of this parcel - - - + + Whether the land is deeded to a group or not - - - + + - - - + + Date land was claimed - - - + + Appears to always be zero - - - - - - - - - - - + + This field is no longer used - - - + + Minimum corner of the axis-aligned bounding box for this + parcel - - - Default constructor - - A reference to the GridClient object + + Maximum corner of the axis-aligned bounding box for this + parcel - - - Callback used for various asset download requests - - Transfer information - Downloaded asset, null on fail + + Bitmap describing land layout in 4x4m squares across the + entire region - - - Callback used upon competition of baked texture upload - - Asset UUID of the newly uploaded baked texture + + Total parcel land area - - Number of milliseconds to wait for a transfer header packet if out of order data was received + + - - The event subscribers. null if no subcribers + + Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used - - Thread sync lock object + + Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel + owned by the agent or group that owns this parcel - - The event subscribers. null if no subcribers + + Maximum number of primitives this parcel supports - - Thread sync lock object + + Total number of primitives on this parcel - - The event subscribers. null if no subcribers + + For group-owned parcels this indicates the total number of prims deeded to the group, + for parcels owned by an individual this inicates the number of prims owned by the individual - - Thread sync lock object + + Total number of primitives owned by the parcel group on + this parcel, or for parcels owned by an individual with a group set the + total number of prims set to that group. - - The event subscribers. null if no subcribers + + Total number of prims owned by other avatars that are not set to group, or not the parcel owner - - Thread sync lock object + + A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect + the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed - - The event subscribers. null if no subcribers + + Autoreturn value in minutes for others' objects - - Thread sync lock object + + - - Texture download cache + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it - - Raised when the simulator responds sends + + Parcel Name - - Raised during upload completes + + Parcel Description - - Raised during upload with progres update + + URL For Music Stream - - Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files + + - - Fired when a texture is in the process of being downloaded by the TexturePipeline class + + Price for a temporary pass - - Raises the XferReceived event - A XferReceivedEventArgs object containing the - data returned from the simulator + + How long is pass valid for - - Raises the AssetUploaded event - A AssetUploadedEventArgs object containing the - data returned from the simulator + + - - Raises the UploadProgress event - A UploadProgressEventArgs object containing the - data returned from the simulator + + Key of authorized buyer - - Raises the InitiateDownload event - A InitiateDownloadEventArgs object containing the - data returned from the simulator + + Key of parcel snapshot - - Raises the ImageReceiveProgress event - A ImageReceiveProgressEventArgs object containing the - data returned from the simulator + + The landing point location - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - The callback to fire when the simulator responds with the asset data + + The landing point LookAt - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - The callback to fire when the simulator responds with the asset data + + The type of landing enforced from the enum - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - UUID of the transaction - The callback to fire when the simulator responds with the asset data + + - - - Request an asset download through the almost deprecated Xfer system - - Filename of the asset to request - Whether or not to delete the asset - off the server after it is retrieved - Use large transfer packets or not - UUID of the file to request, if filename is - left empty - Asset type of vFileID, or - AssetType.Unknown if filename is not empty - Sets the FilePath in the request to Cache - (4) if true, otherwise Unknown (0) is used - - + + - - - - Use UUID.Zero if you do not have the - asset ID but have all the necessary permissions - The item ID of this asset in the inventory - Use UUID.Zero if you are not requesting an - asset from an object inventory - The owner of this asset - Asset type - Whether to prioritize this asset download or not - - + + - - - Used to force asset data into the PendingUpload property, ie: for raw terrain uploads - - An AssetUpload object containing the data to upload to the simulator + + Access list of who is whitelisted on this + parcel - - - Request an asset be uploaded to the simulator - - The Object containing the asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + + Access list of who is blacklisted on this + parcel - - - Request an asset be uploaded to the simulator - - The of the asset being uploaded - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + + TRUE of region denies access to age unverified users - - - Request an asset be uploaded to the simulator - - - - Asset type to upload this data as - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + + true to obscure (hide) media url - - - Initiate an asset upload - - The ID this asset will have if the - upload succeeds - Asset type to upload this data as - Raw asset data to upload - Whether to store this asset on the local - simulator or the grid-wide asset server - The tranaction id for the upload - The transaction ID of this transfer + + true to obscure (hide) music url - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress - transfer. - A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority - indicating an off-by-one error. - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - Request an image and fire a callback when the request is complete - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - - Request an image and use an inline anonymous method to handle the downloaded texture data - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - ); - - Request a texture, decode the texture to a bitmap image and apply it to a imagebox - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - ManagedImage imgData; - Image bitmap; - if (state == TextureRequestState.Finished) - { - OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); - picInsignia.Image = bitmap; - } - } - } - + + A struct containing media details - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Displays a parcel object in string format - The of the texture asset to download - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data + string containing key=value pairs of a parcel object - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Defalt constructor - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data + Local ID of this parcel - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Update the simulator with any local changes to this Parcel object - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request + Simulator to send updates to + Whether we want the simulator to confirm + the update with a reply packet or not - + - Cancel a texture request + Set Autoreturn time - The texture assets + Simulator to send the update to - + - Lets TexturePipeline class fire the progress event + Parcel (subdivided simulator lots) subsystem - The texture ID currently being downloaded - the number of bytes transferred - the total number of bytes expected - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raises the ParcelDwellReply event + A ParcelDwellReplyEventArgs object containing the + data returned from the simulator - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raises the ParcelInfoReply event + A ParcelInfoReplyEventArgs object containing the + data returned from the simulator - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Raises the ParcelProperties event + A ParcelPropertiesEventArgs object containing the + data returned from the simulator - - Xfer data + + Thread sync lock object - - Upload data + + The event subscribers. null if no subcribers - - Filename used on the simulator + + Raises the ParcelAccessListReply event + A ParcelAccessListReplyEventArgs object containing the + data returned from the simulator - - Filename used by the client + + Thread sync lock object - - UUID of the image that is in progress + + The event subscribers. null if no subcribers - - Number of bytes received so far + + Raises the ParcelObjectOwnersReply event + A ParcelObjectOwnersReplyEventArgs object containing the + data returned from the simulator - - Image size in bytes + + Thread sync lock object - - - Avatar profile flags - + + The event subscribers. null if no subcribers - - - Represents an avatar (other than your own) - + + Raises the SimParcelsDownloaded event + A SimParcelsDownloadedEventArgs object containing the + data returned from the simulator - - - Default constructor - + + Thread sync lock object - - - Positive and negative ratings - + + The event subscribers. null if no subcribers - - Positive ratings for Behavior + + Raises the ForceSelectObjectsReply event + A ForceSelectObjectsReplyEventArgs object containing the + data returned from the simulator - - Negative ratings for Behavior + + Thread sync lock object - - Positive ratings for Appearance + + The event subscribers. null if no subcribers - - Negative ratings for Appearance + + Raises the ParcelMediaUpdateReply event + A ParcelMediaUpdateReplyEventArgs object containing the + data returned from the simulator - - Positive ratings for Building + + Thread sync lock object - - Negative ratings for Building + + The event subscribers. null if no subcribers - - Positive ratings given by this avatar + + Raises the ParcelMediaCommand event + A ParcelMediaCommandEventArgs object containing the + data returned from the simulator - - Negative ratings given by this avatar + + Thread sync lock object - + - Avatar properties including about text, profile URL, image IDs and - publishing settings + Default constructor + A reference to the GridClient object - - First Life about text - - - First Life image ID - - + + Request basic information for a single parcel + Simulator-local ID of the parcel - + + Request properties of a single parcel + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + multiple simultaneous requests - + + Request the access list for a single parcel + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelAccessList reply, useful for distinguishing between + multiple simultaneous requests + - + + Request properties of parcels using a bounding box selection + Simulator containing the parcel + Northern boundary of the parcel selection + Eastern boundary of the parcel selection + Southern boundary of the parcel selection + Western boundary of the parcel selection + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + different types of parcel property requests + A boolean that is returned with the + ParcelProperties reply, useful for snapping focus to a single + parcel - - Profile image ID - - - Flags of the profile - - - Web URL for this profile - - - Should this profile be published on the web - - - Avatar Online Status - - - Is this a mature profile - - + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + Simulator to request parcels from (must be connected) - + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + Simulator to request parcels from (must be connected) + If TRUE, will force a full refresh + Number of milliseconds to pause in between each request - + - Avatar interests including spoken languages, skills, and "want to" - choices + Request the dwell value for a parcel + Simulator containing the parcel + Simulator-local ID of the parcel - - Languages profile field - - + + Send a request to Purchase a parcel of land + The Simulator the parcel is located in + The parcels region specific local ID + true if this parcel is being purchased by a group + The groups + true to remove tier contribution if purchase is successful + The parcels size + The purchase price of the parcel + - + + Reclaim a parcel of land + The simulator the parcel is in + The parcels region specific local ID - + + Deed a parcel to a group + The simulator the parcel is in + The parcels region specific local ID + The groups - + + Request prim owners of a parcel of land. + Simulator parcel is in + The parcels region specific local ID - - Groups that this avatar is a member of - - - Positive and negative ratings - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - - - Avatar interests including spoken languages, skills, and "want to" - choices - - - Movement control flags for avatars. Typically not set or used by - clients. To move your avatar, use Client.Self.Movement instead - - + - Contains the visual parameters describing the deformation of the avatar + Return objects from a parcel + Simulator parcel is in + The parcels region specific local ID + the type of objects to return, + A list containing object owners s to return - - First name - - - Last name - - - Full name - - - Active group - - + - Holds group information for Avatars such as those you might find in a profile + Subdivide (split) a parcel + + + + + - - true of Avatar accepts group notices - - - Groups Key - - - Texture Key for groups insignia - - - Name of the group - - - Powers avatar has in the group - - - Avatars Currently selected title - - - true of Avatar has chosen to list this in their profile - - + - Contains an animation currently being played by an agent + Join two parcels of land creating a single parcel + + + + + - - The ID of the animation asset - - - A number to indicate start order of currently playing animations - On Linden Grids this number is unique per region, with OpenSim it is per client - - + + Get a parcels LocalID + Simulator parcel is in + Vector3 position in simulator (Z not used) + 0 on failure, or parcel LocalID on success. + A call to Parcels.RequestAllSimParcels is required to populate map and + dictionary. - + - Holds group information on an individual profile pick + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - Retrieve friend status notifications, and retrieve avatar names and - profiles + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - Represents other avatars + Terraform (raise, lower, etc) an area or whole parcel of land - - + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - - The event subscribers, null of no subscribers + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + Height at which the terraform operation is acting at - - Thread sync lock object + + + Sends a request to the simulator to return a list of objects owned by specific owners + + Simulator local ID of parcel + Owners, Others, Etc + List containing keys of avatars objects to select; + if List is null will return Objects of type selectType + Response data is returned in the event - - The event subscribers, null of no subscribers + + + Eject and optionally ban a user from a parcel + + target key of avatar to eject + true to also ban target - - Thread sync lock object + + + Freeze or unfreeze an avatar over your land + + target key to freeze + true to freeze, false to unfreeze - - The event subscribers, null of no subscribers + + + Abandon a parcel of land + + Simulator parcel is in + Simulator local ID of parcel - - Thread sync lock object + + + Requests the UUID of the parcel in a remote region at a specified location + + Location of the parcel in the remote region + Remote region handle + Remote region UUID + If successful UUID of the remote parcel, UUID.Zero otherwise - - The event subscribers, null of no subscribers + + + Retrieves information on resources used by the parcel + + UUID of the parcel + Should per object resource usage be requested + Callback invoked when the request is complete - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - The event subscribers, null of no subscribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - The event subscribers, null of no subscribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - The event subscribers, null of no subscribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - The event subscribers, null of no subscribers + + Raised when the simulator responds to a request - - Thread sync lock object + + Raised when the simulator responds to a request - - The event subscribers, null of no subscribers + + Raised when the simulator responds to a request - - Thread sync lock object + + Raised when the simulator responds to a request - - The event subscribers, null of no subscribers + + Raised when the simulator responds to a request - - Thread sync lock object + + Raised when the simulator responds to a request - - The event subscribers, null of no subscribers + + Raised when the simulator responds to a request - - Thread sync lock object + + Raised when the simulator responds to a Parcel Update request - - The event subscribers, null of no subscribers + + Raised when the parcel your agent is located sends a ParcelMediaCommand - - Thread sync lock object + + + Parcel Accesslist + - - The event subscribers, null of no subscribers + + Agents - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + Flags for specific entry in white/black lists - - Thread sync lock object + + + Owners of primitives on parcel + - - Raised when the simulator sends us data containing - an agents animation playlist + + Prim Owners - - Raised when the simulator sends us data containing - the appearance information for an agent + + True of owner is group - - Raised when the simulator sends us data containing - agent names/id values + + Total count of prims owned by OwnerID - - Raised when the simulator sends us data containing - the interests listed in an agents profile + + true of OwnerID is currently online and is not a group - - Raised when the simulator sends us data containing - profile property information for an agent + + The date of the most recent prim left by OwnerID - - Raised when the simulator sends us data containing - the group membership an agent is a member of + + + Called once parcel resource usage information has been collected + + Indicates if operation was successfull + Parcel resource usage information - - Raised when the simulator sends us data containing - name/id pair + + Contains a parcels dwell data returned from the simulator in response to an - - Raised when the simulator sends us data containing - the objects and effect when an agent is pointing at + + + Construct a new instance of the ParcelDwellReplyEventArgs class + + The global ID of the parcel + The simulator specific ID of the parcel + The calculated dwell for the parcel - - Raised when the simulator sends us data containing - the objects and effect when an agent is looking at + + Get the global ID of the parcel - - Raised when the simulator sends us data containing - an agents viewer effect information + + Get the simulator specific ID of the parcel - - Raised when the simulator sends us data containing - the top picks from an agents profile + + Get the calculated dwell - - Raised when the simulator sends us data containing - the Pick details + + Contains basic parcel information data returned from the + simulator in response to an request - - Raised when the simulator sends us data containing - the classified ads an agent has placed + + + Construct a new instance of the ParcelInfoReplyEventArgs class + + The object containing basic parcel info - - Raised when the simulator sends us data containing - the details of a classified ad + + Get the object containing basic parcel info - - Raises the AvatarAnimation Event - An AvatarAnimationEventArgs object containing - the data sent from the simulator + + Contains basic parcel information data returned from the simulator in response to an request - - Raises the AvatarAppearance Event - A AvatarAppearanceEventArgs object containing - the data sent from the simulator + + + Construct a new instance of the ParcelPropertiesEventArgs class + + The object containing the details + The object containing the details + The result of the request + The number of primitieves your agent is + currently selecting and or sitting on in this parcel + The user assigned ID used to correlate a request with + these results + TODO: - - Raises the UUIDNameReply Event - A UUIDNameReplyEventArgs object containing - the data sent from the simulator + + Get the simulator the parcel is located in - - Raises the AvatarInterestsReply Event - A AvatarInterestsReplyEventArgs object containing - the data sent from the simulator + + Get the object containing the details + If Result is NoData, this object will not contain valid data - - Raises the AvatarPropertiesReply Event - A AvatarPropertiesReplyEventArgs object containing - the data sent from the simulator + + Get the result of the request - - Raises the AvatarGroupsReply Event - A AvatarGroupsReplyEventArgs object containing - the data sent from the simulator + + Get the number of primitieves your agent is + currently selecting and or sitting on in this parcel - - Raises the AvatarPickerReply Event - A AvatarPickerReplyEventArgs object containing - the data sent from the simulator + + Get the user assigned ID used to correlate a request with + these results - - Raises the ViewerEffectPointAt Event - A ViewerEffectPointAtEventArgs object containing - the data sent from the simulator + + TODO: - - Raises the ViewerEffectLookAt Event - A ViewerEffectLookAtEventArgs object containing - the data sent from the simulator + + Contains blacklist and whitelist data returned from the simulator in response to an request - - Raises the ViewerEffect Event - A ViewerEffectEventArgs object containing - the data sent from the simulator + + + Construct a new instance of the ParcelAccessListReplyEventArgs class + + The simulator the parcel is located in + The user assigned ID used to correlate a request with + these results + The simulator specific ID of the parcel + TODO: + The list containing the white/blacklisted agents for the parcel - - Raises the AvatarPicksReply Event - A AvatarPicksReplyEventArgs object containing - the data sent from the simulator + + Get the simulator the parcel is located in - - Raises the PickInfoReply Event - A PickInfoReplyEventArgs object containing - the data sent from the simulator + + Get the user assigned ID used to correlate a request with + these results - - Raises the AvatarClassifiedReply Event - A AvatarClassifiedReplyEventArgs object containing - the data sent from the simulator + + Get the simulator specific ID of the parcel - - Raises the ClassifiedInfoReply Event - A ClassifiedInfoReplyEventArgs object containing - the data sent from the simulator + + TODO: - - Tracks the specified avatar on your map - Avatar ID to track + + Get the list containing the white/blacklisted agents for the parcel - - - Request a single avatar name - - The avatar key to retrieve a name for + + Contains blacklist and whitelist data returned from the + simulator in response to an request - + - Request a list of avatar names + Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - The avatar keys to retrieve names for + The simulator the parcel is located in + The list containing prim ownership counts - - - Start a request for Avatar Properties - - - + + Get the simulator the parcel is located in - - - Search for an avatar (first name, last name) - - The name to search for - An ID to associate with this query + + Get the list containing prim ownership counts - + + Contains the data returned when all parcel data has been retrieved from a simulator + + - Start a request for Avatar Picks + Construct a new instance of the SimParcelsDownloadedEventArgs class - UUID of the avatar + The simulator the parcel data was retrieved from + The dictionary containing the parcel data + The multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - + + Get the simulator the parcel data was retrieved from + + + A dictionary containing the parcel data where the key correlates to the ParcelMap entry + + + Get the multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + + + Contains the data returned when a request + + - Start a request for Avatar Classifieds + Construct a new instance of the ForceSelectObjectsReplyEventArgs class - UUID of the avatar + The simulator the parcel data was retrieved from + The list of primitive IDs + true if the list is clean and contains the information + only for a given request - + + Get the simulator the parcel data was retrieved from + + + Get the list of primitive IDs + + + true if the list is clean and contains the information + only for a given request + + + Contains data when the media data for a parcel the avatar is on changes + + - Start a request for details of a specific profile pick + Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - UUID of the avatar - UUID of the profile pick + the simulator the parcel media data was updated in + The updated media information - + + Get the simulator the parcel media data was updated in + + + Get the updated media information + + + Contains the media command for a parcel the agent is currently on + + - Start a request for details of a specific profile classified + Construct a new instance of the ParcelMediaCommandEventArgs class - UUID of the avatar - UUID of the profile classified + The simulator the parcel media command was issued in + + + The media command that was sent + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Get the simulator the parcel media command was issued in - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Get the media command that was sent - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - + - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. + Singleton logging class for the entire library - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + log4net logging engine - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Default constructor + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Send a log message to the logging engine + + The log message + The severity of the log entry - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Exception that was raised - - Provides data for the event - The event occurs when the simulator sends - the animation playlist for an agent - - The following code example uses the and - properties to display the animation playlist of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; - private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) - { - // create a dictionary of "known" animations from the Animations class using System.Reflection - Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); - Type type = typeof(Animations); - System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); - foreach (System.Reflection.FieldInfo field in fields) - { - systemAnimations.Add((UUID)field.GetValue(type), field.Name); - } - // find out which animations being played are known animations and which are assets - foreach (Animation animation in e.Animations) - { - if (systemAnimations.ContainsKey(animation.AnimationID)) - { - Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, - systemAnimations[animation.AnimationID], animation.AnimationSequence); - } - else - { - Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, - animation.AnimationID, animation.AnimationSequence); - } - } - } - + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client + Exception that was raised - + - Construct a new instance of the AvatarAnimationEventArgs class + If the library is compiled with DEBUG defined, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine - The ID of the agent - The list of animations to start + The message to log at the DEBUG level to the + current logging engine - - Get the ID of the agent + + + If the library is compiled with DEBUG defined and + GridClient.Settings.DEBUG is true, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine + Instance of the client - - Get the list of animations to start + + Triggered whenever a message is logged. If this is left + null, log messages will go to the console - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - + + + Callback used for client apps to receive log messages from + the library + + Data being logged + The severity of the log entry from - + - Construct a new instance of the AvatarAppearanceEventArgs class + Map layer request type - The simulator request was from - The ID of the agent - true of the agent is a trial account - The default agent texture - The agents appearance layer textures - The for the agent - - Get the Simulator this request is from of the agent + + Objects and terrain are shown - - Get the ID of the agent + + Only the terrain is shown, no objects - - true if the agent is a trial account + + Overlay showing land for sale and for auction - - Get the default agent texture + + + Type of grid item, such as telehub, event, populator location, etc. + - - Get the agents appearance layer textures + + Telehub - - Get the for the agent + + PG rated event - - Represents the interests from the profile of an agent + + Mature rated event - - Get the ID of the agent + + Popular location - - The properties of an agent + + Locations of avatar groups in a region - - Get the ID of the agent + + Land for sale - - Get the ID of the agent + + Classified ad - - Get the ID of the agent + + Adult rated event - - Get the ID of the avatar + + Adult land for sale - + - Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. + Information about a region on the grid map - - - Searialize an animation asset into it's joints/keyframes/meta data - - - + + Sim X position on World Map - - - Rotation Keyframe count (used internally) - + + Sim Y position on World Map - - - Position Keyframe count (used internally) - + + Sim Name (NOTE: In lowercase!) - - - Animation Priority - + + - + + Appears to always be zero (None) + + + Sim's defined Water Height + + + + + + UUID of the World Map image + + + Unique identifier for this region, a combination of the X + and Y position + + - The animation length in seconds. + + - + - Expression set in the client. Null if [None] is selected + + - + - The time in seconds to start the animation + + + - + - The time in seconds to end the animation + Visual chunk of the grid map - + - Loop the animation + Base class for Map Items - + + The Global X position of the item + + + The Global Y position of the item + + + Get the Local X position of the item + + + Get the Local Y position of the item + + + Get the Handle of the region + + - Meta data. Ease in Seconds. + Represents an agent or group of agents location - + - Meta data. Ease out seconds. + Represents a Telehub location - + - Meta Data for the Hand Pose + Represents a non-adult parcel of land for sale - + - Number of joints defined in the animation + Represents an Adult parcel of land for sale - + - Contains an array of joints + Represents a PG Event - + - Variable length strings seem to be null terminated in the animation asset.. but.. - use with caution, home grown. - advances the index. + Represents a Mature event - The animation asset byte array - The offset to start reading - a string - + - Read in a Joint from an animation asset byte array - Variable length Joint fields, yay! - Advances the index + Represents an Adult event - animation asset byte array - Byte Offset of the start of the joint - The Joint data serialized into the binBVHJoint structure - + - Read Keyframes of a certain type - advance i + Manages grid-wide tasks such as the world map - Animation Byte array - Offset in the Byte Array. Will be advanced - Number of Keyframes - Scaling Min to pass to the Uint16ToFloat method - Scaling Max to pass to the Uint16ToFloat method - - - - - A Joint and it's associated meta data and keyframes - + + The event subscribers. null if no subcribers - - - Name of the Joint. Matches the avatar_skeleton.xml in client distros - + + Raises the CoarseLocationUpdate event + A CoarseLocationUpdateEventArgs object containing the + data sent by simulator - - - Joint Animation Override? Was the same as the Priority in testing.. - + + Thread sync lock object - - - Array of Rotation Keyframes in order from earliest to latest - + + The event subscribers. null if no subcribers - - - Array of Position Keyframes in order from earliest to latest - This seems to only be for the Pelvis? - + + Raises the GridRegion event + A GridRegionEventArgs object containing the + data sent by simulator - - - A Joint Keyframe. This is either a position or a rotation. - + + Thread sync lock object - - - Either a Vector3 position or a Vector3 Euler rotation - + + The event subscribers. null if no subcribers - - - Poses set in the animation metadata for the hands. - + + Raises the GridLayer event + A GridLayerEventArgs object containing the + data sent by simulator - - - Wrapper around a byte array that allows bit to be packed and unpacked - one at a time or by a variable amount. Useful for very tightly packed - data like LayerData packets - + + Thread sync lock object - - - Default constructor, initialize the bit packer / bit unpacker - with a byte array and starting position - - Byte array to pack bits in to or unpack from - Starting position in the byte array + + The event subscribers. null if no subcribers - - - + + Raises the GridItems event + A GridItemEventArgs object containing the + data sent by simulator - - - + + Thread sync lock object - - - + + The event subscribers. null if no subcribers - - - Pack a floating point value in to the data - - Floating point value to pack + + Raises the RegionHandleReply event + A RegionHandleReplyEventArgs object containing the + data sent by simulator - - - Pack part or all of an integer in to the data - - Integer containing the data to pack - Number of bits of the integer to pack + + Thread sync lock object - - - Pack part or all of an unsigned integer in to the data - - Unsigned integer containing the data to pack - Number of bits of the integer to pack + + A dictionary of all the regions, indexed by region name - - - Pack a single bit in to the data - - Bit to pack + + A dictionary of all the regions, indexed by region handle - + + Constructor - - - - - - - - + Instance of GridClient object to associate with this GridManager instance - + + - - + - + + Request a map layer - - + The name of the region + The type of layer - + - Unpacking a floating point value from the data + - Unpacked floating point value + + + + + + - + - Unpack a variable number of bits from the data in to integer format + - Number of bits to unpack - An integer containing the unpacked bits - This function is only useful up to 32 bits + + + + + - + - Unpack a variable number of bits from the data in to unsigned - integer format + - Number of bits to unpack - An unsigned integer containing the unpacked bits - This function is only useful up to 32 bits + + + - + - Unpack a 16-bit signed integer + Request data for all mainland (Linden managed) simulators - 16-bit signed integer - + - Unpack a 16-bit unsigned integer + Request the region handle for the specified region UUID - 16-bit unsigned integer + UUID of the region to look up - + - Unpack a 32-bit signed integer + Get grid region information using the region name, this function + will block until it can find the region or gives up - 32-bit signed integer + Name of sim you're looking for + Layer that you are requesting + Will contain a GridRegion for the sim you're + looking for if successful, otherwise an empty structure + True if the GridRegion was successfully fetched, otherwise + false - - - Unpack a 32-bit unsigned integer - - 32-bit unsigned integer + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Capabilities is the name of the bi-directional HTTP REST protocol - used to communicate non real-time transactions such as teleporting or - group messaging - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Default constructor - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Triggered when an event is received via the EventQueueGet - capability - - Event name - Decoded event data - The simulator that generated the event + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Reference to the simulator this system is connected to + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Capabilities URI this system was initialized with + + Raised when the simulator sends a + containing the location of agents in the simulator - - Whether the capabilities event queue is connected and - listening for incoming events + + Raised when the simulator sends a Region Data in response to + a Map request - - - Request the URI of a named capability - - Name of the capability to request - The URI of the requested capability, or String.Empty if - the capability does not exist + + Raised when the simulator sends GridLayer object containing + a map tile coordinates and texture information - - - Process any incoming events, check to see if we have a message created for the event, - - - - - + + Raised when the simulator sends GridItems object containing + details on events, land sales at a specific location - - - Attempts to convert an LLSD structure to a known Packet type - - Event name, this must match an actual - packet name for a Packet to be successfully built - LLSD to convert to a Packet - A Packet on success, otherwise null + + Raised in response to a Region lookup - - Origin position of this coordinate frame + + Unknown - - X axis of this coordinate frame, or Forward/At in grid terms + + Current direction of the sun - - Y axis of this coordinate frame, or Left in grid terms + + Current angular velocity of the sun - - Z axis of this coordinate frame, or Up in grid terms + + Current world time - + + Particle system specific enumerators, flags and methods. - Looking direction, must be a normalized vector - Up direction, must be a normalized vector - - - Align the coordinate frame X and Y axis with a given rotation - around the Z axis in radians - - Absolute rotation around the Z axis in - radians + + - - - Access to the data server which allows searching for land, events, people, etc - + + - - - Constructs a new instance of the DirectoryManager class - - An instance of GridClient + + - - Classified Ad categories + + - - Classified is listed in the Any category + + - - Classified is shopping related + + - - Classified is + + Foliage type for this primitive. Only applicable if this + primitive is foliage - - - + + Unknown - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - Event Categories + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + Identifies the owner if audio or a particle system is + active - - - + + - - - + + - - - + + - - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + Default constructor - + + Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters in to signed eight bit values + Floating point parameter to pack + Signed eight bit value containing the packed parameter - + - Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. - Flags can be combined using the | (pipe) character, not all flags are available in all queries + Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters from signed eight bit integers to floating point values + Signed eight bit value to unpack + Unpacked floating point value - - Query the People database + + - + + Current version of the media data for the prim - + + Array of media entries indexed by face number - - Query the Groups database + + - - Query the Events database + + - - Query the land holdings database for land owned by the currently connected agent + + Uses basic heuristics to estimate the primitive shape - + + Parameters used to construct a visual representation of a primitive - - Query the land holdings database for land which is owned by a Group + + - - Specifies the query should pre sort the results based upon traffic - when searching the Places database + + - - - + + - - - + + - - - + + - - - + + - - Specifies the query should pre sort the results in an ascending order when searching the land sales database. - This flag is only used when searching the land sales database + + - - Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. - This flag is only used when searching the land sales database + + - - Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. - This flag is only used when searching the land sales database + + - - Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. - This flag is only used when searching the land sales database + + - - Specifies the query should pre sort the results using the Name field when searching the land sales database. - This flag is only used when searching the land sales database + + - - When set, only parcels less than the specified Price will be included when searching the land sales database. - This flag is only used when searching the land sales database + + - - When set, only parcels greater than the specified Size will be included when searching the land sales database. - This flag is only used when searching the land sales database + + - - - + + - - - + + - - Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases + + - - Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases + + - - Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases + + - - - + + - - - Land types to search dataserver for - + + - - Search Auction, Mainland and Estate + + - - Land which is currently up for auction + + Attachment point to an avatar - - Parcels which are on the mainland (Linden owned) continents + + - - Parcels which are on privately owned simulators + + - + + + + + + + - The content rating of the event + Information on the flexible properties of a primitive - - Event is PG + + - - Event is Mature + + - - Event is Adult + + - + + + + + + + + + + - Classified Ad Options + Default constructor - There appear to be two formats the flags are packed in. - This set of flags is for the newer style - + + + + - + + + - + + + - + + Information on the light properties of a primitive - + + + + + + + + + + + + + + + + + Default constructor - + - Classified ad query options + + + - - Include all ads in results + + + + + - - Include PG ads in results + + + + + - - Include Mature ads in results + + + Information on the sculpt properties of a sculpted primitive + - - Include Adult ads in results + + + Default constructor + - + - The For Sale flag in PlacesReplyData + + + - - Parcel is not listed for sale + + + Render inside out (inverts the normals). + - - Parcel is For Sale + + + Render an X axis mirror of the sculpty. + - + - A classified ad on the grid + Extended properties to describe an object - - UUID for this ad, useful for looking up detailed - information about it + + - - The title of this classified ad + + - - Flags that show certain options applied to the classified + + - - Creation date of the ad + + - - Expiration date of the ad + + - - Price that was paid for this ad + + - - Print the struct data as a string - A string containing the field name, and field value + + - - - A parcel retrieved from the dataserver such as results from the - "For-Sale" listings or "Places" Search - + + - - The unique dataserver parcel ID - This id is used to obtain additional information from the entry - by using the method + + - - A string containing the name of the parcel + + - - The size of the parcel - This field is not returned for Places searches + + - - The price of the parcel - This field is not returned for Places searches + + - - If True, this parcel is flagged to be auctioned + + - - If true, this parcel is currently set for sale + + - - Parcel traffic + + - - Print the struct data as a string - A string containing the field name, and field value + + - - - An Avatar returned from the dataserver - + + - - Online status of agent - This field appears to be obsolete and always returns false + + - - The agents first name + + - - The agents last name + + - - The agents + + - - Print the struct data as a string - A string containing the field name, and field value + + - + + + + - Response to a "Groups" Search + Default constructor - - The Group ID - - - The name of the group - - - The current number of members - - - Print the struct data as a string - A string containing the field name, and field value + + + Set the properties that are set in an ObjectPropertiesFamily packet + + that has + been partially filled by an ObjectPropertiesFamily packet - + - Parcel information returned from a request - - Represents one of the following: - A parcel of land on the grid that has its Show In Search flag set - A parcel of land owned by the agent making the request - A parcel of land owned by a group the agent making the request is a member of - - In a request for Group Land, the First record will contain an empty record - - Note: This is not the same as searching the land for sale data source + Complete structure for the particle system - - The ID of the Agent of Group that owns the parcel + + Particle Flags + There appears to be more data packed in to this area + for many particle systems. It doesn't appear to be flag values + and serialization breaks unless there is a flag for every + possible bit so it is left as an unsigned integer - - The name + + pattern of particles - - The description + + A representing the maximimum age (in seconds) particle will be displayed + Maximum value is 30 seconds - - The Size of the parcel + + A representing the number of seconds, + from when the particle source comes into view, + or the particle system's creation, that the object will emits particles; + after this time period no more particles are emitted - - The billable Size of the parcel, for mainland - parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller - than the ActualArea. For Estate land this will always be 0 + + A in radians that specifies where particles will not be created - - Indicates the ForSale status of the parcel + + A in radians that specifies where particles will be created - - The Gridwide X position + + A representing the number of seconds between burts. - - The Gridwide Y position + + A representing the number of meters + around the center of the source where particles will be created. - - The Z position of the parcel, or 0 if no landing point set + + A representing in seconds, the minimum speed between bursts of new particles + being emitted - - The name of the Region the parcel is located in + + A representing in seconds the maximum speed of new particles being emitted. - - The Asset ID of the parcels Snapshot texture + + A representing the maximum number of particles emitted per burst - - The calculated visitor traffic + + A which represents the velocity (speed) from the source which particles are emitted - - The billing product SKU - Known values are: - 023Mainland / Full Region024Estate / Full Region027Estate / Openspace029Estate / Homestead129Mainland / Homestead (Linden Owned) + + A which represents the Acceleration from the source which particles are emitted - - No longer used, will always be 0 + + The Key of the texture displayed on the particle - - Get a SL URL for the parcel - A string, containing a standard SLURL + + The Key of the specified target object or avatar particles will follow - - Print the struct data as a string - A string containing the field name, and field value + + Flags of particle from - - - An "Event" Listing summary - + + Max Age particle system will emit particles for - - The ID of the event creator + + The the particle has at the beginning of its lifecycle - - The name of the event + + The the particle has at the ending of its lifecycle - - The events ID + + A that represents the starting X size of the particle + Minimum value is 0, maximum value is 4 - - A string containing the short date/time the event will begin + + A that represents the starting Y size of the particle + Minimum value is 0, maximum value is 4 - - The event start time in Unixtime (seconds since epoch) + + A that represents the ending X size of the particle + Minimum value is 0, maximum value is 4 - - The events maturity rating + + A that represents the ending Y size of the particle + Minimum value is 0, maximum value is 4 - - Print the struct data as a string - A string containing the field name, and field value + + + Decodes a byte[] array into a ParticleSystem Object + + ParticleSystem object + Start position for BitPacker - + - The details of an "Event" + Generate byte[] array from particle data + Byte array - - The events ID + + + Particle source pattern + - - The ID of the event creator + + None - - The name of the event + + Drop particles from source position with no force - - The category + + "Explode" particles in all directions - - The events description + + Particles shoot across a 2D area - - The short date/time the event will begin + + Particles shoot across a 3D Cone - - The event start time in Unixtime (seconds since epoch) UTC adjusted + + Inverse of AngleCone (shoot particles everywhere except the 3D cone defined - - The length of the event in minutes + + + Particle Data Flags + - - 0 if no cover charge applies + + None - - The cover charge amount in L$ if applicable + + Interpolate color and alpha from start to end - - The name of the region where the event is being held + + Interpolate scale from start to end - - The gridwide location of the event + + Bounce particles off particle sources Z height - - The maturity rating + + velocity of particles is dampened toward the simulators wind - - Get a SL URL for the parcel where the event is hosted - A string, containing a standard SLURL + + Particles follow the source - - Print the struct data as a string - A string containing the field name, and field value + + Particles point towards the direction of source's velocity - - The event subscribers. null if no subcribers + + Target of the particles - - Thread sync lock object + + Particles are sent in a straight line - - The event subscribers. null if no subcribers + + Particles emit a glow - - Thread sync lock object + + used for point/grab/touch - - The event subscribers. null if no subcribers + + + Particle Flags Enum + - - Thread sync lock object + + None - - The event subscribers. null if no subcribers + + Acceleration and velocity for particles are + relative to the object rotation - - Thread sync lock object + + Particles use new 'correct' angle parameters - - The event subscribers. null if no subcribers + + + Texture animation mode + - - Thread sync lock object + + Disable texture animation - - The event subscribers. null if no subcribers + + Enable texture animation - - Thread sync lock object + + Loop when animating textures - - The event subscribers. null if no subcribers + + Animate in reverse direction - - Thread sync lock object + + Animate forward then reverse - - The event subscribers. null if no subcribers + + Slide texture smoothly instead of frame-stepping - - Thread sync lock object + + Rotate texture instead of using frames - - Raised when the data server responds to a request. + + Scale texture instead of using frames - - Raised when the data server responds to a request. + + + A single textured face. Don't instantiate this class yourself, use the + methods in TextureEntry + - - Raised when the data server responds to a request. + + + Contains the definition for individual faces + + - - Raised when the data server responds to a request. + + + + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raised when the data server responds to a request. + + - - Raises the EventInfoReply event - An EventInfoReplyEventArgs object containing the - data returned from the data server + + - - Raises the DirEventsReply event - An DirEventsReplyEventArgs object containing the - data returned from the data server + + - - Raises the PlacesReply event - A PlacesReplyEventArgs object containing the - data returned from the data server + + - - Raises the DirPlacesReply event - A DirPlacesReplyEventArgs object containing the - data returned from the data server + + - - Raises the DirClassifiedsReply event - A DirClassifiedsReplyEventArgs object containing the - data returned from the data server + + - - Raises the DirGroupsReply event - A DirGroupsReplyEventArgs object containing the - data returned from the data server + + - - Raises the DirPeopleReply event - A DirPeopleReplyEventArgs object containing the - data returned from the data server + + In the future this will specify whether a webpage is + attached to this face - - Raises the DirLandReply event - A DirLandReplyEventArgs object containing the - data returned from the data server + + - + - Query the data server for a list of classified ads containing the specified string. - Defaults to searching for classified placed in any category, and includes PG, Adult and Mature - results. - Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - The event is raised when a response is received from the simulator + Represents all of the texturable faces for an object - A string containing a list of keywords to search for - A UUID to correlate the results when the event is raised + Grid objects have infinite faces, with each face + using the properties of the default face unless set otherwise. So if + you have a TextureEntry with a default texture uuid of X, and face 18 + has a texture UUID of Y, every face would be textured with X except for + face 18 that uses Y. In practice however, primitives utilize a maximum + of nine faces - + + + + + + + - Query the data server for a list of classified ads which contain specified keywords (Overload) - The event is raised when a response is received from the simulator + Constructor that takes a default texture UUID - A string containing a list of keywords to search for - The category to search - A set of flags which can be ORed to modify query options - such as classified maturity rating. - A UUID to correlate the results when the event is raised - - Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature - - UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); - - - Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - + Texture UUID to use as the default texture - + - Starts search for places (Overloaded) - The event is raised when a response is received from the simulator + Constructor that takes a TextureEntryFace for the + default face - Search text - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised + Face to use as the default face - + - Queries the dataserver for parcels of land which are flagged to be shown in search - The event is raised when a response is received from the simulator + Constructor that creates the TextureEntry class from a byte array - A string containing a list of keywords to search for separated by a space character - A set of flags which can be ORed to modify query options - such as classified maturity rating. - The category to search - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult - - UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); - - - Additional information on the results can be obtained by using the ParcelManager.InfoRequest method - + Byte array containing the TextureEntry field + Starting position of the TextureEntry field in + the byte array + Length of the TextureEntry field, in bytes - + - Starts a search for land sales using the directory - The event is raised when a response is received from the simulator + This will either create a new face if a custom face for the given + index is not defined, or return the custom face for that index if + it already exists - What type of land to search for. Auction, - estate, mainland, "first land", etc - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. + The index number of the face to create or + retrieve + A TextureEntryFace containing all the properties for that + face - + - Starts a search for land sales using the directory - The event is raised when a response is received from the simulator + - What type of land to search for. Auction, - estate, mainland, "first land", etc - Maximum price to search for - Maximum area to search for - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. + + - + - Send a request to the data server for land sales listings + - Flags sent to specify query options - Available flags: - Specify the parcel rating with one or more of the following: - IncludePG IncludeMature IncludeAdult - Specify the field to pre sort the results with ONLY ONE of the following: - PerMeterSort NameSort AreaSort PricesSort - Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order - SortAsc - Specify additional filters to limit the results with one or both of the following: - LimitByPrice LimitByArea - Flags can be combined by separating them with the | (pipe) character - Additional details can be found in - What type of land to search for. Auction, - Estate or Mainland - Maximum price to search for when the - DirFindFlags.LimitByPrice flag is specified in findFlags - Maximum area to search for when the - DirFindFlags.LimitByArea flag is specified in findFlags - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - - The event will be raised with the response from the simulator - There is no way to determine how many results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each reply. - Any land set for sale to either anybody or specific to the connected agent will be included in the - results if the land is included in the query - - - - // request all mainland, any maturity rating that is larger than 512 sq.m - StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); - - + - + - Search for Groups + - The name or portion of the name of the group you wish to search for - Start from the match number - - + - + - Search for Groups + - The name or portion of the name of the group you wish to search for - Start from the match number - Search flags - - + - + - Search the People directory for other avatars + Controls the texture animation of a particular prim - The name or portion of the name of the avatar you wish to search for - - - - - + + + + + + + + + + + + + + + + + + + + + + - Search Places for parcels of land you personally own + + + - + - Searches Places for land owned by the specified group + - ID of the group you want to recieve land list for (You must be a member of the group) - Transaction (Query) ID which can be associated with results from your request. + - + - Search the Places directory for parcels that are listed in search and contain the specified keywords + Represents a Sound Asset - A string containing the keywords to search for - Transaction (Query) ID which can be associated with results from your request. - + + Initializes a new instance of an AssetSound object + + + Initializes a new instance of an AssetSound object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + - Search Places - All Options + TODO: Encodes a sound file - One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. - One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer - A string containing a list of keywords to search for separated by a space character - String Simulator Name to search in - LLUID of group you want to recieve results for - Transaction (Query) ID which can be associated with results from your request. - Transaction (Query) ID which can be associated with results from your request. - + - Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + TODO: Decode a sound file - A string containing a list of keywords to search for separated by a space character - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - UUID of query to correlate results in callback. + true - + + Override the base classes AssetType + + - Search Events + A linkset asset, containing a parent primitive and zero or more children - A string containing a list of keywords to search for separated by a space character - One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult - from the Enum - Multiple flags can be combined by separating the flags with the | (pipe) character - "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled - For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - EventCategory event is listed under. - UUID of query to correlate results in callback. - - Requests Event Details - ID of Event returned from the method + + Initializes a new instance of an AssetPrim object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Initializes a new instance of an AssetPrim object + + A unique specific to this asset + A byte array containing the raw asset data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + + - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Override the base classes AssetType - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Contains the Event data returned from the data server from an EventInfoRequest - - - Construct a new instance of the EventInfoReplyEventArgs class - A single EventInfo object containing the details of an event + + + Only used internally for XML serialization/deserialization + - + - A single EventInfo object containing the details of an event + The deserialized form of a single primitive in a linkset asset - - Contains the "Event" detail data returned from the data server + + + Operation to apply when applying color to texture + - - Construct a new instance of the DirEventsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Events" returned by the search query + + + Information needed to translate visual param value to RGBA color + - - The ID returned by + + + Construct VisualColorParam + + Operation to apply when applying color to texture + Colors - - A list of "Events" returned by the data server + + + Represents alpha blending and bump infor for a visual parameter + such as sleive length + - - Contains the "Event" list data returned from the data server + + Stregth of the alpha to apply - - Construct a new instance of PlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Places" returned by the data server query + + File containing the alpha channel - - The ID returned by + + Skip blending if parameter value is 0 - - A list of "Places" returned by the data server + + Use miltiply insted of alpha blending - - Contains the places data returned from the data server + + + Create new alhpa information for a visual param + + Stregth of the alpha to apply + File containing the alpha channel + Skip blending if parameter value is 0 + Use miltiply insted of alpha blending - - Construct a new instance of the DirPlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing land data returned by the data server + + + A single visual characteristic of an avatar mesh, such as eyebrow height + - - The ID returned by + + Index of this visual param - - A list containing Places data returned by the data server + + Internal name - - Contains the classified data returned from the data server + + Group ID this parameter belongs to - - Construct a new instance of the DirClassifiedsReplyEventArgs class - A list of classified ad data returned from the data server + + Name of the wearable this parameter belongs to - - A list containing Classified Ads returned by the data server + + Displayable label of this characteristic - - Contains the group data returned from the data server + + Displayable label for the minimum value of this characteristic - - Construct a new instance of the DirGroupsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of groups data returned by the data server + + Displayable label for the maximum value of this characteristic - - The ID returned by + + Default value - - A list containing Groups data returned by the data server + + Minimum value - - Contains the people data returned from the data server + + Maximum value - - Construct a new instance of the DirPeopleReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of people data returned by the data server + + Is this param used for creation of bump layer? - - The ID returned by + + Alpha blending/bump info - - A list containing People data returned by the data server + + Color information - - Contains the land sales data returned from the data server + + Array of param IDs that are drivers for this parameter - - Construct a new instance of the DirLandReplyEventArgs class - A list of parcels for sale returned by the data server + + + Set all the values through the constructor + + Index of this visual param + Internal name + + + Displayable label of this characteristic + Displayable label for the minimum value of this characteristic + Displayable label for the maximum value of this characteristic + Default value + Minimum value + Maximum value + Is this param used for creation of bump layer? + Array of param IDs that are drivers for this parameter + Alpha blending/bump info + Color information - - A list containing land forsale data returned by the data server + + + Holds the Params array of all the avatar appearance parameters + - + - Represends individual HTTP Download request + NetworkManager is responsible for managing the network layer of + OpenMetaverse. It tracks all the server connections, serializes + outgoing traffic and deserializes incoming traffic, and provides + instances of delegates for network-related events. + + + Login Routines - - Default constructor + + The event subscribers, null of no subscribers - - Constructor + + Raises the PacketSent Event + A PacketSentEventArgs object containing + the data sent from the simulator - - URI of the item to fetch + + Thread sync lock object - - Timout specified in milliseconds + + The event subscribers, null of no subscribers - - Download progress callback + + Raises the LoggedOut Event + A LoggedOutEventArgs object containing + the data sent from the simulator - - Download completed callback + + Thread sync lock object - - Accept the following content type + + The event subscribers, null of no subscribers - - - Manages async HTTP downloads with a limit on maximum - concurrent downloads - + + Raises the SimConnecting Event + A SimConnectingEventArgs object containing + the data sent from the simulator - - Default constructor + + Thread sync lock object - - Maximum number of parallel downloads from a single endpoint + + The event subscribers, null of no subscribers - - Client certificate + + Raises the SimConnected Event + A SimConnectedEventArgs object containing + the data sent from the simulator - - Cleanup method + + Thread sync lock object - - Setup http download request + + The event subscribers, null of no subscribers - - Check the queue for pending work + + Raises the SimDisconnected Event + A SimDisconnectedEventArgs object containing + the data sent from the simulator - - Enqueue a new HTPP download + + Thread sync lock object - - Describes tasks returned in LandStatReply + + The event subscribers, null of no subscribers - - - Estate level administration and utilities - - - - - Constructor for EstateTools class - - - - - - Used in the ReportType field of a LandStatRequest - - - Used by EstateOwnerMessage packets - - - Used by EstateOwnerMessage packets - - - - - - - No flags set - - - Only return targets scripted objects - - - Only return targets objects if on others land - - - Returns target's scripted objects and objects on other parcels - - - Ground texture settings for each corner of the region - - - Used by GroundTextureHeightSettings - - - The high and low texture thresholds for each corner of the sim - - - Textures for each of the four terrain height levels - - - Upper/lower texture boundaries for each corner of the sim - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers + + Raises the Disconnected Event + A DisconnectedEventArgs object containing + the data sent from the simulator - + Thread sync lock object - - The event subscribers. null if no subcribers - - - Thread sync lock object + + The event subscribers, null of no subscribers - - The event subscribers. null if no subcribers + + Raises the SimChanged Event + A SimChangedEventArgs object containing + the data sent from the simulator - + Thread sync lock object - - The event subscribers. null if no subcribers - - - Thread sync lock object + + The event subscribers, null of no subscribers - - The event subscribers. null if no subcribers + + Raises the EventQueueRunning Event + A EventQueueRunningEventArgs object containing + the data sent from the simulator - + Thread sync lock object - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raises the TopCollidersReply event - A TopCollidersReplyEventArgs object containing the - data returned from the data server - - - Raises the TopScriptsReply event - A TopScriptsReplyEventArgs object containing the - data returned from the data server - - - Raises the EstateUsersReply event - A EstateUsersReplyEventArgs object containing the - data returned from the data server - - - Raises the EstateGroupsReply event - A EstateGroupsReplyEventArgs object containing the - data returned from the data server + + All of the simulators we are currently connected to - - Raises the EstateManagersReply event - A EstateManagersReplyEventArgs object containing the - data returned from the data server + + Handlers for incoming capability events - - Raises the EstateBansReply event - A EstateBansReplyEventArgs object containing the - data returned from the data server + + Handlers for incoming packets - - Raises the EstateCovenantReply event - A EstateCovenantReplyEventArgs object containing the - data returned from the data server + + Incoming packets that are awaiting handling - - Raises the EstateUpdateInfoReply event - A EstateUpdateInfoReplyEventArgs object containing the - data returned from the data server + + Outgoing packets that are awaiting handling - + - Requests estate information such as top scripts and colliders + Default constructor - - - - - - - - - - - Requests estate settings, including estate manager and access/ban lists - - - Requests the "Top Scripts" list for the current region - - - Requests the "Top Colliders" list for the current region + Reference to the GridClient object - + - Set several estate specific configuration variables + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library - The Height of the waterlevel over the entire estate. Defaults to 20 - The maximum height change allowed above the baked terrain. Defaults to 4 - The minimum height change allowed below the baked terrain. Defaults to -4 - true to use - if True forces the sun position to the position in SunPosition - The current position of the sun on the estate, or when FixedSun is true the static position - the sun will remain. 6.0 = Sunrise, 30.0 = Sunset + Packet type to trigger events for + Callback to fire when a packet of this type + is received - + - Request return of objects owned by specified avatar + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library - The Agents owning the primitives to return - specify the coverage and type of objects to be included in the return - true to perform return on entire estate + Packet type to trigger events for + Callback to fire when a packet of this type + is received + True if the callback should be ran + asynchronously. Only set this to false (synchronous for callbacks + that will always complete quickly) + If any callback for a packet type is marked as + asynchronous, all callbacks for that packet type will be fired + asynchronously - + + Unregister an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library - - - - + Packet type this callback is registered with + Callback to stop firing events for - + - Used for setting and retrieving various estate panel settings + Register a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library - EstateOwnerMessage Method field - List of parameters to include + Name of the CAPS event to register a handler for + Callback to fire when a CAPS event is received - + - Kick an avatar from an estate + Unregister a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library - Key of Agent to remove - - - - Ban an avatar from an estate - Key of Agent to remove - Ban user from this estate and all others owned by the estate owner + Name of the CAPS event this callback is + registered with + Callback to stop firing events for - - Unban an avatar from an estate - Key of Agent to remove - /// Unban user from this estate and all others owned by the estate owner - + - Send a message dialog to everyone in an entire estate + Send a packet to the simulator the avatar is currently occupying - Message to send all users in the estate + Packet to send - + - Send a message dialog to everyone in a simulator + Send a packet to a specified simulator - Message to send all users in the simulator + Packet to send + Simulator to send the packet to - + - Send an avatar back to their home location + Connect to a simulator - Key of avatar to send home + IP address to connect to + Port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - Begin the region restart process + Connect to a simulator + IP address and port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - Cancels a region restart + Initiate a blocking logout request. This will return when the logout + handshake has completed or when Settings.LOGOUT_TIMEOUT + has expired and the network layer is manually shut down - - Estate panel "Region" tab settings - - - Estate panel "Debug" tab settings - - - Used for setting the region's terrain textures for its four height levels - - - - - - - - - - - Used for setting sim terrain texture heights - - - Requests the estate covenant - - + - Upload a terrain RAW file + Initiate the logout process. Check if logout succeeded with the + OnLogoutReply event, and if this does not fire the + Shutdown() function needs to be manually called - A byte array containing the encoded terrain data - The name of the file being uploaded - The Id of the transfer request - + - Teleports all users home in current Estate + Close a connection to the given simulator + + - + - Remove estate manager - Key of Agent to Remove - removes manager to this estate and all others owned by the estate owner + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + + Type of shutdown - + - Add estate manager - Key of Agent to Add - Add agent as manager to this estate and all others owned by the estate owner + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + + Type of shutdown + Shutdown message - + - Add's an agent to the estate Allowed list - Key of Agent to Add - Add agent as an allowed reisdent to All estates if true + Searches through the list of currently connected simulators to find + one attached to the given IPEndPoint + + IPEndPoint of the Simulator to search for + A Simulator reference on success, otherwise null - + - Removes an agent from the estate Allowed list - Key of Agent to Remove - Removes agent as an allowed reisdent from All estates if true + Fire an event when an event queue connects for capabilities + + Simulator the event queue is attached to - - - Add's a group to the estate Allowed list - Key of Group to Add - Add Group as an allowed group to All estates if true + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Removes a group from the estate Allowed list - Key of Group to Remove - Removes Group as an allowed Group from All estates if true + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - Raised on LandStatReply when the report type is for "top colliders" + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Construct a new instance of the TopCollidersReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - The number of returned items in LandStatReply - + + The event subscribers, null of no subscribers - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - + + Raises the LoginProgress Event + A LoginProgressEventArgs object containing + the data sent from the simulator - - Raised on LandStatReply when the report type is for "top Scripts" + + Thread sync lock object - - Construct a new instance of the TopScriptsReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + Seed CAPS URL returned from the login server - + + A list of packets obtained during the login process which + networkmanager will log but not process + + - The number of scripts returned in LandStatReply + Generate sane default values for a login request + Account first name + Account last name + Account password + Client application name + Client application version + A populated struct containing + sane defaults - + - A Dictionary of Object UUIDs to tasks returned in LandStatReply + Simplified login that takes the most common and required fields + Account first name + Account last name + Account password + Client application name + Client application version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateBansReplyEventArgs class - The estate's identifier on the grid - The number of returned items in LandStatReply - User UUIDs banned - - + - The identifier of the estate + Simplified login that takes the most common fields along with a + starting location URI, and can accept an MD5 string instead of a + plaintext password + Account first name + Account last name + Account password or MD5 hash of the password + such as $1$1682a1e45e9f957dcdf0bb56eb43319c + Client application name + Starting location URI that can be built with + StartLocation() + Client application version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - The number of returned itmes + Login that takes a struct of all the values that will be passed to + the login server + The values that will be passed to the login + server, all fields must be set even if they are String.Empty + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - List of UUIDs of Banned Users + Build a start location URI for passing to the Login function + Name of the simulator to start in + X coordinate to start at + Y coordinate to start at + Z coordinate to start at + String with a URI that can be used to login to a specified + location - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateUsersReplyEventArgs class - The estate's identifier on the grid - The number of users - Allowed users UUIDs + + + Handles response from XML-RPC login replies + - + - The identifier of the estate + Handle response from LLSD login replies + + + - + - The number of returned items + Get current OS + Either "Win" or "Linux" - + - List of UUIDs of Allowed Users + Get clients default Mac Address + A string containing the first found Mac Address - - Returned, along with other info, upon a successful .RequestInfo() + + Raised when the simulator sends us data containing + ... - - Construct a new instance of the EstateGroupsReplyEventArgs class - The estate's identifier on the grid - The number of Groups - Allowed Groups UUIDs + + Raised when the simulator sends us data containing + ... - - - The identifier of the estate - + + Raised when the simulator sends us data containing + ... - - - The number of returned items - + + Raised when the simulator sends us data containing + ... - - - List of UUIDs of Allowed Groups - + + Raised when the simulator sends us data containing + ... - - Returned, along with other info, upon a successful .RequestInfo() + + Raised when the simulator sends us data containing + ... - - Construct a new instance of the EstateManagersReplyEventArgs class - The estate's identifier on the grid - The number of Managers - Managers UUIDs + + Raised when the simulator sends us data containing + ... - - - The identifier of the estate - + + Raised when the simulator sends us data containing + ... - - - The number of returned items - + + Unique identifier associated with our connections to + simulators - - - List of UUIDs of the Estate's Managers - + + The simulator that the logged in avatar is currently + occupying - - Returned, along with other info, upon a successful .RequestInfo() + + Shows whether the network layer is logged in to the + grid or not - - Construct a new instance of the EstateCovenantReplyEventArgs class - The Covenant ID - The timestamp - The estate's name - The Estate Owner's ID (can be a GroupID) + + Number of packets in the incoming queue - - - The Covenant - + + Number of packets in the outgoing queue - - - The timestamp - + + Raised when the simulator sends us data containing + ... - - - The Estate name - + + Called when a reply is received from the login server, the + login sequence will block until this event returns - - - The Estate Owner's ID (can be a GroupID) - + + Current state of logging in - - Returned, along with other info, upon a successful .RequestInfo() + + Upon login failure, contains a short string key for the + type of login error that occurred - - Construct a new instance of the EstateUpdateInfoReplyEventArgs class - The estate's name - The Estate Owners ID (can be a GroupID) - The estate's identifier on the grid - - + + The raw XML-RPC reply from the login server, exactly as it + was received (minus the HTTP header) - - - The estate's name - + + During login this contains a descriptive version of + LoginStatusCode. After a successful login this will contain the + message of the day, and after a failed login a descriptive error + message will be returned - + - The Estate Owner's ID (can be a GroupID) + Explains why a simulator or the grid disconnected from us - - - The identifier of the estate on the grid - + + The client requested the logout or simulator disconnect - - - + + The server notified us that it is disconnecting - - - Registers, unregisters, and fires events generated by incoming packets - + + Either a socket was closed or network traffic timed out - - - Default constructor - - - + + The last active simulator shut down - + - Object that is passed to worker threads in the ThreadPool for - firing packet callbacks + Holds a simulator reference and a decoded packet, these structs are put in + the packet inbox for event handling - - Callback to fire for this packet - - + Reference to the simulator that this packet came from - - The packet that needs to be processed - - - Reference to the GridClient object + + Packet that needs to be processed - + - Register an event handler + Holds a simulator reference and a serialized packet, these structs are put in + the packet outbox for sending - Use PacketType.Default to fire this event on every - incoming packet - Packet type to register the handler for - Callback to be fired - True if this callback should be ran - asynchronously, false to run it synchronous - - - Unregister an event handler - - Packet type to unregister the handler for - Callback to be unregistered + + Reference to the simulator this packet is destined for - - - Fire the events registered for this packet type - - Incoming packet type - Incoming packet - Simulator this packet was received from + + Packet that needs to be sent - - - Registers, unregisters, and fires events generated by the Capabilities - event queue - + + Sequence number of the wrapped packet - + + Number of times this packet has been resent + + + Environment.TickCount when this packet was last sent over the wire + + - Default constructor + - Reference to the GridClient object + + + + + - + - Object that is passed to worker threads in the ThreadPool for - firing CAPS callbacks + Static helper functions and global variables - - Callback to fire for this packet - - - Name of the CAPS event + + This header flag signals that ACKs are appended to the packet - - Strongly typed decoded data + + This header flag signals that this packet has been sent before - - Reference to the simulator that generated this event + + This header flags signals that an ACK is expected for this packet - - Reference to the GridClient object + + This header flag signals that the message is compressed using zerocoding - + - Register an new event handler for a capabilities event sent via the EventQueue + - Use String.Empty to fire this event on every CAPS event - Capability event name to register the - handler for - Callback to fire + + - + - Unregister a previously registered capabilities handler + - Capability event name unregister the - handler for - Callback to unregister + + + - + - Fire the events registered for this event type synchronously + - Capability name - Decoded event body - Reference to the simulator that - generated this event + + - + - Fire the events registered for this event type asynchronously + - Capability name - Decoded event body - Reference to the simulator that - generated this event + + + - + + Given an X/Y location in absolute (grid-relative) terms, a region + handle is returned along with the local X/Y location in that region + The absolute X location, a number such as + 255360.35 + The absolute Y location, a number such as + 255360.35 + The sim-local X position of the global X + position, a value from 0.0 to 256.0 + The sim-local Y position of the global Y + position, a value from 0.0 to 256.0 + A 64-bit region handle that can be used to teleport to - - The avatar has no rights - - - The avatar can see the online status of the target avatar - - - The avatar can see the location of the target avatar on the map - - - The avatar can modify the ojects of the target avatar - - + - This class holds information about an avatar in the friends list. There are two ways - to interface to this class. The first is through the set of boolean properties. This is the typical - way clients of this class will use it. The second interface is through two bitflag properties, - TheirFriendsRights and MyFriendsRights + Converts a floating point number to a terse string format used for + transmitting numbers in wearable asset files + Floating point number to convert to a string + A terse string representation of the input number - + - Used internally when building the initial list of friends at login time + Convert a variable length field (byte array) to a string, with a + field name prepended to each line of the output - System ID of the avatar being prepesented - Rights the friend has to see you online and to modify your objects - Rights you have to see your friend online and to modify their objects + If the byte array has unprintable characters in it, a + hex dump will be written instead + The StringBuilder object to write to + The byte array to convert to a string + A field name to prepend to each line of output - + - System ID of the avatar + Decode a zerocoded byte array, used to decompress packets marked + with the zerocoded flag + Any time a zero is encountered, the next byte is a count + of how many zeroes to expand. One zero is encoded with 0x00 0x01, + two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The + first four bytes are copied directly to the output buffer. + + The byte array to decode + The length of the byte array to decode. This + would be the length of the packet up to (but not including) any + appended ACKs + The output byte array to decode to + The length of the output buffer - + - full name of the avatar + Encode a byte array with zerocoding. Used to compress packets marked + with the zerocoded flag. Any zeroes in the array are compressed down + to a single zero byte followed by a count of how many zeroes to expand + out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, + three zeroes becomes 0x00 0x03, etc. The first four bytes are copied + directly to the output buffer. + The byte array to encode + The length of the byte array to encode + The output byte array to encode to + The length of the output buffer - + - True if the avatar is online + Calculates the CRC (cyclic redundancy check) needed to upload inventory. + Creation date + Sale type + Inventory type + Type + Asset ID + Group ID + Sale price + Owner ID + Creator ID + Item ID + Folder ID + Everyone mask (permissions) + Flags + Next owner mask (permissions) + Group mask (permissions) + Owner mask (permissions) + The calculated CRC - + - True if the friend can see if I am online + Attempts to load a file embedded in the assembly + The filename of the resource to load + A Stream for the requested file, or null if the resource + was not successfully loaded - + - True if the friend can see me on the map + Attempts to load a file either embedded in the assembly or found in + a given search path + The filename of the resource to load + An optional path that will be searched if + the asset is not found embedded in the assembly + A Stream for the requested file, or null if the resource + was not successfully loaded - + - True if the freind can modify my objects + Converts a list of primitives to an object that can be serialized + with the LLSD system + Primitives to convert to a serializable object + An object that can be serialized with LLSD - + - True if I can see if my friend is online + Deserializes OSD in to a list of primitives + Structure holding the serialized primitive list, + must be of the SDMap type + A list of deserialized primitives - - - True if I can see if my friend is on the map - + + + Converts a struct or class object containing fields only into a key value separated string + + The struct object + A string containing the struct fields as the keys, and the field value as the value separated + + + // Add the following code to any struct or class containing only fields to override the ToString() + // method to display the values of the passed object + + /// Print the struct data as a string + ///A string containing the field name, and field value + public override string ToString() + { + return Helpers.StructToString(this); + } + + - + - True if I can modify my friend's objects + Passed to Logger.Log() to identify the severity of a log entry - - - My friend's rights represented as bitmapped flags - + + No logging information will be output - - - My rights represented as bitmapped flags - + + Non-noisy useful information, may be helpful in + debugging a problem - - - FriendInfo represented as a string - - A string reprentation of both my rights and my friends rights + + A non-critical error occurred. A warning will not + prevent the rest of the library from operating as usual, + although it may be indicative of an underlying issue - - - This class is used to add and remove avatars from your friends list and to manage their permission. + + A critical error has occurred. Generally this will + be followed by the network layer shutting down, although the + stability of the library after an error is uncertain + + + Used for internal testing, this logging level can + generate very noisy (long and/or repetitive) messages. Don't + pass this to the Log() function, use DebugLog() instead. - + - Internal constructor + Access to the data server which allows searching for land, events, people, etc - A reference to the GridClient Object - + The event subscribers. null if no subcribers - + + Raises the EventInfoReply event + An EventInfoReplyEventArgs object containing the + data returned from the data server + + Thread sync lock object - + The event subscribers. null if no subcribers - + + Raises the DirEventsReply event + An DirEventsReplyEventArgs object containing the + data returned from the data server + + Thread sync lock object - + The event subscribers. null if no subcribers - + + Raises the PlacesReply event + A PlacesReplyEventArgs object containing the + data returned from the data server + + Thread sync lock object - + The event subscribers. null if no subcribers - + + Raises the DirPlacesReply event + A DirPlacesReplyEventArgs object containing the + data returned from the data server + + Thread sync lock object - + The event subscribers. null if no subcribers - + + Raises the DirClassifiedsReply event + A DirClassifiedsReplyEventArgs object containing the + data returned from the data server + + Thread sync lock object - + The event subscribers. null if no subcribers - + + Raises the DirGroupsReply event + A DirGroupsReplyEventArgs object containing the + data returned from the data server + + Thread sync lock object - + The event subscribers. null if no subcribers - + + Raises the DirPeopleReply event + A DirPeopleReplyEventArgs object containing the + data returned from the data server + + Thread sync lock object - + The event subscribers. null if no subcribers - + + Raises the DirLandReply event + A DirLandReplyEventArgs object containing the + data returned from the data server + + Thread sync lock object - + - A dictionary of key/value pairs containing known friends of this avatar. - The Key is the of the friend, the value is a - object that contains detailed information including permissions you have and have given to the friend + Constructs a new instance of the DirectoryManager class + An instance of GridClient - + - A Dictionary of key/value pairs containing current pending frienship offers. - The key is the of the avatar making the request, - the value is the of the request which is used to accept - or decline the friendship offer + Query the data server for a list of classified ads containing the specified string. + Defaults to searching for classified placed in any category, and includes PG, Adult and Mature + results. + + Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + + The event is raised when a response is received from the simulator + A string containing a list of keywords to search for + A UUID to correlate the results when the event is raised - - Raised when the simulator sends notification one of the members in our friends list comes online - - - Raised when the simulator sends notification one of the members in our friends list goes offline - - - Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions - - - Raised when the simulator sends us the names on our friends list - - - Raised when the simulator sends notification another agent is offering us friendship - - - Raised when a request we sent to friend another agent is accepted or declined - - - Raised when the simulator sends notification one of the members in our friends list has terminated - our friendship - - - Raised when the simulator sends the location of a friend we have - requested map location info for - - - Raises the FriendOnline event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Raises the FriendOffline event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Raises the FriendRightsUpdate event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Raises the FriendNames event - A FriendNamesEventArgs object containing the - data returned from the data server - - - Raises the FriendshipOffered event - A FriendshipOfferedEventArgs object containing the - data returned from the data server + + + Query the data server for a list of classified ads which contain specified keywords (Overload) + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for + The category to search + A set of flags which can be ORed to modify query options + such as classified maturity rating. + A UUID to correlate the results when the event is raised + + Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature + + UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); + + + + Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + - - Raises the FriendshipResponse event - A FriendshipResponseEventArgs object containing the - data returned from the data server + + + Starts search for places (Overloaded) + + The event is raised when a response is received from the simulator + + Search text + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised - - Raises the FriendshipTerminated event - A FriendshipTerminatedEventArgs object containing the - data returned from the data server + + + Queries the dataserver for parcels of land which are flagged to be shown in search + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for separated by a space character + A set of flags which can be ORed to modify query options + such as classified maturity rating. + The category to search + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised + + Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult + + UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); + + + + Additional information on the results can be obtained by using the ParcelManager.InfoRequest method + - - Raises the FriendFoundReply event - A FriendFoundReplyEventArgs object containing the - data returned from the data server + + + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator + + What type of land to search for. Auction, + estate, mainland, "first land", etc + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - + - Accept a friendship request + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator - agentID of avatatar to form friendship with - imSessionID of the friendship request message + What type of land to search for. Auction, + estate, mainland, "first land", etc + Maximum price to search for + Maximum area to search for + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - + - Decline a friendship request + Send a request to the data server for land sales listings - - of friend - imSessionID of the friendship request message + + Flags sent to specify query options + + Available flags: + Specify the parcel rating with one or more of the following: + IncludePG IncludeMature IncludeAdult + + Specify the field to pre sort the results with ONLY ONE of the following: + PerMeterSort NameSort AreaSort PricesSort + + Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order + SortAsc + + Specify additional filters to limit the results with one or both of the following: + LimitByPrice LimitByArea + + Flags can be combined by separating them with the | (pipe) character + + Additional details can be found in + + What type of land to search for. Auction, + Estate or Mainland + Maximum price to search for when the + DirFindFlags.LimitByPrice flag is specified in findFlags + Maximum area to search for when the + DirFindFlags.LimitByArea flag is specified in findFlags + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + The event will be raised with the response from the simulator + + There is no way to determine how many results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each reply. + + Any land set for sale to either anybody or specific to the connected agent will be included in the + results if the land is included in the query + + + // request all mainland, any maturity rating that is larger than 512 sq.m + StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); + - + - Overload: Offer friendship to an avatar. + Search for Groups - System ID of the avatar you are offering friendship to + The name or portion of the name of the group you wish to search for + Start from the match number + - + - Offer friendship to an avatar. + Search for Groups - System ID of the avatar you are offering friendship to - A message to send with the request + The name or portion of the name of the group you wish to search for + Start from the match number + Search flags + - + - Terminate a friendship with an avatar + Search the People directory for other avatars - System ID of the avatar you are terminating the friendship with + The name or portion of the name of the avatar you wish to search for + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Search Places for parcels of land you personally own + - + - Change the rights of a friend avatar. + Searches Places for land owned by the specified group - the of the friend - the new rights to give the friend - This method will implicitly set the rights to those passed in the rights parameter. + ID of the group you want to recieve land list for (You must be a member of the group) + Transaction (Query) ID which can be associated with results from your request. - + - Use to map a friends location on the grid. + Search the Places directory for parcels that are listed in search and contain the specified keywords - Friends UUID to find - - - + A string containing the keywords to search for + Transaction (Query) ID which can be associated with results from your request. - + - Use to track a friends movement on the grid + Search Places - All Options - Friends Key + One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. + One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer + A string containing a list of keywords to search for separated by a space character + String Simulator Name to search in + LLUID of group you want to recieve results for + Transaction (Query) ID which can be associated with results from your request. + Transaction (Query) ID which can be associated with results from your request. - + - Ask for a notification of friend's online status + Search All Events with specifid searchText in all categories, includes PG, Mature and Adult - Friend's UUID + A string containing a list of keywords to search for separated by a space character + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + UUID of query to correlate results in callback. - + - This handles the asynchronous response of a RequestAvatarNames call. + Search Events - - - names cooresponding to the the list of IDs sent the the RequestAvatarNames call. + A string containing a list of keywords to search for separated by a space character + One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult + from the Enum + + Multiple flags can be combined by separating the flags with the | (pipe) character + "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled + For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + EventCategory event is listed under. + UUID of query to correlate results in callback. - + + Requests Event Details + ID of Event returned from the method + + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from + + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - - Populate FriendList with data from the login reply - - true if login was successful - true if login request is requiring a redirect - A string containing the response to the login request - A string containing the reason for the request - A object containing the decoded - reply from the login server - - - Contains information on a member of our friends list + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - - Construct a new instance of the FriendInfoEventArgs class - - The FriendInfo - - - Get the FriendInfo + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Contains Friend Names + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Construct a new instance of the FriendNamesEventArgs class - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Sent when another agent requests a friendship with our agent + + Raised when the data server responds to a request. - - - Construct a new instance of the FriendshipOfferedEventArgs class - - The ID of the agent requesting friendship - The name of the agent requesting friendship - The ID of the session, used in accepting or declining the - friendship offer + + Raised when the data server responds to a request. - - Get the ID of the agent requesting friendship + + Raised when the data server responds to a request. - - Get the name of the agent requesting friendship + + Raised when the data server responds to a request. - - Get the ID of the session, used in accepting or declining the - friendship offer + + Raised when the data server responds to a request. - - A response containing the results of our request to form a friendship with another agent + + Raised when the data server responds to a request. - - - Construct a new instance of the FriendShipResponseEventArgs class - - The ID of the agent we requested a friendship with - The name of the agent we requested a friendship with - true if the agent accepted our friendship offer + + Raised when the data server responds to a request. - - Get the ID of the agent we requested a friendship with + + Raised when the data server responds to a request. - - Get the name of the agent we requested a friendship with + + Classified Ad categories - - true if the agent accepted our friendship offer + + Classified is listed in the Any category - - Contains data sent when a friend terminates a friendship with us + + Classified is shopping related - - - Construct a new instance of the FrindshipTerminatedEventArgs class - - The ID of the friend who terminated the friendship with us - The name of the friend who terminated the friendship with us + + Classified is - - Get the ID of the agent that terminated the friendship with us + + - - Get the name of the agent that terminated the friendship with us + + - - - Data sent in response to a request which contains the information to allow us to map the friends location - + + - - - Construct a new instance of the FriendFoundReplyEventArgs class - - The ID of the agent we have requested location information for - The region handle where our friend is located - The simulator local position our friend is located + + - - Get the ID of the agent we have received location information for + + - - Get the region handle where our mapped friend is located + + - - Get the simulator local position where our friend is located + + - - - Main class to expose grid functionality to clients. All of the - classes needed for sending and receiving data are accessible through - this class. - - - - // Example minimum code required to instantiate class and - // connect to a simulator. - using System; - using System.Collections.Generic; - using System.Text; - using OpenMetaverse; - namespace FirstBot - { - class Bot - { - public static GridClient Client; - static void Main(string[] args) - { - Client = new GridClient(); // instantiates the GridClient class - // to the global Client object - // Login to Simulator - Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); - // Wait for a Keypress - Console.ReadLine(); - // Logout of simulator - Client.Network.Logout(); - } - } - } - - + + Event Categories - - - Default constructor - + + - - Networking subsystem + + - - Settings class including constant values and changeable - parameters for everything + + - - Parcel (subdivided simulator lots) subsystem + + - - Our own avatars subsystem + + - - Other avatars subsystem + + - - Estate subsystem + + - - Friends list subsystem + + - - Grid (aka simulator group) subsystem + + - - Object subsystem + + - - Group subsystem + + - - Asset subsystem + + - - Appearance subsystem + + + Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. + + Flags can be combined using the | (pipe) character, not all flags are available in all queries + - - Inventory subsystem + + Query the People database - - Directory searches including classifieds, people, land - sales, etc + + - - Handles land, wind, and cloud heightmaps + + - - Handles sound-related networking + + Query the Groups database - - Throttling total bandwidth usage, or allocating bandwidth - for specific data stream types + + Query the Events database - - - Return the full name of this instance - - Client avatars full name + + Query the land holdings database for land owned by the currently connected agent - - - Map layer request type - + + - - Objects and terrain are shown + + Query the land holdings database for land which is owned by a Group - - Only the terrain is shown, no objects + + Specifies the query should pre sort the results based upon traffic + when searching the Places database - - Overlay showing land for sale and for auction + + - - - Type of grid item, such as telehub, event, populator location, etc. - + + - - Telehub + + - - PG rated event + + - - Mature rated event + + Specifies the query should pre sort the results in an ascending order when searching the land sales database. + This flag is only used when searching the land sales database - - Popular location + + Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. + This flag is only used when searching the land sales database - - Locations of avatar groups in a region + + Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. + This flag is only used when searching the land sales database - - Land for sale + + Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. + This flag is only used when searching the land sales database - - Classified ad + + Specifies the query should pre sort the results using the Name field when searching the land sales database. + This flag is only used when searching the land sales database - - Adult rated event - - - Adult land for sale + + When set, only parcels less than the specified Price will be included when searching the land sales database. + This flag is only used when searching the land sales database - - - Information about a region on the grid map - + + When set, only parcels greater than the specified Size will be included when searching the land sales database. + This flag is only used when searching the land sales database - - Sim X position on World Map + + - - Sim Y position on World Map + + - - Sim Name (NOTE: In lowercase!) + + Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - + + Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases - - Appears to always be zero (None) + + Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases - - Sim's defined Water Height + + - + + Land types to search dataserver for - - UUID of the World Map image + + Search Auction, Mainland and Estate - - Unique identifier for this region, a combination of the X - and Y position + + Land which is currently up for auction - - - - - + + Parcels which are on the mainland (Linden owned) continents - - - - - + + Parcels which are on privately owned simulators - + + The content rating of the event - - - - - - - Visual chunk of the grid map - + + Event is PG - + + Event is Mature + + + Event is Adult + + - Base class for Map Items + Classified Ad Options + There appear to be two formats the flags are packed in. + This set of flags is for the newer style - - The Global X position of the item + + - - The Global Y position of the item + + - - Get the Local X position of the item + + - - Get the Local Y position of the item + + - - Get the Handle of the region + + - + - Represents an agent or group of agents location + Classified ad query options - - - Represents a Telehub location - + + Include all ads in results - - - Represents a non-adult parcel of land for sale - + + Include PG ads in results - - - Represents an Adult parcel of land for sale - + + Include Mature ads in results - - - Represents a PG Event - + + Include Adult ads in results - + - Represents a Mature event + The For Sale flag in PlacesReplyData - - - Represents an Adult event - + + Parcel is not listed for sale - - - Manages grid-wide tasks such as the world map - + + Parcel is For Sale - + - Constructor + A classified ad on the grid - Instance of GridClient object to associate with this GridManager instance - - The event subscribers. null if no subcribers + + UUID for this ad, useful for looking up detailed + information about it - - Thread sync lock object + + The title of this classified ad - - The event subscribers. null if no subcribers + + Flags that show certain options applied to the classified - - Thread sync lock object + + Creation date of the ad - - The event subscribers. null if no subcribers + + Expiration date of the ad - - Thread sync lock object + + Price that was paid for this ad - - The event subscribers. null if no subcribers + + Print the struct data as a string + A string containing the field name, and field value - - Thread sync lock object + + + A parcel retrieved from the dataserver such as results from the + "For-Sale" listings or "Places" Search + - - The event subscribers. null if no subcribers + + The unique dataserver parcel ID + This id is used to obtain additional information from the entry + by using the method - - Thread sync lock object + + A string containing the name of the parcel - - A dictionary of all the regions, indexed by region name + + The size of the parcel + This field is not returned for Places searches - - A dictionary of all the regions, indexed by region handle + + The price of the parcel + This field is not returned for Places searches - - Raised when the simulator sends a - containing the location of agents in the simulator + + If True, this parcel is flagged to be auctioned - - Raised when the simulator sends a Region Data in response to - a Map request + + If true, this parcel is currently set for sale - - Raised when the simulator sends GridLayer object containing - a map tile coordinates and texture information + + Parcel traffic - - Raised when the simulator sends GridItems object containing - details on events, land sales at a specific location + + Print the struct data as a string + A string containing the field name, and field value - - Raised in response to a Region lookup + + + An Avatar returned from the dataserver + - - Unknown + + Online status of agent + This field appears to be obsolete and always returns false - - Current direction of the sun + + The agents first name - - Current angular velocity of the sun + + The agents last name - - Current world time + + The agents - - Raises the CoarseLocationUpdate event - A CoarseLocationUpdateEventArgs object containing the - data sent by simulator + + Print the struct data as a string + A string containing the field name, and field value - - Raises the GridRegion event - A GridRegionEventArgs object containing the - data sent by simulator + + + Response to a "Groups" Search + - - Raises the GridLayer event - A GridLayerEventArgs object containing the - data sent by simulator - - - Raises the GridItems event - A GridItemEventArgs object containing the - data sent by simulator - - - Raises the RegionHandleReply event - A RegionHandleReplyEventArgs object containing the - data sent by simulator + + The Group ID - - - - - + + The name of the group - - - Request a map layer - - The name of the region - The type of layer + + The current number of members - - - - - - - - - - - - - - - + + Print the struct data as a string + A string containing the field name, and field value - + + Parcel information returned from a request + + Represents one of the following: + A parcel of land on the grid that has its Show In Search flag set + A parcel of land owned by the agent making the request + A parcel of land owned by a group the agent making the request is a member of + + + In a request for Group Land, the First record will contain an empty record + + Note: This is not the same as searching the land for sale data source - - - - - - - - - - - - - - - - - - - + + The ID of the Agent of Group that owns the parcel - - - Request data for all mainland (Linden managed) simulators - + + The name - - - Request the region handle for the specified region UUID - - UUID of the region to look up + + The description - - - Get grid region information using the region name, this function - will block until it can find the region or gives up - - Name of sim you're looking for - Layer that you are requesting - Will contain a GridRegion for the sim you're - looking for if successful, otherwise an empty structure - True if the GridRegion was successfully fetched, otherwise - false + + The Size of the parcel - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The billable Size of the parcel, for mainland + parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller + than the ActualArea. For Estate land this will always be 0 - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Indicates the ForSale status of the parcel - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The Gridwide X position - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The Gridwide Y position - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The Z position of the parcel, or 0 if no landing point set - - - Avatar group management - + + The name of the Region the parcel is located in - - Key of Group Member + + The Asset ID of the parcels Snapshot texture - - Total land contribution + + The calculated visitor traffic - - Online status information + + The billing product SKU + Known values are: + + 023Mainland / Full Region + 024Estate / Full Region + 027Estate / Openspace + 029Estate / Homestead + 129Mainland / Homestead (Linden Owned) + + - - Abilities that the Group Member has + + No longer used, will always be 0 - - Current group title + + Get a SL URL for the parcel + A string, containing a standard SLURL - - Is a group owner + + Print the struct data as a string + A string containing the field name, and field value - + - Role manager for a group + An "Event" Listing summary - - Key of the group + + The ID of the event creator - - Key of Role + + The name of the event - - Name of Role + + The events ID - - Group Title associated with Role + + A string containing the short date/time the event will begin - - Description of Role + + The event start time in Unixtime (seconds since epoch) - - Abilities Associated with Role + + The events maturity rating - - Returns the role's title - The role's title + + Print the struct data as a string + A string containing the field name, and field value - + - Class to represent Group Title + The details of an "Event" - - Key of the group - - - ID of the role title belongs to + + The events ID - - Group Title + + The ID of the event creator - - Whether title is Active + + The name of the event - - Returns group title + + The category - - - Represents a group on the grid - + + The events description - - Key of Group + + The short date/time the event will begin - - Key of Group Insignia + + The event start time in Unixtime (seconds since epoch) UTC adjusted - - Key of Group Founder + + The length of the event in minutes - - Key of Group Role for Owners + + 0 if no cover charge applies - - Name of Group + + The cover charge amount in L$ if applicable - - Text of Group Charter + + The name of the region where the event is being held - - Title of "everyone" role + + The gridwide location of the event - - Is the group open for enrolement to everyone + + The maturity rating - - Will group show up in search + + Get a SL URL for the parcel where the event is hosted + A string, containing a standard SLURL - - - - - - - - - - - + + Print the struct data as a string + A string containing the field name, and field value - - Is the group Mature + + Contains the Event data returned from the data server from an EventInfoRequest - - Cost of group membership + + Construct a new instance of the EventInfoReplyEventArgs class + A single EventInfo object containing the details of an event - + + A single EventInfo object containing the details of an event - - - + + Contains the "Event" detail data returned from the data server - - The total number of current members this group has + + Construct a new instance of the DirEventsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Events" returned by the search query - - The number of roles this group has configured + + The ID returned by - - Show this group in agent's profile + + A list of "Events" returned by the data server - - Returns the name of the group - A string containing the name of the group + + Contains the "Event" list data returned from the data server - - - A group Vote - + + Construct a new instance of PlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Places" returned by the data server query - - Key of Avatar who created Vote + + The ID returned by - - Text of the Vote proposal + + A list of "Places" returned by the data server - - Total number of votes + + Contains the places data returned from the data server - - - A group proposal - + + Construct a new instance of the DirPlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing land data returned by the data server - - The Text of the proposal + + The ID returned by - - The minimum number of members that must vote before proposal passes or failes + + A list containing Places data returned by the data server - - The required ration of yes/no votes required for vote to pass - The three options are Simple Majority, 2/3 Majority, and Unanimous - TODO: this should be an enum - - The duration in days votes are accepted + + Contains the classified data returned from the data server - - - + + Construct a new instance of the DirClassifiedsReplyEventArgs class + A list of classified ad data returned from the data server - - - + + A list containing Classified Ads returned by the data server - - - + + Contains the group data returned from the data server - - - + + Construct a new instance of the DirGroupsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of groups data returned by the data server - - - + + The ID returned by - - - + + A list containing Groups data returned by the data server - - - + + Contains the people data returned from the data server - - - + + Construct a new instance of the DirPeopleReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of people data returned by the data server - - - + + The ID returned by - - - + + A list containing People data returned by the data server - - - + + Contains the land sales data returned from the data server - - - + + Construct a new instance of the DirLandReplyEventArgs class + A list of parcels for sale returned by the data server - - - + + A list containing land forsale data returned by the data server - + + Capabilities is the name of the bi-directional HTTP REST protocol + used to communicate non real-time transactions such as teleporting or + group messaging - - - + + Reference to the simulator this system is connected to - + + Default constructor + + - + + Request the URI of a named capability + Name of the capability to request + The URI of the requested capability, or String.Empty if + the capability does not exist - + + Process any incoming events, check to see if we have a message created for the event, + + - - - + + Capabilities URI this system was initialized with - - - + + Whether the capabilities event queue is connected and + listening for incoming events - + - Struct representing a group notice + Triggered when an event is received via the EventQueueGet + capability + Event name + Decoded event data + The simulator that generated the event - + + Permission request flags, asked when a script wants to control an Avatar - - - + + Placeholder for empty values, shouldn't ever see this - - - + + Script wants ability to take money from you - - - + + Script wants to take camera controls for you - - - - - + + Script wants to remap avatars controls - - - Struct representing a group notice list entry - + + Script wants to trigger avatar animations + This function is not implemented on the grid - - Notice ID + + Script wants to attach or detach the prim or primset to your avatar - - Creation timestamp of notice + + Script wants permission to release ownership + This function is not implemented on the grid + The concept of "public" objects does not exist anymore. - - Agent name who created notice + + Script wants ability to link/delink with other prims - - Notice subject + + Script wants permission to change joints + This function is not implemented on the grid - - Is there an attachment? + + Script wants permissions to change permissions + This function is not implemented on the grid - - Attachment Type + + Script wants to track avatars camera position and rotation - + + Script wants to control your camera + + - Struct representing a member of a group chat session and their settings + Special commands used in Instant Messages - - The of the Avatar + + Indicates a regular IM from another agent - - True if user has voice chat enabled + + Simple notification box with an OK button - - True of Avatar has moderator abilities + + You've been invited to join a group. - - True if a moderator has muted this avatars chat + + Inventory offer - - True if a moderator has muted this avatars voice + + Accepted inventory offer - - - Role update flags - + + Declined inventory offer - - - + + Group vote - - - + + An object is offering its inventory - - - + + Accept an inventory offer from an object - - - + + Decline an inventory offer from an object - - - + + Unknown - - - + + Start a session, or add users to a session - - - + + Start a session, but don't prune offline users - - Can send invitations to groups default role + + Start a session with your group - - Can eject members from group + + Start a session without a calling card (finder or objects) - - Can toggle 'Open Enrollment' and change 'Signup fee' + + Send a message to a session - - Member is visible in the public member list + + Leave a session - - Can create new roles + + Indicates that the IM is from an object - - Can delete existing roles + + Sent an IM to a busy user, this is the auto response - - Can change Role names, titles and descriptions + + Shows the message in the console and chat history - - Can assign other members to assigners role + + Send a teleport lure - - Can assign other members to any role + + Response sent to the agent which inititiated a teleport invitation - - Can remove members from roles + + Response sent to the agent which inititiated a teleport invitation - - Can assign and remove abilities in roles + + Only useful if you have Linden permissions - - Can change group Charter, Insignia, 'Publish on the web' and which - members are publicly visible in group member listings + + A placeholder type for future expansion, currently not + used - - Can buy land or deed land to group + + IM to tell the user to go to an URL - - Can abandon group owned land to Governor Linden on mainland, or Estate owner for - private estates + + IM for help - - Can set land for-sale information on group owned parcels + + IM sent automatically on call for help, sends a lure + to each Helper reached - - Can subdivide and join parcels + + Like an IM but won't go to email - - Can join group chat sessions + + IM from a group officer to all group members - - Can use voice chat in Group Chat sessions + + Unknown - - Can moderate group chat sessions + + Unknown - - Can toggle "Show in Find Places" and set search category + + Accept a group invitation - - Can change parcel name, description, and 'Publish on web' settings + + Decline a group invitation - - Can set the landing point and teleport routing on group land + + Unknown - - Can change music and media settings + + An avatar is offering you friendship - - Can toggle 'Edit Terrain' option in Land settings + + An avatar has accepted your friendship offer - - Can toggle various About Land > Options settings + + An avatar has declined your friendship offer - - Can always terraform land, even if parcel settings have it turned off + + Indicates that a user has started typing - - Can always fly while over group owned land + + Indicates that a user has stopped typing - - Can always rez objects on group owned land + + + Flag in Instant Messages, whether the IM should be delivered to + offline avatars as well + - - Can always create landmarks for group owned parcels + + Only deliver to online avatars - - Can set home location on any group owned parcel + + If the avatar is offline the message will be held until + they login next, and possibly forwarded to their e-mail account - - Can modify public access settings for group owned parcels + + + Conversion type to denote Chat Packet types in an easier-to-understand format + - - Can manager parcel ban lists on group owned land + + Whisper (5m radius) - - Can manage pass list sales information + + Normal chat (10/20m radius), what the official viewer typically sends - - Can eject and freeze other avatars on group owned land + + Shouting! (100m radius) - - Can return objects set to group + + Event message when an Avatar has begun to type - - Can return non-group owned/set objects + + Event message when an Avatar has stopped typing - - Can return group owned objects + + Send the message to the debug channel - - Can landscape using Linden plants + + Event message when an object uses llOwnerSay - - Can deed objects to group + + Special value to support llRegionSay, never sent to the client - - Can move group owned objects + + + Identifies the source of a chat message + - - Can set group owned objects for-sale + + Chat from the grid or simulator - - Pay group liabilities and receive group dividends + + Chat from another avatar - - Can send group notices + + Chat from an object - - Can receive group notices + + + + - - Can create group proposals + + - - Can vote on group proposals + + - - - Handles all network traffic related to reading and writing group - information - + + - + - Construct a new instance of the GroupManager class + Effect type used in ViewerEffect packets - A reference to the current instance - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + Project a beam from a source to a destination, such as + the one used when editing an object - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + Create a swirl of particles around an object - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + Cause an avatar to look at an object - - Thread sync lock object + + Cause an avatar to point at an object - - The event subscribers. null if no subcribers + + + The action an avatar is doing when looking at something, used in + ViewerEffect packets for the LookAt effect + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + Deprecated - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + + The action an avatar is doing when pointing at something, used in + ViewerEffect packets for the PointAt effect + - - Thread sync lock object + + - - A reference to the current instance + + - - Currently-active group members requests + + - - Currently-active group roles requests + + - - Currently-active group role-member requests + + + Money transaction types + - - Dictionary keeping group members while request is in progress + + - - Dictionary keeping mebmer/role mapping while request is in progress + + - - Dictionary keeping GroupRole information while request is in progress + + - - Caches group name lookups + + - - Raised when the simulator sends us data containing - our current group membership + + - - Raised when the simulator responds to a RequestGroupName - or RequestGroupNames request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when a response to a RequestGroupAccountSummary is returned - by the simulator + + - - Raised when a request to create a group is successful + + - - Raised when a request to join a group either - fails or succeeds + + - - Raised when a request to leave a group either - fails or succeeds + + - - Raised when A group is removed from the group server + + - - Raised when a request to eject a member from a group either - fails or succeeds + + - - Raised when the simulator sends us group notices - + + - - Raised when another agent invites our avatar to join a group + + - - Raises the CurrentGroups event - A CurrentGroupsEventArgs object containing the - data sent from the simulator + + - - Raises the GroupNamesReply event - A GroupNamesEventArgs object containing the - data response from the simulator + + - - Raises the GroupProfile event - An GroupProfileEventArgs object containing the - data returned from the simulator + + - - Raises the GroupMembers event - A GroupMembersEventArgs object containing the - data returned from the simulator + + - - Raises the GroupRolesDataReply event - A GroupRolesDataReplyEventArgs object containing the - data returned from the simulator + + - - Raises the GroupRoleMembersReply event - A GroupRolesRoleMembersReplyEventArgs object containing the - data returned from the simulator + + - - Raises the GroupTitlesReply event - A GroupTitlesReplyEventArgs object containing the - data returned from the simulator + + - - Raises the GroupAccountSummary event - A GroupAccountSummaryReplyEventArgs object containing the - data returned from the simulator + + - - Raises the GroupCreated event - An GroupCreatedEventArgs object containing the - data returned from the simulator + + - - Raises the GroupJoined event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + - - Raises the GroupLeft event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + - - Raises the GroupDropped event - An GroupDroppedEventArgs object containing the - the group your agent left + + - - Raises the GroupMemberEjected event - An GroupMemberEjectedEventArgs object containing the - data returned from the simulator + + - - Raises the GroupNoticesListReply event - An GroupNoticesListReplyEventArgs object containing the - data returned from the simulator + + - - Raises the GroupInvitation event - An GroupInvitationEventArgs object containing the - data returned from the simulator + + - - - Request a current list of groups the avatar is a member of. - - CAPS Event Queue must be running for this to work since the results - come across CAPS. + + - - - Lookup name of group based on groupID - - groupID of group to lookup name for. + + - - - Request lookup of multiple group names - - List of group IDs to request. + + - - Lookup group profile data such as name, enrollment, founder, logo, etc - Subscribe to OnGroupProfile event to receive the results. - group ID (UUID) + + - - Request a list of group members. - Subscribe to OnGroupMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + - - Request group roles - Subscribe to OnGroupRoles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + - - Request members (members,role) role mapping for a group. - Subscribe to OnGroupRolesMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + - - Request a groups Titles - Subscribe to OnGroupTitles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + - - Begin to get the group account summary - Subscribe to the OnGroupAccountSummary event to receive the results. - group ID (UUID) - How long of an interval - Which interval (0 for current, 1 for last) + + - - Invites a user to a group - The group to invite to - A list of roles to invite a person to - Key of person to invite + + - - Set a group as the current active group - group ID (UUID) + + - - Change the role that determines your active title - Group ID to use - Role ID to change to + + - - Set this avatar's tier contribution - Group ID to change tier in - amount of tier to donate + + - - - Save wheather agent wants to accept group notices and list this group in their profile - - Group - Accept notices from this group - List this group in the profile + + - - Request to join a group - Subscribe to OnGroupJoined event for confirmation. - group ID (UUID) to join. + + - + + + + - Request to create a new group. If the group is successfully - created, L$100 will automatically be deducted + - Subscribe to OnGroupCreated event to receive confirmation. - Group struct containing the new group info - - Update a group's profile and other information - Groups ID (UUID) to update. - Group struct to update. + + - - Eject a user from a group - Group ID to eject the user from - Avatar's key to eject + + - - Update role information - Modified role to be updated + + - - Create a new group role - Group ID to update - Role to create + + - - Delete a group role - Group ID to update - Role to delete + + - - Remove an avatar from a role - Group ID to update - Role ID to be removed from - Avatar's Key to remove + + - - Assign an avatar to a role - Group ID to update - Role ID to assign to - Avatar's ID to assign to role + + + + - - Request the group notices list - Group ID to fetch notices for + + - - Request a group notice by key - ID of group notice + + - - Send out a group notice - Group ID to update - - GroupNotice structure containing notice data + + - - Start a group proposal (vote) - The Group ID to send proposal to - - GroupProposal structure containing the proposal + + - - Request to leave a group - Subscribe to OnGroupLeft event to receive confirmation - The group to leave + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Flags sent when a script takes or releases a control + + NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + No Flags set - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Forward (W or up Arrow) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Back (S or down arrow) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Move left (shift+A or left arrow) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Move right (shift+D or right arrow) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Up (E or PgUp) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Down (C or PgDown) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Rotate left (A or left arrow) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Rotate right (D or right arrow) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Left Mouse Button - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Left Mouse button in MouseLook - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Currently only used to hide your group title + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + No flags set - - Contains the current groups your agent is a member of + + Hide your group title - - Construct a new instance of the CurrentGroupsEventArgs class - The current groups your agent is a member of - - - Get the current groups your agent is a member of - - - A Dictionary of group names, where the Key is the groups ID and the value is the groups name - - - Construct a new instance of the GroupNamesEventArgs class - The Group names dictionary - - - Get the Group Names dictionary - - - Represents the members of a group - - + - Construct a new instance of the GroupMembersReplyEventArgs class + Action state of the avatar, which can currently be typing and + editing - The ID of the request - The ID of the group - The membership list of the group - - - Get the ID as returned by the request to correlate - this result set and the request - - Get the ID of the group + + - - Get the dictionary of members + + - - Represents the roles associated with a group + + - - Construct a new instance of the GroupRolesDataReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The dictionary containing the roles + + + Current teleport status + - - Get the ID as returned by the request to correlate - this result set and the request + + Unknown status - - Get the ID of the group + + Teleport initialized - - Get the dictionary containing the roles + + Teleport in progress - - Represents the Role to Member mappings for a group + + Teleport failed - - Construct a new instance of the GroupRolesMembersReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The member to roles map + + Teleport completed - - Get the ID as returned by the request to correlate - this result set and the request + + Teleport cancelled - - Get the ID of the group + + + + - - Get the member to roles map + + No flags set, or teleport failed - - Represents the titles for a group + + Set when newbie leaves help island for first time - - Construct a new instance of the GroupTitlesReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The titles + + - - Get the ID as returned by the request to correlate - this result set and the request + + Via Lure - - Get the ID of the group + + Via Landmark - - Get the titles + + Via Location - - Represents the summary data for a group + + Via Home - - Construct a new instance of the GroupAccountSummaryReplyEventArgs class - The ID of the group - The summary data + + Via Telehub - - Get the ID of the group + + Via Login - - Get the summary data + + Linden Summoned - - A response to a group create request + + Linden Forced me - - Construct a new instance of the GroupCreatedReplyEventArgs class - The ID of the group - the success or faulure of the request - A string containing additional information + + - - Get the ID of the group + + Agent Teleported Home via Script - - true of the group was created successfully + + - - A string containing the message + + - - Represents a response to a request + + - - Construct a new instance of the GroupOperationEventArgs class - The ID of the group - true of the request was successful + + forced to new location for example when avatar is banned or ejected - - Get the ID of the group + + Teleport Finished via a Lure - - true of the request was successful + + Finished, Sim Changed - - Represents your agent leaving a group + + Finished, Same Sim - - Construct a new instance of the GroupDroppedEventArgs class - The ID of the group + + + + - - Get the ID of the group + + - - Represents a list of active group notices + + - - Construct a new instance of the GroupNoticesListReplyEventArgs class - The ID of the group - The list containing active notices + + - - Get the ID of the group + + + + - - Get the notices list + + - - Represents the profile of a group + + - - Construct a new instance of the GroupProfileEventArgs class - The group profile + + - - Get the group profile + + - + - Provides notification of a group invitation request sent by another Avatar + Instant Message - The invitation is raised when another avatar makes an offer for our avatar - to join a group. - - The ID of the Avatar sending the group invitation + + Key of sender - - The name of the Avatar sending the group invitation + + Name of sender - - A message containing the request information which includes - the name of the group, the groups charter and the fee to join details + + Key of destination avatar - - The Simulator + + ID of originating estate - - Set to true to accept invitation, false to decline + + Key of originating region - - - Static helper functions and global variables - + + Coordinates in originating region - - - Passed to Logger.Log() to identify the severity of a log entry - + + Instant message type - - No logging information will be output + + Group IM session toggle - - Non-noisy useful information, may be helpful in - debugging a problem + + Key of IM session, for Group Messages, the groups UUID - - A non-critical error occurred. A warning will not - prevent the rest of the library from operating as usual, - although it may be indicative of an underlying issue + + Timestamp of the instant message - - A critical error has occurred. Generally this will - be followed by the network layer shutting down, although the - stability of the library after an error is uncertain + + Instant message text - - Used for internal testing, this logging level can - generate very noisy (long and/or repetitive) messages. Don't - pass this to the Log() function, use DebugLog() instead. + + Whether this message is held for offline avatars + + + Context specific packed data + + + Print the struct data as a string + A string containing the field name, and field value + + + + Manager class for our own avatar - - This header flag signals that ACKs are appended to the packet + + The event subscribers. null if no subcribers - - This header flag signals that this packet has been sent before + + Raises the ChatFromSimulator event + A ChatEventArgs object containing the + data returned from the data server - - This header flags signals that an ACK is expected for this packet + + Thread sync lock object - - This header flag signals that the message is compressed using zerocoding + + The event subscribers. null if no subcribers - - - - - - - + + Raises the ScriptDialog event + A SctriptDialogEventArgs object containing the + data returned from the data server - - - - - - - - - + + Thread sync lock object - - - - - - - + + The event subscribers. null if no subcribers - - - - - - - - - + + Raises the ScriptQuestion event + A ScriptQuestionEventArgs object containing the + data returned from the data server - - - Given an X/Y location in absolute (grid-relative) terms, a region - handle is returned along with the local X/Y location in that region - - The absolute X location, a number such as - 255360.35 - The absolute Y location, a number such as - 255360.35 - The sim-local X position of the global X - position, a value from 0.0 to 256.0 - The sim-local Y position of the global Y - position, a value from 0.0 to 256.0 - A 64-bit region handle that can be used to teleport to + + Thread sync lock object - - - Converts a floating point number to a terse string format used for - transmitting numbers in wearable asset files - - Floating point number to convert to a string - A terse string representation of the input number + + The event subscribers. null if no subcribers - - - Convert a variable length field (byte array) to a string, with a - field name prepended to each line of the output - - If the byte array has unprintable characters in it, a - hex dump will be written instead - The StringBuilder object to write to - The byte array to convert to a string - A field name to prepend to each line of output + + Raises the LoadURL event + A LoadUrlEventArgs object containing the + data returned from the data server - - - Decode a zerocoded byte array, used to decompress packets marked - with the zerocoded flag - - Any time a zero is encountered, the next byte is a count - of how many zeroes to expand. One zero is encoded with 0x00 0x01, - two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The - first four bytes are copied directly to the output buffer. - - The byte array to decode - The length of the byte array to decode. This - would be the length of the packet up to (but not including) any - appended ACKs - The output byte array to decode to - The length of the output buffer + + Thread sync lock object - - - Encode a byte array with zerocoding. Used to compress packets marked - with the zerocoded flag. Any zeroes in the array are compressed down - to a single zero byte followed by a count of how many zeroes to expand - out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, - three zeroes becomes 0x00 0x03, etc. The first four bytes are copied - directly to the output buffer. - - The byte array to encode - The length of the byte array to encode - The output byte array to encode to - The length of the output buffer + + The event subscribers. null if no subcribers - - - Calculates the CRC (cyclic redundancy check) needed to upload inventory. - - Creation date - Sale type - Inventory type - Type - Asset ID - Group ID - Sale price - Owner ID - Creator ID - Item ID - Folder ID - Everyone mask (permissions) - Flags - Next owner mask (permissions) - Group mask (permissions) - Owner mask (permissions) - The calculated CRC + + Raises the MoneyBalance event + A BalanceEventArgs object containing the + data returned from the data server - - - Attempts to load a file embedded in the assembly - - The filename of the resource to load - A Stream for the requested file, or null if the resource - was not successfully loaded + + Thread sync lock object - - - Attempts to load a file either embedded in the assembly or found in - a given search path - - The filename of the resource to load - An optional path that will be searched if - the asset is not found embedded in the assembly - A Stream for the requested file, or null if the resource - was not successfully loaded + + The event subscribers. null if no subcribers - - - Converts a list of primitives to an object that can be serialized - with the LLSD system - - Primitives to convert to a serializable object - An object that can be serialized with LLSD + + Raises the MoneyBalanceReply event + A MoneyBalanceReplyEventArgs object containing the + data returned from the data server - - - Deserializes OSD in to a list of primitives - - Structure holding the serialized primitive list, - must be of the SDMap type - A list of deserialized primitives + + Thread sync lock object - - - Converts a struct or class object containing fields only into a key value separated string - - The struct object - A string containing the struct fields as the keys, and the field value as the value separated - - - // Add the following code to any struct or class containing only fields to override the ToString() - // method to display the values of the passed object - /// Print the struct data as a string - ///A string containing the field name, and field value - public override string ToString() - { - return Helpers.StructToString(this); - } - - + + The event subscribers. null if no subcribers - - - The InternalDictionary class is used through the library for storing key/value pairs. - It is intended to be a replacement for the generic Dictionary class and should - be used in its place. It contains several methods for allowing access to the data from - outside the library that are read only and thread safe. - - Key - Value + + Raises the IM event + A InstantMessageEventArgs object containing the + data returned from the data server - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); - - + + Thread sync lock object - - - Initializes a new instance of the Class - with the specified key/value, has its initial valies copied from the specified - - - - to copy initial values from - - - // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. - // populates with copied values from example KeyNameCache Dictionary. - // create source dictionary - Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); - KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); - KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); - // Initialize new dictionary. - public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); - - + + The event subscribers. null if no subcribers - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); - - + + Raises the TeleportProgress event + A TeleportEventArgs object containing the + data returned from the data server - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - on this member + + Thread sync lock object - - - Indexer for the dictionary - - The key - The value + + The event subscribers. null if no subcribers - - - Gets the number of Key/Value pairs contained in the + + Raises the AgentDataReply event + A AgentDataReplyEventArgs object containing the + data returned from the data server - - - Try to get entry from with specified key - - Key to use for lookup - Value returned - - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - + + Thread sync lock object - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - + + The event subscribers. null if no subcribers - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - + + Raises the AnimationsChanged event + A AnimationsChangedEventArgs object containing the + data returned from the data server - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - + + Thread sync lock object - - Perform an on each entry in an - - to perform - - - // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. - Client.Network.CurrentSim.ObjectsPrimitives.ForEach( - delegate(Primitive prim) - { - if (prim.Text != null) - { - Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", - prim.PropertiesFamily.Name, prim.ID, prim.Text); - } - }); - - + + The event subscribers. null if no subcribers - - Perform an on each key of an - - to perform + + Raises the MeanCollision event + A MeanCollisionEventArgs object containing the + data returned from the data server - - - Perform an on each KeyValuePair of an - - to perform + + Thread sync lock object - - Check if Key exists in Dictionary - Key to check for - - if found, otherwise + + The event subscribers. null if no subcribers - - Check if Value exists in Dictionary - Value to check for - - if found, otherwise + + Raises the RegionCrossed event + A RegionCrossedEventArgs object containing the + data returned from the data server - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - The key - The value + + Thread sync lock object - - - Removes the specified key, dictionary locking is not performed - - The key. - - if successful, otherwise + + The event subscribers. null if no subcribers + + + Raises the GroupChatJoined event + A GroupChatJoinedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the AlertMessage event + A AlertMessageEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ScriptControlChange event + A ScriptControlEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the CameraConstraint event + A CameraConstraintEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ScriptSensorReply event + A ScriptSensorReplyEventArgs object containing the + data returned from the data server - - - Exception class to identify inventory exceptions - + + Thread sync lock object - - - Responsible for maintaining inventory structure. Inventory constructs nodes - and manages node children as is necessary to maintain a coherant hirarchy. - Other classes should not manipulate or create InventoryNodes explicitly. When - A node's parent changes (when a folder is moved, for example) simply pass - Inventory the updated InventoryFolder and it will make the appropriate changes - to its internal representation. - + + The event subscribers. null if no subcribers - - The event subscribers, null of no subscribers + + Raises the AvatarSitResponse event + A AvatarSitResponseEventArgs object containing the + data returned from the data server - + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - + + Raises the ChatSessionMemberAdded event + A ChatSessionMemberAddedEventArgs object containing the + data returned from the data server + + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Thread sync lock object + + Raises the ChatSessionMemberLeft event + A ChatSessionMemberLeftEventArgs object containing the + data returned from the data server - - Raised when the simulator sends us data containing - ... + + Thread sync lock object - - Raised when the simulator sends us data containing - ... + + Reference to the GridClient instance - - Raised when the simulator sends us data containing - ... + + Used for movement and camera tracking - - - By using the bracket operator on this class, the program can get the - InventoryObject designated by the specified uuid. If the value for the corresponding - UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). - If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), - the uuid parameter is ignored. - - The UUID of the InventoryObject to get or set, ignored if set to non-null value. - The InventoryObject corresponding to uuid. + + Currently playing animations for the agent. Can be used to + check the current movement status such as walking, hovering, aiming, + etc. by checking against system animations found in the Animations class - - - The root folder of this avatars inventory - + + Dictionary containing current Group Chat sessions and members - + - The default shared library folder + Constructor, setup callbacks for packets related to our avatar + A reference to the Class - + - The root node of the avatars inventory + Send a text message from the Agent to the Simulator + A containing the message + The channel to send the message on, 0 is the public channel. Channels above 0 + can be used however only scripts listening on the specified channel will see the message + Denotes the type of message being sent, shout, whisper, etc. - + - The root node of the default shared library + Request any instant messages sent while the client was offline to be resent. - - Raises the InventoryObjectUpdated Event - A InventoryObjectUpdatedEventArgs object containing - the data sent from the simulator - - - Raises the InventoryObjectRemoved Event - A InventoryObjectRemovedEventArgs object containing - the data sent from the simulator - - - Raises the InventoryObjectAdded Event - A InventoryObjectAddedEventArgs object containing - the data sent from the simulator - - + - Returns the contents of the specified folder + Send an Instant Message to another Avatar - A folder's UUID - The contents of the folder corresponding to folder - When folder does not exist in the inventory + The recipients + A containing the message to send - + - Updates the state of the InventoryNode and inventory data structure that - is responsible for the InventoryObject. If the item was previously not added to inventory, - it adds the item, and updates structure accordingly. If it was, it updates the - InventoryNode, changing the parent node if item.parentUUID does - not match node.Parent.Data.UUID. - You can not set the inventory root folder using this method + Send an Instant Message to an existing group chat or conference chat - The InventoryObject to store + The recipients + A containing the message to send + IM session ID (to differentiate between IM windows) - + - Removes the InventoryObject and all related node data from Inventory. + Send an Instant Message - The InventoryObject to remove. + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + IDs of sessions for a conference - + - Used to find out if Inventory contains the InventoryObject - specified by uuid. + Send an Instant Message - The UUID to check. - true if inventory contains uuid, false otherwise + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + Type of instant message to send + Whether to IM offline avatars as well + Senders Position + RegionID Sender is In + Packed binary data that is specific to + the dialog type - + - Saves the current inventory structure to a cache file + Send an Instant Message to a group - Name of the cache file to save to + of the group to send message to + Text Message being sent. - + - Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + Send an Instant Message to a group the agent is a member of - Name of the cache file to load - The number of inventory items sucessfully reconstructed into the inventory node tree - - - Sort by name - - - Sort by date - - - Sort folders by name, regardless of whether items are - sorted by name or date - - - Place system folders at the top + The name this IM will show up as being from + of the group to send message to + Text message being sent - + - Possible destinations for DeRezObject request + Send a request to join a group chat session + of Group to leave - + + Exit a group chat session. This will stop further Group chat messages + from being sent until session is rejoined. + of Group chat session to leave - - Copy from in-world to agent inventory - - - Derez to TaskInventory - - + + Reply to script dialog questions. + Channel initial request came on + Index of button you're "clicking" + Label of button you're "clicking" + of Object that sent the dialog request + - - Take Object - - + + Accept invite for to a chatterbox session + of session to accept invite to - - Delete Object - - - Put an avatar attachment into agent inventory - - + + Start a friends conference + List of UUIDs to start a conference with + the temportary session ID returned in the callback> - - Return an object back to the owner's inventory - - - Return a deeded object back to the last owner's inventory - - + - Upper half of the Flags field for inventory items + Start a particle stream between an agent and an object + Key of the source agent + Key of the target object + + The type from the enum + A unique for this effect - - Indicates that the NextOwner permission will be set to the - most restrictive set of permissions found in the object set - (including linkset items and object inventory items) on next rez - - - Indicates that the object sale information has been - changed - - - If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez - - - Indicates whether this object is composed of multiple - items or not - - - Indicates that the asset is only referenced by this - inventory item. If this item is deleted or updated to reference a - new assetID, the asset can be deleted - - + - Base Class for Inventory Items + Start a particle stream between an agent and an object + Key of the source agent + Key of the target object + A representing the beams offset from the source + A which sets the avatars lookat animation + of the Effect - + - Constructor, takes an itemID as a parameter + Create a particle beam between an avatar and an primitive - The of the item + The ID of source avatar + The ID of the target primitive + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam + - + + Create a particle swirl around a target position using a packet - - + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam - + - of item/folder + Sends a request to sit on the specified object + + of the object to sit on + Sit at offset - + - of parent folder - - - Name of item/folder + Follows a call to to actually sit on the object + - - Item/Folder Owners + + Stands up from sitting on a prim or the ground + true of AgentUpdate was sent - + + Does a "ground sit" at the avatar's current position - - - + - Generates a number corresponding to the value of the object to support the use of a hash table, - suitable for use in hashing algorithms and data structures such as a hash table + Starts or stops flying - A Hashcode of all the combined InventoryBase fields + True to start flying, false to stop flying - + - Determine whether the specified object is equal to the current object + Starts or stops crouching - InventoryBase object to compare against - true if objects are the same + True to start crouching, false to stop crouching - + - Determine whether the specified object is equal to the current object + Starts a jump (begin holding the jump key) - InventoryBase object to compare against - true if objects are the same - + - An Item in Inventory + Use the autopilot sim function to move the avatar to a new + position. Uses double precision to get precise movements + The z value is currently not handled properly by the simulator + Global X coordinate to move to + Global Y coordinate to move to + Z coordinate to move to - + - Construct a new InventoryItem object + Use the autopilot sim function to move the avatar to a new position - The of the item + The z value is currently not handled properly by the simulator + Integer value for the global X coordinate to move to + Integer value for the global Y coordinate to move to + Floating-point value for the Z coordinate to move to - + - Construct a new InventoryItem object of a specific Type + Use the autopilot sim function to move the avatar to a new position - The type of item from - - of the item + The z value is currently not handled properly by the simulator + Integer value for the local X coordinate to move to + Integer value for the local Y coordinate to move to + Floating-point value for the Z coordinate to move to - + + Macro to cancel autopilot sim function + Not certain if this is how it is really done + true if control flags were set and AgentUpdate was sent to the simulator + + + Grabs an object - - - - - The of this item - - - The combined of this item - - - The type of item from - - - The type of item from the enum - - - The of the creator of this item - - - A Description of this item - - - The s this item is set to or owned by - - - If true, item is owned by a group - - - The price this item can be purchased for - - - The type of sale from the enum - - - Combined flags from - - - Time and date this inventory item was created, stored as - UTC (Coordinated Universal Time) + an unsigned integer of the objects ID within the simulator + - - Used to update the AssetID in requests sent to the server + + + Overload: Grab a simulated object + + an unsigned integer of the objects ID within the simulator + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - - The of the previous owner of the item + + + Drag an object + + of the object to drag + Drag target in region coordinates - + - Indicates inventory item is a link + Overload: Drag an object - True if inventory item is a link to another inventory item + of the object to drag + Drag target in region coordinates + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - + + Release a grabbed object - - + The Objects Simulator Local ID + + + - + - Generates a number corresponding to the value of the object to support the use of a hash table. - Suitable for use in hashing algorithms and data structures such as a hash table + Release a grabbed object - A Hashcode of all the combined InventoryItem fields + The Objects Simulator Local ID + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - + - Compares an object + Touches an object - The object to compare - true if comparison object matches + an unsigned integer of the objects ID within the simulator + - + - Determine whether the specified object is equal to the current object + Request the current L$ balance - The object to compare against - true if objects are the same - + - Determine whether the specified object is equal to the current object + Give Money to destination Avatar - The object to compare against - true if objects are the same + UUID of the Target Avatar + Amount in L$ - + - InventoryTexture Class representing a graphical image + Give Money to destination Avatar - + UUID of the Target Avatar + Amount in L$ + Description that will show up in the + recipients transaction history - + - Construct an InventoryTexture object + Give L$ to an object - A which becomes the - objects AssetUUID + object to give money to + amount of L$ to give + name of object - + - Construct an InventoryTexture object from a serialization stream + Give L$ to a group + group to give money to + amount of L$ to give - + - InventorySound Class representing a playable sound + Give L$ to a group + group to give money to + amount of L$ to give + description of transaction - + - Construct an InventorySound object + Pay texture/animation upload fee - A which becomes the - objects AssetUUID - + - Construct an InventorySound object from a serialization stream + Pay texture/animation upload fee + description of the transaction - + - InventoryCallingCard Class, contains information on another avatar + Give Money to destination Object or Avatar + UUID of the Target Object/Avatar + Amount in L$ + Reason (Optional normally) + The type of transaction + Transaction flags, mostly for identifying group + transactions - + - Construct an InventoryCallingCard object + Plays a gesture - A which becomes the - objects AssetUUID + Asset of the gesture - + - Construct an InventoryCallingCard object from a serialization stream + Mark gesture active + Inventory of the gesture + Asset of the gesture - + - InventoryLandmark Class, contains details on a specific location + Mark gesture inactive + Inventory of the gesture - + - Construct an InventoryLandmark object + Send an AgentAnimation packet that toggles a single animation on - A which becomes the - objects AssetUUID + The of the animation to start playing + Whether to ensure delivery of this packet or not - + - Construct an InventoryLandmark object from a serialization stream + Send an AgentAnimation packet that toggles a single animation off + The of a + currently playing animation to stop playing + Whether to ensure delivery of this packet or not - + - Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + Send an AgentAnimation packet that will toggle animations on or off + A list of animation s, and whether to + turn that animation on or off + Whether to ensure delivery of this packet or not - + - InventoryObject Class contains details on a primitive or coalesced set of primitives + Teleports agent to their stored home location + true on successful teleport to home location - + - Construct an InventoryObject object + Teleport agent to a landmark - A which becomes the - objects AssetUUID + of the landmark to teleport agent to + true on success, false on failure - + - Construct an InventoryObject object from a serialization stream + Attempt to look up a simulator name and teleport to the discovered + destination + Region name to look up + Position to teleport to + True if the lookup and teleport were successful, otherwise + false - + - Gets or sets the upper byte of the Flags value + Attempt to look up a simulator name and teleport to the discovered + destination + Region name to look up + Position to teleport to + Target to look at + True if the lookup and teleport were successful, otherwise + false - + - Gets or sets the object attachment point, the lower byte of the Flags value + Teleport agent to another region + handle of region to teleport agent to + position in destination sim to teleport to + true on success, false on failure + This call is blocking - + - InventoryNotecard Class, contains details on an encoded text document + Teleport agent to another region + handle of region to teleport agent to + position in destination sim to teleport to + direction in destination sim agent will look at + true on success, false on failure + This call is blocking - + - Construct an InventoryNotecard object + Request teleport to a another simulator - A which becomes the - objects AssetUUID + handle of region to teleport agent to + position in destination sim to teleport to - + - Construct an InventoryNotecard object from a serialization stream + Request teleport to a another simulator + handle of region to teleport agent to + position in destination sim to teleport to + direction in destination sim agent will look at - + - InventoryCategory Class + Teleport agent to a landmark - TODO: Is this even used for anything? + of the landmark to teleport agent to - + - Construct an InventoryCategory object + Send a teleport lure to another avatar with default "Join me in ..." invitation message - A which becomes the - objects AssetUUID + target avatars to lure - + - Construct an InventoryCategory object from a serialization stream + Send a teleport lure to another avatar with custom invitation message + target avatars to lure + custom message to send with invitation - + - InventoryLSL Class, represents a Linden Scripting Language object + Respond to a teleport lure by either accepting it and initiating + the teleport, or denying it + of the avatar sending the lure + true to accept the lure, false to decline it - + - Construct an InventoryLSL object + Update agent profile - A which becomes the - objects AssetUUID + struct containing updated + profile information - + - Construct an InventoryLSL object from a serialization stream + Update agents profile interests + selection of interests from struct - + - InventorySnapshot Class, an image taken with the viewer + Set the height and the width of the client window. This is used + by the server to build a virtual camera frustum for our avatar + New height of the viewer window + New width of the viewer window - + - Construct an InventorySnapshot object + Request the list of muted objects and avatars for this agent - A which becomes the - objects AssetUUID - + - Construct an InventorySnapshot object from a serialization stream + Sets home location to agents current position + will fire an AlertMessage () with + success or failure message - + - InventoryAttachment Class, contains details on an attachable object + Move an agent in to a simulator. This packet is the last packet + needed to complete the transition in to a new simulator + Object - + - Construct an InventoryAttachment object + Reply to script permissions request - A which becomes the - objects AssetUUID + Object + of the itemID requesting permissions + of the taskID requesting permissions + list of permissions to allow - + - Construct an InventoryAttachment object from a serialization stream + Respond to a group invitation by either accepting or denying it + UUID of the group (sent in the AgentID field of the invite message) + IM Session ID from the group invitation message + Accept the group invitation or deny it - + - Get the last AttachmentPoint this object was attached to + Requests script detection of objects and avatars + name of the object/avatar to search for + UUID of the object or avatar to search for + Type of search from ScriptSensorTypeFlags + range of scan (96 max?) + the arc in radians to search within + an user generated ID to correlate replies with + Simulator to perform search in - + - InventoryWearable Class, details on a clothing item or body part + Create or update profile pick + UUID of the pick to update, or random UUID to create a new pick + Is this a top pick? (typically false) + UUID of the parcel (UUID.Zero for the current parcel) + Name of the pick + Global position of the pick landmark + UUID of the image displayed with the pick + Long description of the pick - + - Construct an InventoryWearable object + Delete profile pick - A which becomes the - objects AssetUUID + UUID of the pick to delete - + - Construct an InventoryWearable object from a serialization stream + Create or update profile Classified + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Global position of the classified landmark + Name of the classified + Long description of the classified + if true, auto renew classified after expiration - + - The , Skin, Shape, Skirt, Etc + Create or update profile Classified + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Name of the classified + Long description of the classified + if true, auto renew classified after expiration - + - InventoryAnimation Class, A bvh encoded object which animates an avatar + Delete a classified ad + The classified ads ID - + - Construct an InventoryAnimation object + Fetches resource usage by agents attachmetns - A which becomes the - objects AssetUUID + Called when the requested information is collected - + - Construct an InventoryAnimation object from a serialization stream + Take an incoming ImprovedInstantMessage packet, auto-parse, and if + OnInstantMessage is defined call that with the appropriate arguments + The sender + The EventArgs object containing the packet data - + - InventoryGesture Class, details on a series of animations, sounds, and actions + Take an incoming Chat packet, auto-parse, and if OnChat is defined call + that with the appropriate arguments. + The sender + The EventArgs object containing the packet data - + - Construct an InventoryGesture object + Used for parsing llDialogs - A which becomes the - objects AssetUUID + The sender + The EventArgs object containing the packet data - + - Construct an InventoryGesture object from a serialization stream + Used for parsing llRequestPermissions dialogs + The sender + The EventArgs object containing the packet data - + - A folder contains s and has certain attributes specific - to itself + Handles Script Control changes when Script with permissions releases or takes a control + The sender + The EventArgs object containing the packet data - + - Constructor + Used for parsing llLoadURL Dialogs - UUID of the folder + The sender + The EventArgs object containing the packet data - + - Construct an InventoryFolder object from a serialization stream + Update client's Position, LookAt and region handle from incoming packet + The sender + The EventArgs object containing the packet data + This occurs when after an avatar moves into a new sim - - The Preferred for a folder. - - - The Version of this folder + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Number of child items this folder contains. + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Get Serilization data for this InventoryFolder object + Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. + The Message Key + An IMessage object Deserialized from the recieved message event + The simulator originating the event message - + + Process TeleportFinish from Event Queue and pass it onto our TeleportHandler - - + The message system key for this event + IMessage object containing decoded data from OSD + The simulator originating the event message - - - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Tools for dealing with agents inventory + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - - Default constructor - - Reference to the GridClient object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + This packet is now being sent via the EventQueue - + - Callback for inventory item creation finishing + Group Chat event handler - Whether the request to create an inventory - item succeeded or not - Inventory item being created. If success is - false this will be null + The capability Key + IMessage object containing decoded data from OSD + - + - Callback for an inventory item being create from an uploaded asset + Response from request to join a group chat - true if inventory item creation was successful - - - - - - + + IMessage object containing decoded data from OSD + - + + Someone joined or left group chat - - + + IMessage object containing decoded data from OSD + - + - Reply received when uploading an inventory asset + Handle a group chat Invitation - Has upload been successful - Error message if upload failed - Inventory asset UUID - New asset UUID + Caps Key + IMessage object containing decoded data from OSD + Originating Simulator - + - Delegate that is invoked when script upload is completed + Moderate a chat session - Has upload succeded (note, there still might be compile errors) - Upload status message - Is compilation successful - If compilation failed, list of error messages, null on compilation success - Script inventory UUID - Script's new asset UUID - - - Used for converting shadow_id to asset_id - - - The event subscribers, null of no subscribers - - - Thread sync lock object + the of the session to moderate, for group chats this will be the groups UUID + the of the avatar to moderate + Either "voice" to moderate users voice, or "text" to moderate users text session + true to moderate (silence user), false to allow avatar to speak - - The event subscribers, null of no subscribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers, null of no subscribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers, null of no subscribers + + Raised when a scripted object or agent within range sends a public message - - Thread sync lock object + + Raised when a scripted object sends a dialog box containing possible + options an agent can respond to - - The event subscribers, null of no subscribers + + Raised when an object requests a change in the permissions an agent has permitted - - Thread sync lock object + + Raised when a script requests an agent open the specified URL - - The event subscribers, null of no subscribers + + Raised when an agents currency balance is updated - - Thread sync lock object + + Raised when a transaction occurs involving currency such as a land purchase - - The event subscribers, null of no subscribers + + Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from + private messaging to friendship offers. The Dialog field defines what type of message has arrived - - Thread sync lock object + + Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times + for each teleport indicating the progress of the request - - The event subscribers, null of no subscribers + + Raised when a simulator sends agent specific information for our avatar. - - Thread sync lock object + + Raised when our agents animation playlist changes - - Partial mapping of AssetTypes to folder names + + Raised when an object or avatar forcefully collides with our agent - - Raised when the simulator sends us data containing - ... + + Raised when our agent crosses a region border into another region - - Raised when the simulator sends us data containing - ... + + Raised when our agent succeeds or fails to join a group chat session - - Raised when the simulator sends us data containing - an inventory object sent by another avatar or primitive + + Raised when a simulator sends an urgent message usually indication the recent failure of + another action we have attempted to take such as an attempt to enter a parcel where we are denied access - - Raised when the simulator sends us data containing - ... + + Raised when a script attempts to take or release specified controls for our agent - - Raised when the simulator sends us data containing - ... + + Raised when the simulator detects our agent is trying to view something + beyond its limits - - Raised when the simulator sends us data containing - ... + + Raised when a script sensor reply is received from a simulator - - Raised when the simulator sends us data containing - ... + + Raised in response to a request - - Raised when the simulator sends us data containing - ... + + Raised when an avatar enters a group chat session we are participating in - - - Get this agents Inventory data - + + Raised when an agent exits a group chat session we are participating in - - Raises the ItemReceived Event - A ItemReceivedEventArgs object containing - the data sent from the simulator + + Your (client) avatars + "client", "agent", and "avatar" all represent the same thing - - Raises the FolderUpdated Event - A FolderUpdatedEventArgs object containing - the data sent from the simulator + + Temporary assigned to this session, used for + verifying our identity in packets - - Raises the InventoryObjectOffered Event - A InventoryObjectOfferedEventArgs object containing - the data sent from the simulator + + Shared secret that is never sent over the wire - - Raises the TaskItemReceived Event - A TaskItemReceivedEventArgs object containing - the data sent from the simulator + + Your (client) avatar ID, local to the current region/sim - - Raises the FindObjectByPath Event - A FindObjectByPathEventArgs object containing - the data sent from the simulator + + Where the avatar started at login. Can be "last", "home" + or a login - - Raises the TaskInventoryReply Event - A TaskInventoryReplyEventArgs object containing - the data sent from the simulator + + The access level of this agent, usually M or PG - - Raises the SaveAssetToInventory Event - A SaveAssetToInventoryEventArgs object containing - the data sent from the simulator + + The CollisionPlane of Agent - - Raises the ScriptRunningReply Event - A ScriptRunningReplyEventArgs object containing - the data sent from the simulator + + An representing the velocity of our agent - - - Fetch an inventory item from the dataserver - - The items - The item Owners - a integer representing the number of milliseconds to wait for results - An object on success, or null if no item was found - Items will also be sent to the event + + An representing the acceleration of our agent - - - Request A single inventory item - - The items - The item Owners - + + A which specifies the angular speed, and axis about which an Avatar is rotating. - - - Request inventory items - - Inventory items to request - Owners of the inventory items - + + Position avatar client will goto when login to 'home' or during + teleport request to 'home' region. - - - Get contents of a folder - - The of the folder to search - The of the folders owner - true to retrieve folders - true to retrieve items - sort order to return results in - a integer representing the number of milliseconds to wait for results - A list of inventory items matching search criteria within folder - - InventoryFolder.DescendentCount will only be accurate if both folders and items are - requested + + LookAt point saved/restored with HomePosition - - - Request the contents of an inventory folder - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - + + Avatar First Name (i.e. Philip) - - - Returns the UUID of the folder (category) that defaults to - containing 'type'. The folder is not necessarily only for that - type - - This will return the root folder if one does not exist - - - The UUID of the desired folder if found, the UUID of the RootFolder - if not found, or UUID.Zero on failure + + Avatar Last Name (i.e. Linden) - - - Find an object in inventory using a specific path to search - - The folder to begin the search in - The object owners - A string path to search - milliseconds to wait for a reply - Found items or if - timeout occurs or item is not found + + Avatar Full Name (i.e. Philip Linden) - - - Find inventory items by path - - The folder to begin the search in - The object owners - A string path to search, folders/objects separated by a '/' - Results are sent to the event + + Gets the health of the agent - - - Search inventory Store object for an item or folder - - The folder to begin the search in - An array which creates a path to search - Number of levels below baseFolder to conduct searches - if True, will stop searching after first match is found - A list of inventory items found + + Gets the current balance of the agent - - - Move an inventory item or folder to a new location - - The item or folder to move - The to move item or folder to + + Gets the local ID of the prim the agent is sitting on, + zero if the avatar is not currently sitting - - - Move an inventory item or folder to a new location and change its name - - The item or folder to move - The to move item or folder to - The name to change the item or folder to + + Gets the of the agents active group. - - - Move and rename a folder - - The source folders - The destination folders - The name to change the folder to + + Gets the Agents powers in the currently active group - - - Update folder properties - - - of the folder to update - Sets folder's parent to - Folder name - Folder type + + Current status message for teleporting - - - Move a folder - - The source folders - The destination folders + + Current position of the agent as a relative offset from + the simulator, or the parent object if we are sitting on something - - - Move multiple folders, the keys in the Dictionary parameter, - to a new parents, the value of that folder's key. - - A Dictionary containing the - of the source as the key, and the - of the destination as the value + + Current rotation of the agent as a relative rotation from + the simulator, or the parent object if we are sitting on something - - - Move an inventory item to a new folder - - The of the source item to move - The of the destination folder + + Current position of the agent in the simulator - + - Move and rename an inventory item + A representing the agents current rotation - The of the source item to move - The of the destination folder - The name to change the folder to - - - Move multiple inventory items to new locations - - A Dictionary containing the - of the source item as the key, and the - of the destination folder as the value + + Returns the global grid position of the avatar - + - Remove descendants of a folder + Called once attachment resource usage information has been collected - The of the folder + Indicates if operation was successfull + Attachment resource usage information - - - Remove a single item from inventory - - The of the inventory item to remove + + + Agent movement and camera control + + Agent movement is controlled by setting specific + After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags + This is most easily accomplished by setting one or more of the AgentMovement properties + + Movement of an avatar is always based on a compass direction, for example AtPos will move the + agent from West to East or forward on the X Axis, AtNeg will of course move agent from + East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis + The Z axis is Up, finer grained control of movements can be done using the Nudge properties + - - - Remove a folder from inventory - - The of the folder to remove + + Agent camera controls - - - Remove multiple items or folders from inventory - - A List containing the s of items to remove - A List containing the s of the folders to remove + + Currently only used for hiding your group title - - - Empty the Lost and Found folder - + + Action state of the avatar, which can currently be + typing and editing - - - Empty the Trash folder - + + - - - - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - - + + - - - - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - - - - + + - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - The UUID of the newly created folder + + - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - Sets this folder as the default folder - for new assets of the specified type. Use AssetType.Unknown - to create a normal folder, otherwise it will likely create a - duplicate of an existing folder type - The UUID of the newly created folder - If you specify a preferred type of AsseType.Folder - it will create a new root folder which may likely cause all sorts - of strange problems + + - - - Create an inventory item and upload asset data - - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Delegate that will receive feedback on success or failure + + - - - Create an inventory item and upload asset data - - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Permission of the newly created item - (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) - Delegate that will receive feedback on success or failure + + - - - Creates inventory link to another inventory item or folder - - Put newly created link in folder with this UUID - Inventory item or folder - Method to call upon creation of the link + + - - - Creates inventory link to another inventory item - - Put newly created link in folder with this UUID - Original inventory item - Method to call upon creation of the link + + + + + Timer for sending AgentUpdate packets + + + Default constructor - + - Creates inventory link to another inventory folder + Send an AgentUpdate with the camera set at the current agent + position and pointing towards the heading specified - Put newly created link in folder with this UUID - Original inventory folder - Method to call upon creation of the link + Camera rotation in radians + Whether to send the AgentUpdate reliable + or not - + - Creates inventory link to another inventory item or folder + Rotates the avatar body and camera toward a target position. + This will also anchor the camera position on the avatar - Put newly created link in folder with this UUID - Original item's UUID - Name - Description - Asset Type - Inventory Type - Transaction UUID - Method to call upon creation of the link + Region coordinates to turn toward - + + Send new AgentUpdate packet to update our current camera + position and rotation - - - - - - - - - + + Send new AgentUpdate packet to update our current camera + position and rotation - - - - - - - - - - + Whether to require server acknowledgement + of this packet - + + Send new AgentUpdate packet to update our current camera + position and rotation - - - - - - - - - - + Whether to require server acknowledgement + of this packet + Simulator to send the update to - + - Request a copy of an asset embedded within a notecard + Builds an AgentUpdate packet entirely from parameters. This + will not touch the state of Self.Movement or + Self.Movement.Camera in any way - Usually UUID.Zero for copying an asset from a notecard - UUID of the notecard to request an asset from - Target folder for asset to go to in your inventory - UUID of the embedded asset - callback to run when item is copied to inventory + + + + + + + + + + + - - - - - + + Move agent positive along the X axis - - - - - + + Move agent negative along the X axis - - - - - - - + + Move agent positive along the Y axis - - - - - - - - - + + Move agent negative along the Y axis - - - Save changes to notecard embedded in object contents - - Encoded notecard asset data - Notecard UUID - Object's UUID - Called upon finish of the upload with status information + + Move agent positive along the Z axis - - - Upload new gesture asset for an inventory gesture item - - Encoded gesture asset - Gesture inventory UUID - Callback whick will be called when upload is complete + + Move agent negative along the Z axis - - - Update an existing script in an agents Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - if true, sets the script content to run on the mono interpreter - - + + - - - Update an existing script in an task Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - UUID of the prim containting the script - if true, sets the script content to run on the mono interpreter - if true, sets the script to running - - + + - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details + + - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object + + - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object + + - - - DeRez an object from the simulator to the agents Objects folder in the agents Inventory - - The simulator Local ID of the object - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + + - - - DeRez an object from the simulator and return to inventory - - The simulator Local ID of the object - The type of destination from the enum - The destination inventory folders -or- - if DeRezzing object to a tasks Inventory, the Tasks - The transaction ID for this request which - can be used to correlate this request with other packets - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + + - - - Rez an item from inventory to its previous simulator location - - - - - - - - - + + Causes simulator to make agent fly - + + Stop movement + + + Finish animation + + + Stand up from a sit + + + Tells simulator to sit agent on ground + + + Place agent into mouselook mode + + + Nudge agent positive along the X axis + + + Nudge agent negative along the X axis + + + Nudge agent positive along the Y axis + + + Nudge agent negative along the Y axis + + + Nudge agent positive along the Z axis + + + Nudge agent negative along the Z axis + + + + + + + + + Tell simulator to mark agent as away + + + + + + + + + + + + + + - Give an inventory item to another avatar + Returns "always run" value, or changes it by sending a SetAlwaysRunPacket - The of the item to give - The name of the item - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer - + + The current value of the agent control flags + + + Gets or sets the interval in milliseconds at which + AgentUpdate packets are sent to the current simulator. Setting + this to a non-zero value will also enable the packet sending if + it was previously off, and setting it to zero will disable + + + Gets or sets whether AgentUpdate packets are sent to + the current simulator + + + Reset movement controls every time we send an update + + - Give an inventory Folder with contents to another avatar + Camera controls for the agent, mostly a thin wrapper around + CoordinateFrame. This class is only responsible for state + tracking and math, it does not send any packets - The of the Folder to give - The name of the folder - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer - - - Copy or move an from agent inventory to a task (primitive) inventory - - The target object - The item to copy or move from inventory - - - For items with copy permissions a copy of the item is placed in the tasks inventory, - for no-copy items the object is moved to the tasks inventory + + - - - Retrieve a listing of the items contained in a task (Primitive) - - The tasks - The tasks simulator local ID - milliseconds to wait for reply from simulator - A list containing the inventory items inside the task or null - if a timeout occurs - This request blocks until the response from the simulator arrives - or timeoutMS is exceeded + + The camera is a local frame of reference inside of + the larger grid space. This is where the math happens - + - Request the contents of a tasks (primitives) inventory from the - current simulator + Default constructor - The LocalID of the object - - - - Request the contents of a tasks (primitives) inventory - - The simulator Local ID of the object - A reference to the simulator object that contains the object - + + - - - Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory - - LocalID of the object in the simulator - UUID of the task item to move - The ID of the destination folder in this agents inventory - Simulator Object - Raises the event + + - - - Remove an item from an objects (Prim) Inventory - - LocalID of the object in the simulator - UUID of the task item to remove - Simulator Object - You can confirm the removal by comparing the tasks inventory serial before and after the - request with the request combined with - the event + + - - - Copy an InventoryScript item from the Agents Inventory into a primitives task inventory - - An unsigned integer representing a primitive being simulated - An which represents a script object from the agents inventory - true to set the scripts running state to enabled - A Unique Transaction ID - - The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory - and assumes the script exists in the agents inventory. - - uint primID = 95899503; // Fake prim ID - UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory - Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, - false, true, InventorySortOrder.ByName, 10000); - Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); - + + - + - Request the running status of a script contained in a task (primitive) inventory + Used to specify movement actions for your agent - The ID of the primitive containing the script - The ID of the script - The event can be used to obtain the results of the - request - - - - Send a request to set the running state of a script contained in a task (primitive) inventory - - The ID of the primitive containing the script - The ID of the script - true to set the script running, false to stop a running script - To verify the change you can use the method combined - with the event + + Empty flag - - - Create a CRC from an InventoryItem - - The source InventoryItem - A uint representing the source InventoryItem as a CRC + + Move Forward (SL Keybinding: W/Up Arrow) - - - Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id - - Obfuscated shadow_id value - Deobfuscated asset_id value + + Move Backward (SL Keybinding: S/Down Arrow) - - - Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id - - asset_id value to obfuscate - Obfuscated shadow_id value + + Move Left (SL Keybinding: Shift-(A/Left Arrow)) - - - Wrapper for creating a new object - - The type of item from the enum - The of the newly created object - An object with the type and id passed + + Move Right (SL Keybinding: Shift-(D/Right Arrow)) - - - Parse the results of a RequestTaskInventory() response - - A string which contains the data from the task reply - A List containing the items contained within the tasks inventory + + Not Flying: Jump/Flying: Move Up (SL Keybinding: E) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Unused - - - UpdateCreateInventoryItem packets are received when a new inventory item - is created. This may occur when an object that's rezzed in world is - taken into inventory, when an item is created using the CreateInventoryItem - packet, or when an object is purchased - - The sender - The EventArgs object containing the packet data + + Unused - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Unused - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Unused - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + ORed with AGENT_CONTROL_AT_* if the keyboard is being used - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used - - Set to true to accept offer, false to decline it + + ORed with AGENT_CONTROL_UP_* if the keyboard is being used - - The folder to accept the inventory into, if null default folder for will be used + + Fly - - - Callback when an inventory object is accepted and received from a - task inventory. This is the callback in which you actually get - the ItemID, as in ObjectOfferedCallback it is null when received - from a task. - + + - - - + + Finish our current animation - - - - - + + Stand up from the ground or a prim seat - - - De-serialization constructor for the InventoryNode Class - + + Sit on the ground at our current location - - - De-serialization handler for the InventoryNode Class - + + Whether mouselook is currently enabled - - - + + Legacy, used if a key was pressed for less than a certain amount of time - - - + + Legacy, used if a key was pressed for less than a certain amount of time - - - + + Legacy, used if a key was pressed for less than a certain amount of time - - - + + Legacy, used if a key was pressed for less than a certain amount of time - - - For inventory folder nodes specifies weather the folder needs to be - refreshed from the server - + + Legacy, used if a key was pressed for less than a certain amount of time - - - Serialization handler for the InventoryNode Class - + + Legacy, used if a key was pressed for less than a certain amount of time - - - - - + + - - - Singleton logging class for the entire library - + + - - - Default constructor - + + Set when the avatar is idled or set to away. Note that the away animation is + activated separately from setting this flag - - - Callback used for client apps to receive log messages from - the library - - Data being logged - The severity of the log entry from + + + + + - - log4net logging engine + + - - Triggered whenever a message is logged. If this is left - null, log messages will go to the console + + - + - Send a log message to the logging engine + - The log message - The severity of the log entry - + - Send a log message to the logging engine + Construct a new instance of the ChatEventArgs object - The log message - The severity of the log entry - Instance of the client + Sim from which the message originates + The message sent + The audible level of the message + The type of message sent: whisper, shout, etc + The source type of the message sender + The name of the agent or object sending the message + The ID of the agent or object sending the message + The ID of the object owner, or the agent ID sending the message + The position of the agent or object sending the message - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Exception that was raised + + Get the simulator sending the message - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Instance of the client - Exception that was raised + + Get the message sent - - - If the library is compiled with DEBUG defined, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine + + Get the audible level of the message - - - If the library is compiled with DEBUG defined and - GridClient.Settings.DEBUG is true, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine - Instance of the client + + Get the type of message sent: whisper, shout, etc - - - + + Get the source type of the message sender - - - + + Get the name of the agent or object sending the message - - - + + Get the ID of the agent or object sending the message - - - + + Get the ID of the object owner, or the agent ID sending the message - - - + + Get the position of the agent or object sending the message - - - + + Contains the data sent when a primitive opens a dialog with this agent - + + Construct a new instance of the ScriptDialogEventArgs + The dialog message + The name of the object that sent the dialog request + The ID of the image to be displayed + The ID of the primitive sending the dialog + The first name of the senders owner + The last name of the senders owner + The communication channel the dialog was sent on + The string labels containing the options presented in this dialog - - - + + Get the dialog message - - - Login Request Parameters - + + Get the name of the object that sent the dialog request - - - Default constuctor, initializes sane default values - + + Get the ID of the image to be displayed - - - Instantiates new LoginParams object and fills in the values - - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number + + Get the ID of the primitive sending the dialog - - - Instantiates new LoginParams object and fills in the values - - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - URI of the login server + + Get the first name of the senders owner - - The URL of the Login Server + + Get the last name of the senders owner - - The number of milliseconds to wait before a login is considered - failed due to timeout + + Get the communication channel the dialog was sent on, responses + should also send responses on this same channel - - The request method - login_to_simulator is currently the only supported method + + Get the string labels containing the options presented in this dialog - - The Agents First name + + Contains the data sent when a primitive requests debit or other permissions + requesting a YES or NO answer - - The Agents Last name + + + Construct a new instance of the ScriptQuestionEventArgs + + The simulator containing the object sending the request + The ID of the script making the request + The ID of the primitive containing the script making the request + The name of the primitive making the request + The name of the owner of the object making the request + The permissions being requested - - A md5 hashed password - plaintext password will be automatically hashed + + Get the simulator containing the object sending the request - - The agents starting location once logged in - Either "last", "home", or a string encoded URI - containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 + + Get the ID of the script making the request - - A string containing the client software channel information - Second Life Release + + Get the ID of the primitive containing the script making the request - - The client software version information - The official viewer uses: Second Life Release n.n.n.n - where n is replaced with the current version of the viewer + + Get the name of the primitive making the request - - A string containing the platform information the agent is running on + + Get the name of the owner of the object making the request - - A string hash of the network cards Mac Address + + Get the permissions being requested - - Unknown or deprecated + + Contains the data sent when a primitive sends a request + to an agent to open the specified URL - - A string hash of the first disk drives ID used to identify this clients uniqueness + + + Construct a new instance of the LoadUrlEventArgs + + The name of the object sending the request + The ID of the object sending the request + The ID of the owner of the object sending the request + True if the object is owned by a group + The message sent with the request + The URL the object sent - - A string containing the viewers Software, this is not directly sent to the login server but - instead is used to generate the Version string + + Get the name of the object sending the request - - A string representing the software creator. This is not directly sent to the login server but - is used by the library to generate the Version information + + Get the ID of the object sending the request - - If true, this agent agrees to the Terms of Service of the grid its connecting to + + Get the ID of the owner of the object sending the request - - Unknown + + True if the object is owned by a group - - An array of string sent to the login server to enable various options + + Get the message sent with the request - - A randomly generated ID to distinguish between login attempts. This value is only used - internally in the library and is never sent over the wire + + Get the URL the object sent + + + The date received from an ImprovedInstantMessage - + - The decoded data returned from the login server after a successful login + Construct a new instance of the InstantMessageEventArgs object + the InstantMessage object + the simulator where the InstantMessage origniated - - true, false, indeterminate + + Get the InstantMessage object - - Login message of the day + + Get the simulator where the InstantMessage origniated - - M or PG, also agent_region_access and agent_access_max + + Contains the currency balance - + - Parse LLSD Login Reply Data + Construct a new BalanceEventArgs object - An - contaning the login response data - XML-RPC logins do not require this as XML-RPC.NET - automatically populates the struct properly using attributes + The currenct balance - - - Login Routines - + - NetworkManager is responsible for managing the network layer of - OpenMetaverse. It tracks all the server connections, serializes - outgoing traffic and deserializes incoming traffic, and provides - instances of delegates for network-related events. + Get the currenct balance - - - Default constructor - - Reference to the GridClient object + + Contains the transaction summary when an item is purchased, + money is given, or land is purchased - + - Explains why a simulator or the grid disconnected from us + Construct a new instance of the MoneyBalanceReplyEventArgs object + The ID of the transaction + True of the transaction was successful + The current currency balance + The meters credited + The meters comitted + A brief description of the transaction - - The client requested the logout or simulator disconnect + + Get the ID of the transaction - - The server notified us that it is disconnecting + + True of the transaction was successful - - Either a socket was closed or network traffic timed out + + Get the remaining currency balance - - The last active simulator shut down + + Get the meters credited - - - Holds a simulator reference and a decoded packet, these structs are put in - the packet inbox for event handling - + + Get the meters comitted - - Reference to the simulator that this packet came from + + Get the description of the transaction - - Packet that needs to be processed + + Data sent from the simulator containing information about your agent and active group information - + - Holds a simulator reference and a serialized packet, these structs are put in - the packet outbox for sending + Construct a new instance of the AgentDataReplyEventArgs object + The agents first name + The agents last name + The agents active group ID + The group title of the agents active group + The combined group powers the agent has in the active group + The name of the group the agent has currently active - - Reference to the simulator this packet is destined for + + Get the agents first name - - Packet that needs to be sent + + Get the agents last name - - Sequence number of the wrapped packet + + Get the active group ID of your agent - - Number of times this packet has been resent + + Get the active groups title of your agent - - Environment.TickCount when this packet was last sent over the wire + + Get the combined group powers of your agent - + + Get the active group name of your agent + + + Data sent by the simulator to indicate the active/changed animations + applied to your agent + + + Construct a new instance of the AnimationsChangedEventArgs class - - - - - - - - - - + The dictionary that contains the changed animations - - The event subscribers, null of no subscribers + + Get the dictionary that contains the changed animations - - Thread sync lock object + + + Data sent from a simulator indicating a collision with your agent + - - Seed CAPS URL returned from the login server + + + Construct a new instance of the MeanCollisionEventArgs class + + The type of collision that occurred + The ID of the agent or object that perpetrated the agression + The ID of the Victim + The strength of the collision + The Time the collision occurred - - A list of packets obtained during the login process which - networkmanager will log but not process + + Get the Type of collision - - The event subscribers, null of no subscribers + + Get the ID of the agent or object that collided with your agent - - Thread sync lock object + + Get the ID of the agent that was attacked - - The event subscribers, null of no subscribers + + A value indicating the strength of the collision - - Thread sync lock object + + Get the time the collision occurred - - The event subscribers, null of no subscribers + + Data sent to your agent when it crosses region boundaries - - Thread sync lock object + + + Construct a new instance of the RegionCrossedEventArgs class + + The simulator your agent just left + The simulator your agent is now in - - The event subscribers, null of no subscribers + + Get the simulator your agent just left - - Thread sync lock object + + Get the simulator your agent is now in - - The event subscribers, null of no subscribers + + Data sent from the simulator when your agent joins a group chat session - - Thread sync lock object + + + Construct a new instance of the GroupChatJoinedEventArgs class + + The ID of the session + The name of the session + A temporary session id used for establishing new sessions + True of your agent successfully joined the session - - The event subscribers, null of no subscribers + + Get the ID of the group chat session - - Thread sync lock object + + Get the name of the session - - The event subscribers, null of no subscribers + + Get the temporary session ID used for establishing new sessions - - Thread sync lock object + + True if your agent successfully joined the session - - The event subscribers, null of no subscribers + + Data sent by the simulator containing urgent messages - - Thread sync lock object + + + Construct a new instance of the AlertMessageEventArgs class + + The alert message - - All of the simulators we are currently connected to + + Get the alert message + + + Data sent by a script requesting to take or release specified controls to your agent + + + + Construct a new instance of the ScriptControlEventArgs class + + The controls the script is attempting to take or release to the agent + True if the script is passing controls back to the agent + True if the script is requesting controls be released to the script + + + Get the controls the script is attempting to take or release to the agent + + + True if the script is passing controls back to the agent + + + True if the script is requesting controls be released to the script - - Handlers for incoming capability events + + + Data sent from the simulator to an agent to indicate its view limits + - - Handlers for incoming packets + + + Construct a new instance of the CameraConstraintEventArgs class + + The collision plane - - Incoming packets that are awaiting handling + + Get the collision plane - - Outgoing packets that are awaiting handling + + + Data containing script sensor requests which allow an agent to know the specific details + of a primitive sending script sensor requests + - - Raised when the simulator sends us data containing - ... + + + Construct a new instance of the ScriptSensorReplyEventArgs + + The ID of the primitive sending the sensor + The ID of the group associated with the primitive + The name of the primitive sending the sensor + The ID of the primitive sending the sensor + The ID of the owner of the primitive sending the sensor + The position of the primitive sending the sensor + The range the primitive specified to scan + The rotation of the primitive sending the sensor + The type of sensor the primitive sent + The velocity of the primitive sending the sensor - - Called when a reply is received from the login server, the - login sequence will block until this event returns + + Get the ID of the primitive sending the sensor - - Raised when the simulator sends us data containing - ... + + Get the ID of the group associated with the primitive - - Raised when the simulator sends us data containing - ... + + Get the name of the primitive sending the sensor - - Raised when the simulator sends us data containing - ... + + Get the ID of the primitive sending the sensor - - Raised when the simulator sends us data containing - ... + + Get the ID of the owner of the primitive sending the sensor - - Raised when the simulator sends us data containing - ... + + Get the position of the primitive sending the sensor - - Raised when the simulator sends us data containing - ... + + Get the range the primitive specified to scan - - Raised when the simulator sends us data containing - ... + + Get the rotation of the primitive sending the sensor - - Raised when the simulator sends us data containing - ... + + Get the type of sensor the primitive sent - - Current state of logging in + + Get the velocity of the primitive sending the sensor - - Upon login failure, contains a short string key for the - type of login error that occurred + + Contains the response data returned from the simulator in response to a - - The raw XML-RPC reply from the login server, exactly as it - was received (minus the HTTP header) + + Construct a new instance of the AvatarSitResponseEventArgs object - - During login this contains a descriptive version of - LoginStatusCode. After a successful login this will contain the - message of the day, and after a failed login a descriptive error - message will be returned + + Get the ID of the primitive the agent will be sitting on - - Unique identifier associated with our connections to - simulators + + True if the simulator Autopilot functions were involved - - The simulator that the logged in avatar is currently - occupying + + Get the camera offset of the agent when seated - - Shows whether the network layer is logged in to the - grid or not + + Get the camera eye offset of the agent when seated - - Number of packets in the incoming queue + + True of the agent will be in mouselook mode when seated - - Number of packets in the outgoing queue + + Get the position of the agent when seated - - Raises the LoginProgress Event - A LoginProgressEventArgs object containing - the data sent from the simulator + + Get the rotation of the agent when seated - - - Generate sane default values for a login request - - Account first name - Account last name - Account password - Client application name - Client application version - A populated struct containing - sane defaults + + Data sent when an agent joins a chat session your agent is currently participating in - + - Simplified login that takes the most common and required fields + Construct a new instance of the ChatSessionMemberAddedEventArgs object - Account first name - Account last name - Account password - Client application name - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error + The ID of the chat session + The ID of the agent joining - - - Simplified login that takes the most common fields along with a - starting location URI, and can accept an MD5 string instead of a - plaintext password - - Account first name - Account last name - Account password or MD5 hash of the password - such as $1$1682a1e45e9f957dcdf0bb56eb43319c - Client application name - Starting location URI that can be built with - StartLocation() - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error + + Get the ID of the chat session - - - Login that takes a struct of all the values that will be passed to - the login server - - The values that will be passed to the login - server, all fields must be set even if they are String.Empty - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error + + Get the ID of the agent that joined - + + Data sent when an agent exits a chat session your agent is currently participating in + + - Build a start location URI for passing to the Login function + Construct a new instance of the ChatSessionMemberLeftEventArgs object - Name of the simulator to start in - X coordinate to start at - Y coordinate to start at - Z coordinate to start at - String with a URI that can be used to login to a specified - location + The ID of the chat session + The ID of the Agent that left - + + Get the ID of the chat session + + + Get the ID of the agent that left + + - Handles response from XML-RPC login replies + Starts a thread that keeps the daemon running + + - + - Handle response from LLSD login replies + Stops the daemon and the thread keeping it running - - - - - - - + - Get current OS + - Either "Win" or "Linux" + + + - + - Get clients default Mac Address + This is used to initialize and stop the Connector as a whole. The Connector + Create call must be completed successfully before any other requests are made + (typically during application initialization). The shutdown should be called + when the application is shutting down to gracefully release resources - A string containing the first found Mac Address - - - Raises the PacketSent Event - A PacketSentEventArgs object containing - the data sent from the simulator - - - Raises the LoggedOut Event - A LoggedOutEventArgs object containing - the data sent from the simulator - - - Raises the SimConnecting Event - A SimConnectingEventArgs object containing - the data sent from the simulator - - - Raises the SimConnected Event - A SimConnectedEventArgs object containing - the data sent from the simulator - - - Raises the SimDisconnected Event - A SimDisconnectedEventArgs object containing - the data sent from the simulator - - - Raises the Disconnected Event - A DisconnectedEventArgs object containing - the data sent from the simulator - - - Raises the SimChanged Event - A SimChangedEventArgs object containing - the data sent from the simulator - - - Raises the EventQueueRunning Event - A EventQueueRunningEventArgs object containing - the data sent from the simulator + A string value indicting the Application name + URL for the management server + LoggingSettings + + - + - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library + Shutdown Connector -- Should be called when the application is shutting down + to gracefully release resources - Packet type to trigger events for - Callback to fire when a packet of this type - is received + Handle returned from successful Connector ‘create’ request - + - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library + Mute or unmute the microphone - Packet type to trigger events for - Callback to fire when a packet of this type - is received - True if the callback should be ran - asynchronously. Only set this to false (synchronous for callbacks - that will always complete quickly) - If any callback for a packet type is marked as - asynchronous, all callbacks for that packet type will be fired - asynchronously + Handle returned from successful Connector ‘create’ request + true (mute) or false (unmute) - + - Unregister an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library + Mute or unmute the speaker - Packet type this callback is registered with - Callback to stop firing events for + Handle returned from successful Connector ‘create’ request + true (mute) or false (unmute) - + - Register a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library + Set microphone volume - Name of the CAPS event to register a handler for - Callback to fire when a CAPS event is received + Handle returned from successful Connector ‘create’ request + The level of the audio, a number between -100 and 100 where + 0 represents ‘normal’ speaking volume - + - Unregister a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library + Set local speaker volume - Name of the CAPS event this callback is - registered with - Callback to stop firing events for + Handle returned from successful Connector ‘create’ request + The level of the audio, a number between -100 and 100 where + 0 represents ‘normal’ speaking volume - + - Send a packet to the simulator the avatar is currently occupying + Create a Session + Sessions typically represent a connection to a media session with one or more + participants. This is used to generate an ‘outbound’ call to another user or + channel. The specifics depend on the media types involved. A session handle is + required to control the local user functions within the session (or remote + users if the current account has rights to do so). Currently creating a + session automatically connects to the audio media, there is no need to call + Session.Connect at this time, this is reserved for future use. - Packet to send + Handle returned from successful Connector ‘create’ request + This is the URI of the terminating point of the session (ie who/what is being called) + This is the display name of the entity being called (user or channel) + Only needs to be supplied when the target URI is password protected + This indicates the format of the password as passed in. This can either be + “ClearText” or “SHA1UserName”. If this element does not exist, it is assumed to be “ClearText”. If it is + “SHA1UserName”, the password as passed in is the SHA1 hash of the password and username concatenated together, + then base64 encoded, with the final “=” character stripped off. + + + - + - Send a packet to a specified simulator + Used to accept a call - Packet to send - Simulator to send the packet to + SessionHandle such as received from SessionNewEvent + "default" + - + - Connect to a simulator + This command is used to start the audio render process, which will then play + the passed in file through the selected audio render device. This command + should not be issued if the user is on a call. - IP address to connect to - Port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null + The fully qualified path to the sound file. + True if the file is to be played continuously and false if it is should be played once. + - + - Connect to a simulator + This command is used to stop the audio render process. - IP address and port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null + The fully qualified path to the sound file issued in the start render command. + - + - Initiate a blocking logout request. This will return when the logout - handshake has completed or when Settings.LOGOUT_TIMEOUT - has expired and the network layer is manually shut down + This is used to ‘end’ an established session (i.e. hang-up or disconnect). + Handle returned from successful Session ‘create’ request or a SessionNewEvent + - + - Initiate the logout process. Check if logout succeeded with the - OnLogoutReply event, and if this does not fire the - Shutdown() function needs to be manually called + Set the combined speaking and listening position in 3D space. + Handle returned from successful Session ‘create’ request or a SessionNewEvent + Speaking position + Listening position + - + - Close a connection to the given simulator + Set User Volume for a particular user. Does not affect how other users hear that user. - - - - + Handle returned from successful Session ‘create’ request or a SessionNewEvent + + The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume + - + - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout - Type of shutdown + This is used to get a list of audio devices that can be used for capture (input) of voice. + + - + - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout - Type of shutdown - Shutdown message + This is used to get a list of audio devices that can be used for render (playback) of voice. + - + - Searches through the list of currently connected simulators to find - one attached to the given IPEndPoint + This command is used to select the render device. - IPEndPoint of the Simulator to search for - A Simulator reference on success, otherwise null + The name of the device as returned by the Aux.GetRenderDevices command. - + - Fire an event when an event queue connects for capabilities + This command is used to select the capture device. - Simulator the event queue is attached to - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + The name of the device as returned by the Aux.GetCaptureDevices command. - + - A Name Value pair with additional settings, used in the protocol - primarily to transmit avatar names and active group in object packets + This command is used to start the audio capture process which will cause + AuxAudioProperty Events to be raised. These events can be used to display a + microphone VU meter for the currently selected capture device. This command + should not be issued if the user is on a call. + (unused but required) + - + - Constructor that takes all the fields as parameters + This command is used to stop the audio capture process. - - - - - - - - - - + - + - Constructor that takes a single line from a NameValue field + This command is used to set the mic volume while in the audio tuning process. + Once an acceptable mic level is attained, the application must issue a + connector set mic volume command to have that level be used while on voice + calls. - - - - - Type of the value - - - Unknown - - - String value + the microphone volume (-100 to 100 inclusive) + - + + This command is used to set the speaker volume while in the audio tuning + process. Once an acceptable speaker level is attained, the application must + issue a connector set speaker volume command to have that level be used while + on voice calls. + the speaker volume (-100 to 100 inclusive) + - + + Start up the Voice service. - + + Handle miscellaneous request status + + + ///If something goes wrong, we log it. - + + Cleanup oject resources - - Deprecated - - - String value, but designated as an asset + + + Request voice cap when changing regions + - + + Handle a change in session state - + + Close a voice session + - + + Locate a Session context from its handle + Creates the session context if it does not exist. - + + Handle completion of main voice cap request. + + + - + + Daemon has started so connect to it. - + + The daemon TCP connection is open. - + + Handle creation of the Connector. - + + Handle response to audio output device query - + + Handle response to audio input device query - + + + Set voice channel for new parcel + + + + + Request info from a parcel capability Uri. + - + + Receive parcel voice cap + + + - + + Tell Vivox where we are standing + This has to be called when we move or turn. - + + Start and stop updating out position. + - + + This is used to login a specific user account(s). It may only be called after + Connector initialization has completed successfully + Handle returned from successful Connector ‘create’ request + User's account name + User's account password + Values may be “AutoAnswer” or “VerifyAnswer” + "" + This is an integer that specifies how often + the daemon will send participant property events while in a channel. If this is not set + the default will be “on state change”, which means that the events will be sent when + the participant starts talking, stops talking, is muted, is unmuted. + The valid values are: + 0 – Never + 5 – 10 times per second + 10 – 5 times per second + 50 – 1 time per second + 100 – on participant state change (this is the default) + false + - + + This is used to logout a user session. It should only be called with a valid AccountHandle. + Handle returned from successful Connector ‘login’ request + - + + List of audio input devices - + + List of audio output devices - + + Set audio test mode - - No report - - - Unknown report type - - - Bug report - - - Complaint report - - - Customer service report - - + - Bitflag field for ObjectUpdateCompressed data blocks, describing - which options are present for each object + Event for most mundane request reposnses. - - Unknown - - - Whether the object has a TreeSpecies - - - Whether the object has floating text ala llSetText - - - Whether the object has an active particle system - - - Whether the object has sound attached to it - - - Whether the object is attached to a root object or not - - - Whether the object has texture animation settings - - - Whether the object has an angular velocity + + Response to Connector.Create request - - Whether the object has a name value pairs string + + Response to Aux.GetCaptureDevices request - - Whether the object has a Media URL set + + Response to Aux.GetRenderDevices request - - - Specific Flags for MultipleObjectUpdate requests - + + Audio Properties Events are sent after audio capture is started. + These events are used to display a microphone VU meter - - None + + Response to Account.Login request - - Change position of prims + + This event message is sent whenever the login state of the + particular Account has transitioned from one value to another - - Change rotation of prims + + Enable logging - - Change size of prims + + The folder where any logs will be created - - Perform operation on link set + + This will be prepended to beginning of each log file - - Scale prims uniformly, same as selecing ctrl+shift in the - viewer. Used in conjunction with Scale + + The suffix or extension to be appended to each log file - + - Special values in PayPriceReply. If the price is not one of these - literal value of the price should be use + 0: NONE - No logging + 1: ERROR - Log errors only + 2: WARNING - Log errors and warnings + 3: INFO - Log errors, warnings and info + 4: DEBUG - Log errors, warnings, info and debug - + - Indicates that this pay option should be hidden + Constructor for default logging settings - - - Indicates that this pay option should have the default value - + + Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - + - Contains the variables sent in an object update packet for objects. - Used to track position and movement of prims and avatars + - - - + + - - - + + - - - + + - + + Thrown when a packet could not be successfully deserialized - + + Default constructor - + + Constructor that takes an additional error message + An error message to attach to this exception - + + The header of a message template packet. Holds packet flags, sequence + number, packet ID, and any ACKs that will be appended at the end of + the packet - + + Convert the AckList to a byte array, used for packet serializing + Reference to the target byte array + Beginning position to start writing to in the byte + array, will be updated with the ending position of the ACK list - + + + + + + - + + + + + - + - Handles all network traffic related to prims and avatar positions and - movement. + A block of data in a packet. Packets are composed of one or more blocks, + each block containing one or more fields - + - Construct a new instance of the ObjectManager class + Create a block from a byte array - A reference to the instance + Byte array containing the serialized block + Starting position of the block in the byte array. + This will point to the data after the end of the block when the + call returns - + - Callback for getting object media data via CAP + Serialize this block into a byte array - Indicates if the operation was succesfull - Object media version string - Array indexed on prim face of media entry data + Byte array to serialize this block into + Starting position in the byte array to serialize to. + This will point to the position directly after the end of the + serialized block when the call returns - - The event subscribers, null of no subscribers + + Current length of the data in this packet - - Thread sync lock object + + A generic value, not an actual packet type - - The event subscribers, null of no subscribers + + + Attempts to convert an LLSD structure to a known Packet type + + Event name, this must match an actual + packet name for a Packet to be successfully built + LLSD to convert to a Packet + A Packet on success, otherwise null - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - Reference to the GridClient object + + - - Does periodic dead reckoning calculation to convert - velocity and acceleration to new positions for objects + + - - Raised when the simulator sends us data containing - A , Foliage or Attachment - - + + - - Raised when the simulator sends us data containing - additional information - - + + - - Raised when the simulator sends us data containing - Primitive.ObjectProperties for an object we are currently tracking + + - - Raised when the simulator sends us data containing - additional and details - + + - - Raised when the simulator sends us data containing - updated information for an + + - - Raised when the simulator sends us data containing - and movement changes + + - - Raised when the simulator sends us data containing - updates to an Objects DataBlock + + - - Raised when the simulator informs us an - or is no longer within view + + - - Raised when the simulator sends us data containing - updated sit information for our + + - - Raised when the simulator sends us data containing - purchase price information for a + + - - Raises the ObjectProperties Event - A ObjectPropertiesEventArgs object containing - the data sent from the simulator + + - - Raises the ObjectPropertiesUpdated Event - A ObjectPropertiesUpdatedEventArgs object containing - the data sent from the simulator + + - - Raises the ObjectPropertiesFamily Event - A ObjectPropertiesFamilyEventArgs object containing - the data sent from the simulator + + - - Raises the AvatarUpdate Event - A AvatarUpdateEventArgs object containing - the data sent from the simulator + + - - Raises the ObjectDataBlockUpdate Event - A ObjectDataBlockUpdateEventArgs object containing - the data sent from the simulator + + - - Raises the KillObject Event - A KillObjectEventArgs object containing - the data sent from the simulator + + - - Raises the AvatarSitChanged Event - A AvatarSitChangedEventArgs object containing - the data sent from the simulator + + - - Raises the PayPriceReply Event - A PayPriceReplyEventArgs object containing - the data sent from the simulator + + - - - Request information for a single object from a - you are currently connected to - - The the object is located - The Local ID of the object + + - - - Request information for multiple objects contained in - the same simulator - - The the objects are located - An array containing the Local IDs of the objects + + - - - Attempt to purchase an original object, a copy, or the contents of - an object - - The the object is located - The Local ID of the object - Whether the original, a copy, or the object - contents are on sale. This is used for verification, if the this - sale type is not valid for the object the purchase will fail - Price of the object. This is used for - verification, if it does not match the actual price the purchase - will fail - Group ID that will be associated with the new - purchase - Inventory folder UUID where the object or objects - purchased should be placed - - - BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, - 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); - - + + - - - Request prices that should be displayed in pay dialog. This will triggger the simulator - to send us back a PayPriceReply which can be handled by OnPayPriceReply event - - The the object is located - The ID of the object - The result is raised in the event + + - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - + + - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - if true, a call to is - made immediately following the request - + + - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - Should objects be deselected immediately after selection - + + - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - + + - - - Update the properties of an object - - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on + + - - - Sets the sale properties of a single object - - The the object is located - The Local ID of the object - One of the options from the enum - The price of the object + + - - - Sets the sale properties of multiple objects - - The the objects are located - An array containing the Local IDs of the objects - One of the options from the enum - The price of the object + + - - - Deselect a single object - - The the object is located - The Local ID of the object + + - - - Deselect multiple objects. - - The the objects are located - An array containing the Local IDs of the objects + + - - - Perform a click action on an object - - The the object is located - The Local ID of the object + + - - - Perform a click action (Grab) on a single object - - The the object is located - The Local ID of the object - The texture coordinates to touch - The surface coordinates to touch - The face of the position to touch - The region coordinates of the position to touch - The surface normal of the position to touch (A normal is a vector perpindicular to the surface) - The surface binormal of the position to touch (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space + + - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + + - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Specify the - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + + - - - Rez a Linden tree - - A reference to the object where the object resides - The size of the tree - The rotation of the tree - The position of the tree - The Type of tree - The of the group to set the tree to, - or UUID.Zero if no group is to be set - true to use the "new" Linden trees, false to use the old + + - - - Rez grass and ground cover - - A reference to the object where the object resides - The size of the grass - The rotation of the grass - The position of the grass - The type of grass from the enum - The of the group to set the tree to, - or UUID.Zero if no group is to be set + + - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply + + - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - A media URL (not used) + + - - - Set the Light data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + - - - Set the flexible data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + - - - Set the sculptie texture and data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + - - - Unset additional primitive parameters on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The extra parameters to set + + - - - Link multiple prims into a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to link - The last object in the array will be the root object of the linkset TODO: Is this true? + + - - - Delink/Unlink multiple prims from a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to delink + + - - - Change the rotation of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation of the object + + - - - Set the name of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new name of the object + + - - - Set the name of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the name of - An array which contains the new names of the objects + + - - - Set the description of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new description of the object + + - - - Set the descriptions of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the description of - An array which contains the new descriptions of the objects + + - - - Attach an object to this avatar - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The point on the avatar the object will be attached - The rotation of the attached object + + - - - Drop an attached object from this avatar - - A reference to the - object where the objects reside. This will always be the simulator the avatar is currently in - - The object's ID which is local to the simulator the object is in + + - - - Detach an object from yourself - - A reference to the - object where the objects reside - This will always be the simulator the avatar is currently in - - An array which contains the IDs of the objects to detach + + - - - Change the position of an object, Will change position of entire linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object + + - - - Change the position of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - if true, will change position of (this) child prim only, not entire linkset + + - - - Change the Scale (size) of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change scale of this prim only, not entire linkset - True to resize prims uniformly + + - - - Change the Rotation of an object that is either a child or a whole linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change rotation of this prim only, not entire linkset + + - - - Send a Multiple Object Update packet to change the size, scale or rotation of a primitive - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation, size, or position of the target object - The flags from the Enum + + - - - Deed an object (prim) to a group, Object must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The of the group to deed the object to + + - - - Deed multiple objects (prims) to a group, Objects must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - An array which contains the IDs of the objects to deed - The of the group to deed the object to + + - - - Set the permissions on multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the permissions on - The new Who mask to set - The new Permissions mark to set - TODO: What does this do? + + - - - Request additional properties for an object - - A reference to the object where the object resides - - + + - - - Request additional properties for an object - - A reference to the object where the object resides - Absolute UUID of the object - Whether to require server acknowledgement of this request + + - - - Set the ownership of a list of objects to the specified group - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the group id on - The Groups ID + + - - - Update current URL of the previously set prim media - - UUID of the prim - Set current URL to this - Prim face number - Simulator in which prim is located + + - - - Set object media - - UUID of the prim - Array the length of prims number of faces. Null on face indexes where there is - no media, on faces which contain the media - Simulatior in which prim is located + + - - - Retrieve information about object media - - UUID of the primitive - Simulator where prim is located - Call this callback when done + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - A terse object update, used when a transformation matrix or - velocity/acceleration for an object changes but nothing else - (scale/position/rotation/acceleration/velocity) - - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + + + + + + + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - Setup construction data for a basic primitive shape - - Primitive shape to construct - Construction data that can be plugged into a + + - - - - - - - - - - - + + - - - - - - - + + - - - Set the Shape data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - Data describing the prim shape + + - - - Set the Material data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new material of the object + + - - - - - - - - - - - + + - - - - - - - - - - - + + - - Provides data for the event - - The event occurs when the simulator sends - an containing a Primitive, Foliage or Attachment data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or - if an Avatar crosses the border into a new simulator and returns to the current simulator - - - The following code example uses the , , and - properties to display new Primitives and Attachments on the window. - - // Subscribe to the event that gives us prim and foliage information - Client.Objects.ObjectUpdate += Objects_ObjectUpdate; - private void Objects_ObjectUpdate(object sender, PrimEventArgs e) - { - Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); - } - - - - + + - - - Construct a new instance of the PrimEventArgs class - - The simulator the object originated from - The Primitive - The simulator time dilation - The prim was not in the dictionary before this update - true if the primitive represents an attachment to an agent + + - - Get the simulator the originated from + + - - Get the details + + - - true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) + + - - true if the is attached to an + + - - Get the simulator Time Dilation + + - - Provides data for the event - - The event occurs when the simulator sends - an containing Avatar data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator - - - The following code example uses the property to make a request for the top picks - using the method in the class to display the names - of our own agents picks listings on the window. - - // subscribe to the AvatarUpdate event to get our information - Client.Objects.AvatarUpdate += Objects_AvatarUpdate; - Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; - private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) - { - // we only want our own data - if (e.Avatar.LocalID == Client.Self.LocalID) - { - // Unsubscribe from the avatar update event to prevent a loop - // where we continually request the picks every time we get an update for ourselves - Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; - // make the top picks request through AvatarManager - Client.Avatars.RequestAvatarPicks(e.Avatar.ID); - } - } - private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) - { - // we'll unsubscribe from the AvatarPicksReply event since we now have the data - // we were looking for - Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; - // loop through the dictionary and extract the names of the top picks from our profile - foreach (var pickName in e.Picks.Values) - { - Console.WriteLine(pickName); - } - } - - - + + - - - Construct a new instance of the AvatarUpdateEventArgs class - - The simulator the packet originated from - The data - The simulator time dilation - The avatar was not in the dictionary before this update + + - - Get the simulator the object originated from + + - - Get the data + + - - Get the simulator time dilation + + - - true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) + + - - Provides additional primitive data for the event - - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment data - The event is also raised when a request is - made. - - - The following code example uses the , and - - properties to display new attachments and send a request for additional properties containing the name of the - attachment then display it on the window. - - // Subscribe to the event that provides additional primitive details - Client.Objects.ObjectProperties += Objects_ObjectProperties; - // handle the properties data that arrives - private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) - { - Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); - } - + + - - - Construct a new instance of the ObjectPropertiesEventArgs class - - The simulator the object is located - The primitive Properties + + - - Get the simulator the object is located + + - - Get the primitive properties + + - - Provides additional primitive data for the event - - The event occurs when the simulator sends - an containing additional details for a Primitive or Foliage data that is currently - being tracked in the dictionary - The event is also raised when a request is - made and is enabled - + + - - - Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class - - The simulator the object is located - The Primitive - The primitive Properties + + - - Get the simulator the object is located + + - - Get the primitive details + + - - Get the primitive properties + + - - Provides additional primitive data, permissions and sale info for the event - - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment. This includes - Permissions, Sale info, and other basic details on an object - The event is also raised when a request is - made, the viewer equivalent is hovering the mouse cursor over an object - + + - - Get the simulator the object is located + + - - - + + - - - + + - - Provides primitive data containing updated location, velocity, rotation, textures for the event - - The event occurs when the simulator sends updated location, velocity, rotation, etc - + + - - Get the simulator the object is located + + - - Get the primitive details + + - - - + + - - - + + - - - + + - - Get the simulator the object is located + + - - Get the primitive details + + - - - + + - - - + + - - - + + - - - + + - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event + + - - Get the simulator the object is located + + - - The LocalID of the object + + - - - Provides updates sit position data - + + - - Get the simulator the object is located + + - - - + + + + + + + + - - - + + - - - + + - - - + + - - Get the simulator the object is located + + - - - + + - - - + + - - - + + - - - Indicates if the operation was successful - + + - - - Media version string - + + - - - Array of media entries indexed by face number - + + - - - Create an allocated UDP packet buffer for receiving a packet - + + - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host + + - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - Size of the buffer to allocate for packet data + + - - Size of the byte array used to store raw packet data + + - - Raw packet data buffer + + - - Length of the data to transmit + + - - EndPoint of the remote host + + - - - Object pool for packet buffers. This is used to allocate memory for all - incoming and outgoing packets, and zerocoding buffers for those packets - + + - - - Initialize the object pool in client mode - - Server to connect to - - - - + + - - - Initialize the object pool in server mode - - - - - + + - - - Returns a packet buffer with EndPoint set if the buffer is in - client mode, or with EndPoint set to null in server mode - - Initialized UDPPacketBuffer object + + - - - Default constructor - + + - - - Check a packet buffer out of the pool - - A packet buffer object + + - - - Returns an instance of the class that has been checked out of the Object Pool. - + + - - - Checks the instance back into the object pool - + + - - - Creates a new instance of the ObjectPoolBase class. Initialize MUST be called - after using this constructor. - + + - - - Creates a new instance of the ObjectPool Base class. - - The object pool is composed of segments, which - are allocated whenever the size of the pool is exceeded. The number of items - in a segment should be large enough that allocating a new segmeng is a rare - thing. For example, on a server that will have 10k people logged in at once, - the receive buffer object pool should have segment sizes of at least 1000 - byte arrays per segment. - - The minimun number of segments that may exist. - Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. - The frequency which segments are checked to see if they're eligible for cleanup. + + - - - The total number of segments created. Intended to be used by the Unit Tests. - + + - - - The number of items that are in a segment. Items in a segment - are all allocated at the same time, and are hopefully close to - each other in the managed heap. - + + - - - The minimum number of segments. When segments are reclaimed, - this number of segments will always be left alone. These - segments are allocated at startup. - + + - - - The age a segment must be before it's eligible for cleanup. - This is used to prevent thrash, and typical values are in - the 5 minute range. - + + - - - The frequence which the cleanup thread runs. This is typically - expected to be in the 5 minute range. - + + - - - Forces the segment cleanup algorithm to be run. This method is intended - primarly for use from the Unit Test libraries. - + + - - - Responsible for allocate 1 instance of an object that will be stored in a segment. - - An instance of whatever objec the pool is pooling. + + - - - Checks in an instance of T owned by the object pool. This method is only intended to be called - by the WrappedObject class. - - The segment from which the instance is checked out. - The instance of T to check back into the segment. + + - - - Checks an instance of T from the pool. If the pool is not sufficient to - allow the checkout, a new segment is created. - - A WrappedObject around the instance of T. To check - the instance back into the segment, be sureto dispose the WrappedObject - when finished. + + - - - + + - - - + + - - - + + - - - + + - - - The ObservableDictionary class is used for storing key/value pairs. It has methods for firing - events to subscribers when items are added, removed, or changed. - - Key - Value + + - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); - - + + - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); - - + + - - - A dictionary of callbacks to fire when specified action occurs - + + - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking + + - - - Indexer for the dictionary - - The key - The value + + - - - Gets the number of Key/Value pairs contained in the + + - - - Register a callback to be fired when an action occurs - - The action - The callback to fire + + + + + - - - Unregister a callback - - The action - The callback to fire + + - - - - - - - + + - - - Try to get entry from the with specified key - - Key to use for lookup - Value returned - - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - + + - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - + + - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - + + - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - + + - - Check if Key exists in Dictionary - Key to check for - - if found, otherwise + + - - Check if Value exists in Dictionary - Value to check for - - if found, otherwise + + - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - The key - The value + + - - - Removes the specified key, dictionary locking is not performed - - The key. - - if successful, otherwise + + - - - Clear the contents of the dictionary - + + - - - Enumerator for iterating dictionary entries - - - + + - - - A custom decoder callback - - The key of the object - the data to decode - A string represending the fieldData + + - - - Add a custom decoder callback - - The key of the field to decode - The custom decode handler + + - - - Remove a custom decoder callback - - The key of the field to decode - The custom decode handler + + - - - Creates a formatted string containing the values of a Packet - - The Packet - A formatted string of values of the nested items in the Packet object + + - - - Decode an IMessage object into a beautifully formatted string - - The IMessage object - Recursion level (used for indenting) - A formatted string containing the names and values of the source object + + - - - Type of return to use when returning objects from a parcel - + + - - - + + - - Return objects owned by parcel owner + + - - Return objects set to group + + - - Return objects not owned by parcel owner or set to group + + - - Return a specific list of objects on parcel + + - - Return objects that are marked for-sale + + - - - Blacklist/Whitelist flags used in parcels Access List - + + - - Agent is denied access + + - - Agent is granted access + + - - - The result of a request for parcel properties - + + - - No matches were found for the request + + - - Request matched a single parcel + + - - Request matched multiple parcels + + - - - Flags used in the ParcelAccessListRequest packet to specify whether - we want the access list (whitelist), ban list (blacklist), or both - + + - - Request the access list + + - - Request the ban list + + - - Request both White and Black lists + + - - - Sequence ID in ParcelPropertiesReply packets (sent when avatar - tries to cross a parcel border) - + + - - Parcel is currently selected + + - - Parcel restricted to a group the avatar is not a - member of + + - - Avatar is banned from the parcel + + - - Parcel is restricted to an access list that the - avatar is not on + + - - Response to hovering over a parcel + + - - - The tool to use when modifying terrain levels - + + - - Level the terrain + + - - Raise the terrain + + - - Lower the terrain + + - - Smooth the terrain + + - - Add random noise to the terrain + + - - Revert terrain to simulator default + + - - - The tool size to use when changing terrain levels - + + - - Small + + - - Medium + + - - Large + + - - - Reasons agent is denied access to a parcel on the simulator - + + - - Agent is not denied, access is granted + + - - Agent is not a member of the group set for the parcel, or which owns the parcel + + - - Agent is not on the parcels specific allow list + + + + + - - Agent is on the parcels ban list + + - - Unknown + + - - Agent is not age verified and parcel settings deny access to non age verified avatars + + - - - Parcel overlay type. This is used primarily for highlighting and - coloring which is why it is a single integer instead of a set of - flags - - These values seem to be poorly thought out. The first three - bits represent a single value, not flags. For example Auction (0x05) is - not a combination of OwnedByOther (0x01) and ForSale(0x04). However, - the BorderWest and BorderSouth values are bit flags that get attached - to the value stored in the first three bits. Bits four, five, and six - are unused + + - - Public land + + - - Land is owned by another avatar + + - - Land is owned by a group + + - - Land is owned by the current avatar + + - - Land is for sale + + - - Land is being auctioned + + - - To the west of this area is a parcel border + + - - To the south of this area is a parcel border + + - - - Various parcel properties - + + - - No flags set + + - - Allow avatars to fly (a client-side only restriction) + + - - Allow foreign scripts to run + + - - This parcel is for sale + + - - Allow avatars to create a landmark on this parcel + + - - Allows all avatars to edit the terrain on this parcel + + - - Avatars have health and can take damage on this parcel. - If set, avatars can be killed and sent home here + + - - Foreign avatars can create objects here + + - - All objects on this parcel can be purchased + + - - Access is restricted to a group + + - - Access is restricted to a whitelist + + - - Ban blacklist is enabled + + - - Unknown + + - - List this parcel in the search directory + + - - Allow personally owned parcels to be deeded to group + + - - If Deeded, owner contributes required tier to group parcel is deeded to + + - - Restrict sounds originating on this parcel to the - parcel boundaries + + - - Objects on this parcel are sold when the land is - purchsaed + + - - Allow this parcel to be published on the web + + - - The information for this parcel is mature content + + - - The media URL is an HTML page + + - - The media URL is a raw HTML string + + - - Restrict foreign object pushes + + - - Ban all non identified/transacted avatars + + - - Allow group-owned scripts to run + + - - Allow object creation by group members or group - objects + + - - Allow all objects to enter this parcel + + - - Only allow group and owner objects to enter this parcel + + - - Voice Enabled on this parcel + + - - Use Estate Voice channel for Voice on this parcel + + - - Deny Age Unverified Users + + - - - Parcel ownership status - + + - - Placeholder + + - - Parcel is leased (owned) by an avatar or group + + - - Parcel is in process of being leased (purchased) by an avatar or group + + - - Parcel has been abandoned back to Governor Linden + + - - - Category parcel is listed in under search - + + - - No assigned category + + - - Linden Infohub or public area + + - - Adult themed area + + - - Arts and Culture + + - - Business + + - - Educational + + - - Gaming + + - - Hangout or Club + + - - Newcomer friendly + + - - Parks and Nature + + - - Residential + + - - Shopping + + - - Not Used? + + - - Other + + - - Not an actual category, only used for queries + + - - - Type of teleport landing for a parcel - + + - - Unset, simulator default + + - - Specific landing point set for this parcel + + - - No landing point set, direct teleports enabled for - this parcel + + - - - Parcel Media Command used in ParcelMediaCommandMessage - + + - - Stop the media stream and go back to the first frame + + - - Pause the media stream (stop playing but stay on current frame) + + - - Start the current media stream playing and stop when the end is reached + + - - Start the current media stream playing, - loop to the beginning when the end is reached and continue to play + + - - Specifies the texture to replace with video - If passing the key of a texture, it must be explicitly typecast as a key, - not just passed within double quotes. + + - - Specifies the movie URL (254 characters max) + + - - Specifies the time index at which to begin playing + + + + + - - Specifies a single agent to apply the media command to + + - - Unloads the stream. While the stop command sets the texture to the first frame of the movie, - unload resets it to the real texture that the movie was replacing. + + - - Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties - (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. + + - - Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). - Use "text/html" for HTML. + + - - Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). - This might still not be working + + - - Sets a description for the media being displayed (1.19.1 RC0 and later only). + + - - - Some information about a parcel of land returned from a DirectoryManager search - + + - - Global Key of record + + - - Parcel Owners + + - - Name field of parcel, limited to 128 characters + + - - Description field of parcel, limited to 256 characters + + - - Total Square meters of parcel + + - - Total area billable as Tier, for group owned land this will be 10% less than ActualArea + + - - True of parcel is in Mature simulator + + - - Grid global X position of parcel + + - - Grid global Y position of parcel + + - - Grid global Z position of parcel (not used) + + - - Name of simulator parcel is located in + + - - Texture of parcels display picture + + - - Float representing calculated traffic based on time spent on parcel by avatars + + - - Sale price of parcel (not used) + + - - Auction ID of parcel + + - - - Parcel Media Information - + + - - A byte, if 0x1 viewer should auto scale media to fit object + + - - A boolean, if true the viewer should loop the media + + - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + - - A URL which points to any Quicktime supported media type + + - - A description of the media + + - - An Integer which represents the height of the media + + - - An integer which represents the width of the media + + - - A string which contains the mime type of the media + + - - - Parcel of land, a portion of virtual real estate in a simulator - + + - - - Defalt constructor - - Local ID of this parcel + + - - The total number of contiguous 4x4 meter blocks your agent owns within this parcel + + - - The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own + + - - Deprecated, Value appears to always be 0 + + - - Simulator-local ID of this parcel + + - - UUID of the owner of this parcel + + - - Whether the land is deeded to a group or not + + - - - + + - - Date land was claimed + + - - Appears to always be zero + + - - This field is no longer used + + - - Minimum corner of the axis-aligned bounding box for this - parcel + + - - Maximum corner of the axis-aligned bounding box for this - parcel + + - - Bitmap describing land layout in 4x4m squares across the - entire region + + - - Total parcel land area + + - - - + + - - Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used + + - - Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel - owned by the agent or group that owns this parcel + + - - Maximum number of primitives this parcel supports + + - - Total number of primitives on this parcel + + - - For group-owned parcels this indicates the total number of prims deeded to the group, - for parcels owned by an individual this inicates the number of prims owned by the individual + + - - Total number of primitives owned by the parcel group on - this parcel, or for parcels owned by an individual with a group set the - total number of prims set to that group. + + - - Total number of prims owned by other avatars that are not set to group, or not the parcel owner + + - - A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect - the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed + + - - Autoreturn value in minutes for others' objects + + - - - + + - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it + + - - Parcel Name + + - - Parcel Description + + - - URL For Music Stream + + - - - + + - - Price for a temporary pass + + - - How long is pass valid for + + - - - + + - - Key of authorized buyer + + - - Key of parcel snapshot + + - - The landing point location + + - - The landing point LookAt + + - - The type of landing enforced from the enum + + - - - + + - - - + + - - - + + - - Access list of who is whitelisted on this - parcel + + - - Access list of who is blacklisted on this - parcel + + - - TRUE of region denies access to age unverified users + + - - true to obscure (hide) media url + + - - true to obscure (hide) music url + + - - A struct containing media details + + - - - Displays a parcel object in string format - - string containing key=value pairs of a parcel object + + - - - Update the simulator with any local changes to this Parcel object - - Simulator to send updates to - Whether we want the simulator to confirm - the update with a reply packet or not + + - - - Set Autoreturn time - - Simulator to send the update to + + - - - Parcel (subdivided simulator lots) subsystem - + + - - - Default constructor - - A reference to the GridClient object + + - - - Parcel Accesslist - + + - - Agents + + - - - + + - - Flags for specific entry in white/black lists + + - - - Owners of primitives on parcel - + + - - Prim Owners + + - - True of owner is group + + - - Total count of prims owned by OwnerID + + - - true of OwnerID is currently online and is not a group + + - - The date of the most recent prim left by OwnerID + + - - - Called once parcel resource usage information has been collected - - Indicates if operation was successfull - Parcel resource usage information + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a request + + - - Raised when the simulator responds to a Parcel Update request + + - - Raised when the parcel your agent is located sends a ParcelMediaCommand + + - - Raises the ParcelDwellReply event - A ParcelDwellReplyEventArgs object containing the - data returned from the simulator + + - - Raises the ParcelInfoReply event - A ParcelInfoReplyEventArgs object containing the - data returned from the simulator + + - - Raises the ParcelProperties event - A ParcelPropertiesEventArgs object containing the - data returned from the simulator + + - - Raises the ParcelAccessListReply event - A ParcelAccessListReplyEventArgs object containing the - data returned from the simulator + + - - Raises the ParcelObjectOwnersReply event - A ParcelObjectOwnersReplyEventArgs object containing the - data returned from the simulator + + - - Raises the SimParcelsDownloaded event - A SimParcelsDownloadedEventArgs object containing the - data returned from the simulator + + - - Raises the ForceSelectObjectsReply event - A ForceSelectObjectsReplyEventArgs object containing the - data returned from the simulator + + - - Raises the ParcelMediaUpdateReply event - A ParcelMediaUpdateReplyEventArgs object containing the - data returned from the simulator + + - - Raises the ParcelMediaCommand event - A ParcelMediaCommandEventArgs object containing the - data returned from the simulator + + - - - Request basic information for a single parcel - - Simulator-local ID of the parcel + + - - - Request properties of a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - multiple simultaneous requests + + - - - Request the access list for a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelAccessList reply, useful for distinguishing between - multiple simultaneous requests - - + + - - - Request properties of parcels using a bounding box selection - - Simulator containing the parcel - Northern boundary of the parcel selection - Eastern boundary of the parcel selection - Southern boundary of the parcel selection - Western boundary of the parcel selection - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - different types of parcel property requests - A boolean that is returned with the - ParcelProperties reply, useful for snapping focus to a single - parcel + + - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) + + - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - If TRUE, will force a full refresh - Number of milliseconds to pause in between each request + + - - - Request the dwell value for a parcel - - Simulator containing the parcel - Simulator-local ID of the parcel + + - - - Send a request to Purchase a parcel of land - - The Simulator the parcel is located in - The parcels region specific local ID - true if this parcel is being purchased by a group - The groups - true to remove tier contribution if purchase is successful - The parcels size - The purchase price of the parcel - - + + - - - Reclaim a parcel of land - - The simulator the parcel is in - The parcels region specific local ID + + - - - Deed a parcel to a group - - The simulator the parcel is in - The parcels region specific local ID - The groups + + - - - Request prim owners of a parcel of land. - - Simulator parcel is in - The parcels region specific local ID + + - - - Return objects from a parcel - - Simulator parcel is in - The parcels region specific local ID - the type of objects to return, - A list containing object owners s to return + + - - - Subdivide (split) a parcel - - - - - - - - - - - + + - - - Join two parcels of land creating a single parcel - - - - - - - - - - - + + - - - Get a parcels LocalID - - Simulator parcel is in - Vector3 position in simulator (Z not used) - 0 on failure, or parcel LocalID on success. - A call to Parcels.RequestAllSimParcels is required to populate map and - dictionary. + + - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + + - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + + - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + + - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - Height at which the terraform operation is acting at + + - - - Sends a request to the simulator to return a list of objects owned by specific owners - - Simulator local ID of parcel - Owners, Others, Etc - List containing keys of avatars objects to select; - if List is null will return Objects of type selectType - Response data is returned in the event + + - - - Eject and optionally ban a user from a parcel - - target key of avatar to eject - true to also ban target + + - - - Freeze or unfreeze an avatar over your land - - target key to freeze - true to freeze, false to unfreeze + + - - - Abandon a parcel of land - - Simulator parcel is in - Simulator local ID of parcel + + - - - Requests the UUID of the parcel in a remote region at a specified location - - Location of the parcel in the remote region - Remote region handle - Remote region UUID - If successful UUID of the remote parcel, UUID.Zero otherwise + + - - - Retrieves information on resources used by the parcel - - UUID of the parcel - Should per object resource usage be requested - Callback invoked when the request is complete + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + - - Contains a parcels dwell data returned from the simulator in response to an + + - - - Construct a new instance of the ParcelDwellReplyEventArgs class - - The global ID of the parcel - The simulator specific ID of the parcel - The calculated dwell for the parcel + + - - Get the global ID of the parcel + + - - Get the simulator specific ID of the parcel + + - - Get the calculated dwell + + - - Contains basic parcel information data returned from the - simulator in response to an request + + - - - Construct a new instance of the ParcelInfoReplyEventArgs class - - The object containing basic parcel info + + - - Get the object containing basic parcel info + + - - Contains basic parcel information data returned from the simulator in response to an request + + - - - Construct a new instance of the ParcelPropertiesEventArgs class - - The object containing the details - The object containing the details - The result of the request - The number of primitieves your agent is - currently selecting and or sitting on in this parcel - The user assigned ID used to correlate a request with - these results - TODO: + + - - Get the simulator the parcel is located in + + - - Get the object containing the details - If Result is NoData, this object will not contain valid data + + - - Get the result of the request + + - - Get the number of primitieves your agent is - currently selecting and or sitting on in this parcel + + - - Get the user assigned ID used to correlate a request with - these results + + - - TODO: + + - - Contains blacklist and whitelist data returned from the simulator in response to an request + + - - - Construct a new instance of the ParcelAccessListReplyEventArgs class - - The simulator the parcel is located in - The user assigned ID used to correlate a request with - these results - The simulator specific ID of the parcel - TODO: - The list containing the white/blacklisted agents for the parcel + + - - Get the simulator the parcel is located in + + - - Get the user assigned ID used to correlate a request with - these results + + - - Get the simulator specific ID of the parcel + + - - TODO: + + - - Get the list containing the white/blacklisted agents for the parcel + + - - Contains blacklist and whitelist data returned from the - simulator in response to an request + + - - - Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - - The simulator the parcel is located in - The list containing prim ownership counts + + - - Get the simulator the parcel is located in + + - - Get the list containing prim ownership counts + + - - Contains the data returned when all parcel data has been retrieved from a simulator + + - - - Construct a new instance of the SimParcelsDownloadedEventArgs class - - The simulator the parcel data was retrieved from - The dictionary containing the parcel data - The multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + - - Get the simulator the parcel data was retrieved from + + - - A dictionary containing the parcel data where the key correlates to the ParcelMap entry + + - - Get the multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + - - Contains the data returned when a request + + - - - Construct a new instance of the ForceSelectObjectsReplyEventArgs class - - The simulator the parcel data was retrieved from - The list of primitive IDs - true if the list is clean and contains the information - only for a given request + + - - Get the simulator the parcel data was retrieved from + + - - Get the list of primitive IDs + + - - true if the list is clean and contains the information - only for a given request + + - - Contains data when the media data for a parcel the avatar is on changes + + - - - Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - - the simulator the parcel media data was updated in - The updated media information + + - - Get the simulator the parcel media data was updated in + + - - Get the updated media information + + - - Contains the media command for a parcel the agent is currently on + + - - - Construct a new instance of the ParcelMediaCommandEventArgs class - - The simulator the parcel media command was issued in - - - - - The media command that was sent - - + + - - Get the simulator the parcel media command was issued in + + - - - + + - - - + + - - Get the media command that was sent + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - - - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - - - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - - - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - - - - - + + - - - - - - - + + - - - - - - - - - + + - - - + + - - - - - - - + + - - - - - - - + + - - - - - + + - - - Class for controlling various system settings. - - Some values are readonly because they affect things that - happen when the GridClient object is initialized, so changing them at - runtime won't do any good. Non-readonly values may affect things that - happen at login or dynamically + + - - Constructor - Reference to a GridClient object + + - - Main grid login server + + - - Beta grid login server + + - - - InventoryManager requests inventory information on login, - GridClient initializes an Inventory store for main inventory. - + + - - - InventoryManager requests library information on login, - GridClient initializes an Inventory store for the library. - + + - - Number of milliseconds between sending pings to each sim + + - - Number of milliseconds between sending camera updates + + - - Number of milliseconds between updating the current - positions of moving, non-accelerating and non-colliding objects + + - - Millisecond interval between ticks, where all ACKs are - sent out and the age of unACKed packets is checked + + - - The initial size of the packet inbox, where packets are - stored before processing + + - - Maximum size of packet that we want to send over the wire + + - - The maximum value of a packet sequence number before it - rolls over back to one + + - - The maximum size of the sequence number archive, used to - check for resent and/or duplicate packets + + - - The relative directory where external resources are kept + + - - Login server to connect to + + - - IP Address the client will bind to + + - - Use XML-RPC Login or LLSD Login, default is XML-RPC Login + + - - Number of milliseconds before an asset transfer will time - out + + - - Number of milliseconds before a teleport attempt will time - out + + - - Number of milliseconds before NetworkManager.Logout() will - time out + + - - Number of milliseconds before a CAPS call will time out - Setting this too low will cause web requests time out and - possibly retry repeatedly + + - - Number of milliseconds for xml-rpc to timeout + + - - Milliseconds before a packet is assumed lost and resent + + + + + - - Milliseconds without receiving a packet before the - connection to a simulator is assumed lost + + - - Milliseconds to wait for a simulator info request through - the grid interface + + - - Maximum number of queued ACKs to be sent before SendAcks() - is forced + + - - Network stats queue length (seconds) + + - - Enable/disable storing terrain heightmaps in the - TerrainManager + + - - Enable/disable sending periodic camera updates + + - - Enable/disable automatically setting agent appearance at - login and after sim crossing + + - - Enable/disable automatically setting the bandwidth throttle - after connecting to each simulator - The default throttle uses the equivalent of the maximum - bandwidth setting in the official client. If you do not set a - throttle your connection will by default be throttled well below - the minimum values and you may experience connection problems + + - - Enable/disable the sending of pings to monitor lag and - packet loss + + - - Should we connect to multiple sims? This will allow - viewing in to neighboring simulators and sim crossings - (Experimental) + + - - If true, all object update packets will be decoded in to - native objects. If false, only updates for our own agent will be - decoded. Registering an event handler will force objects for that - type to always be decoded. If this is disabled the object tracking - will have missing or partial prim and avatar information + + - - If true, when a cached object check is received from the - server the full object info will automatically be requested + + - - Whether to establish connections to HTTP capabilities - servers for simulators + + - - Whether to decode sim stats + + - - The capabilities servers are currently designed to - periodically return a 502 error which signals for the client to - re-establish a connection. Set this to true to log those 502 errors + + - - If true, any reference received for a folder or item - the library is not aware of will automatically be fetched + + - - If true, and SEND_AGENT_UPDATES is true, - AgentUpdate packets will continuously be sent out to give the bot - smoother movement and autopiloting + + - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectAvatars. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectPrimitives. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + - - If true, position and velocity will periodically be - interpolated (extrapolated, technically) for objects and - avatars that are being tracked by the library. This is - necessary to increase the accuracy of speed and position - estimates for simulated objects + + - - - If true, utilization statistics will be tracked. There is a minor penalty - in CPU time for enabling this option. - + + - - If true, parcel details will be stored in the - Simulator.Parcels dictionary as they are received + + - - - If true, an incoming parcel properties reply will automatically send - a request for the parcel access list - + + - - - if true, an incoming parcel properties reply will automatically send - a request for the traffic count. - + + - - - If true, images, and other assets downloaded from the server - will be cached in a local directory - + + - - Path to store cached texture data + + - - Maximum size cached files are allowed to take on disk (bytes) + + - - Default color used for viewer particle effects + + - - Maximum number of times to resend a failed packet + + - - Throttle outgoing packet rate + + - - UUID of a texture used by some viewers to indentify type of client used + + - - - Download textures using GetTexture capability when available - + + - - The maximum number of concurrent texture downloads allowed - Increasing this number will not necessarily increase texture retrieval times due to - simulator throttles + + - - - The Refresh timer inteval is used to set the delay between checks for stalled texture downloads - - This is a static variable which applies to all instances + + - - - Textures taking longer than this value will be flagged as timed out and removed from the pipeline - + + - - - Get or set the minimum log level to output to the console by default - If the library is not compiled with DEBUG defined and this level is set to DEBUG - You will get no output on the console. This behavior can be overriden by creating - a logger configuration file for log4net - + + - - Attach avatar names to log messages + + - - Log packet retransmission info + + - - Cost of uploading an asset - Read-only since this value is dynamically fetched at login + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - - Simulator (region) properties - + + - - No flags set + + - - Agents can take damage and be killed + + - - Landmarks can be created here + + - - Home position can be set in this sim + + - - Home position is reset when an agent teleports away + + - - Sun does not move + + - - No object, land, etc. taxes + + - - Disable heightmap alterations (agents can still plant - foliage) + + - - Land cannot be released, sold, or purchased + + - - All content is wiped nightly + + - - Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) + + - - Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. + + - - Region does not update agent prim interest lists. Internal debugging option. + + - - No collision detection for non-agent objects + + - - No scripts are ran + + - - All physics processing is turned off + + - - Region can be seen from other regions on world map. (Legacy world map option?) + + - - Region can be seen from mainland on world map. (Legacy world map option?) + + - - Agents not explicitly on the access list can visit the region. + + - - Traffic calculations are not run across entire region, overrides parcel settings. + + - - Flight is disabled (not currently enforced by the sim) + + - - Allow direct (p2p) teleporting + + - - Estate owner has temporarily disabled scripting + + - - Restricts the usage of the LSL llPushObject function, applies to whole region. + + + + + - - Deny agents with no payment info on file + + - - Deny agents with payment info on file + + - - Deny agents who have made a monetary transaction + + - - Parcels within the region may be joined or divided by anyone, not just estate owners/managers. + + - - Abuse reports sent from within this region are sent to the estate owner defined email. + + - - Region is Voice Enabled + + - - Removes the ability from parcel owners to set their parcels to show in search. + + - - Deny agents who have not been age verified from entering the region. + + - - - Access level for a simulator - + + - - Unknown or invalid access level + + - - Trial accounts allowed + + - - PG rating + + - - Mature rating + + - - Adult rating + + - - Simulator is offline + + - - Simulator does not exist + + - - - + + - - - - Reference to the GridClient object - IPEndPoint of the simulator - handle of the simulator + + - - - Simulator Statistics - + + - - Total number of packets sent by this simulator to this agent + + - - Total number of packets received by this simulator to this agent + + - - Total number of bytes sent by this simulator to this agent + + - - Total number of bytes received by this simulator to this agent + + - - Time in seconds agent has been connected to simulator + + - - Total number of packets that have been resent + + - - Total number of resent packets recieved + + - - Total number of pings sent to this simulator by this agent + + - - Total number of ping replies sent to this agent by this simulator + + - - - Incoming bytes per second - - It would be nice to have this claculated on the fly, but - this is far, far easier + + - - - Outgoing bytes per second - - It would be nice to have this claculated on the fly, but - this is far, far easier + + - - Time last ping was sent + + - - ID of last Ping sent + + - - - + + - - - + + - - Current time dilation of this simulator + + - - Current Frames per second of simulator + + - - Current Physics frames per second of simulator + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - Total number of objects Simulator is simulating + + - - Total number of Active (Scripted) objects running + + - - Number of agents currently in this simulator + + - - Number of agents in neighbor simulators + + - - Number of Active scripts running in this simulator + + - - - + + - - - + + - - - + + - - Number of downloads pending + + - - Number of uploads pending + + - - - + + - - - + + - - Number of local uploads pending + + - - Unacknowledged bytes in queue + + - - A public reference to the client that this Simulator object - is attached to + + - - A Unique Cache identifier for this simulator + + - - The capabilities for this simulator + + - - - + + - - The current version of software this simulator is running + + - - - + + - - A 64x64 grid of parcel coloring values. The values stored - in this array are of the type + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - true if your agent has Estate Manager rights on this region + + - - - + + - - - + + - - - + + - - Statistics information for this simulator and the - connection to the simulator, calculated by the simulator itself - and the library + + - - The regions Unique ID + + - - The physical data center the simulator is located - Known values are: - DallasChandlerSF + + - - The CPU Class of the simulator - Most full mainland/estate sims appear to be 5, - Homesteads and Openspace appear to be 501 + + - - The number of regions sharing the same CPU as this one - "Full Sims" appear to be 1, Homesteads appear to be 4 + + - - The billing product name - Known values are: - Mainland / Full Region (Sku: 023)Estate / Full Region (Sku: 024)Estate / Openspace (Sku: 027)Estate / Homestead (Sku: 029)Mainland / Homestead (Sku: 129) (Linden Owned)Mainland / Linden Homes (Sku: 131) + + - - The billing product SKU - Known values are: - 023 Mainland / Full Region024 Estate / Full Region027 Estate / Openspace029 Estate / Homestead129 Mainland / Homestead (Linden Owned)131 Linden Homes / Full Region + + - - The current sequence number for packets sent to this - simulator. Must be Interlocked before modifying. Only - useful for applications manipulating sequence numbers + + - - - A thread-safe dictionary containing avatars in a simulator - + + - - - A thread-safe dictionary containing primitives in a simulator - + + - - - Provides access to an internal thread-safe dictionary containing parcel - information found in this simulator - + + - - Used internally to track sim disconnections + + - - Event that is triggered when the simulator successfully - establishes a connection + + - - Whether this sim is currently connected or not. Hooked up - to the property Connected + + - - Coarse locations of avatars in this simulator + + - - AvatarPositions key representing TrackAgent target + + - - Sequence numbers of packets we've received - (for duplicate checking) + + - - Packets we sent out that need ACKs from the simulator + + - - Sequence number for pause/resume + + - - Indicates if UDP connection to the sim is fully established + + - - - Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - + + - - The IP address and port of the server + + - - Whether there is a working connection to the simulator or - not + + - - Coarse locations of avatars in this simulator + + - - AvatarPositions key representing TrackAgent target + + - - Indicates if UDP connection to the sim is fully established + + - - - Checks simulator parcel map to make sure it has downloaded all data successfully - - true if map is full (contains no 0's) + + - - - Called when this Simulator object is being destroyed - + + - - - Attempt to connect to this simulator - - Whether to move our agent in to this sim or not - True if the connection succeeded or connection status is - unknown, false if there was a failure + + - - - Initiates connection to the simulator - + + - - - Disconnect from this simulator - + + - - - Instructs the simulator to stop sending update (and possibly other) packets - + + - - - Instructs the simulator to resume sending update packets (unpause) - + + - - - Retrieve the terrain height at a given coordinate - - Sim X coordinate, valid range is from 0 to 255 - Sim Y coordinate, valid range is from 0 to 255 - The terrain height at the given point if the - lookup was successful, otherwise 0.0f - True if the lookup was successful, otherwise false + + - - - Sends a packet - - Packet to be sent + + - - - + + - - - Returns Simulator Name as a String - - - + + - - - - - + + - - - - - - - + + - - - Sends out pending acknowledgements - - Number of ACKs sent + + - - - Resend unacknowledged packets - + + - - - + + - - - Construct a new instance of the SoundManager class, used for playing and receiving - sound assets - - A reference to the current GridClient instance + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - The event subscribers, null of no subscribers + + - - Thread sync lock object + + - - Raised when the simulator sends us data containing - sound + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - Raised when the simulator sends us data containing - ... + + - - Raises the AttachedSound Event - A AttachedSoundEventArgs object containing - the data sent from the simulator + + - - Raises the AttachedSoundGainChange Event - A AttachedSoundGainChangeEventArgs object containing - the data sent from the simulator + + - - Raises the SoundTrigger Event - A SoundTriggerEventArgs object containing - the data sent from the simulator + + - - Raises the PreloadSound Event - A PreloadSoundEventArgs object containing - the data sent from the simulator + + - - - Plays a sound in the current region at full volume from avatar position - - UUID of the sound to be played + + - - - Plays a sound in the current region at full volume - - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. + + - - - Plays a sound in the current region - - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + + - - - Plays a sound in the specified sim - - UUID of the sound to be played. - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + + - - - Play a sound asset - - UUID of the sound to be played. - handle id for the sim to be played in. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + - - Provides data for the event - The event occurs when the simulator sends - the sound data which emits from an agents attachment - - The following code example shows the process to subscribe to the event - and a stub to handle the data passed from the simulator - - // Subscribe to the AttachedSound event - Client.Sound.AttachedSound += Sound_AttachedSound; - // process the data raised in the event here - private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) - { - // ... Process AttachedSoundEventArgs here ... - } - + + - - - Construct a new instance of the SoundTriggerEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The volume level - The + + - - Simulator where the event originated + + - - Get the sound asset id + + - - Get the ID of the owner + + - - Get the ID of the Object + + - - Get the volume level + + - - Get the + + - - Provides data for the event - The event occurs when an attached sound - changes its volume level + + - - - Construct a new instance of the AttachedSoundGainChangedEventArgs class - - Simulator where the event originated - The ID of the Object - The new volume level + + - - Simulator where the event originated + + - - Get the ID of the Object + + - - Get the volume level + + - - Provides data for the event - - The event occurs when the simulator forwards - a request made by yourself or another agent to play either an asset sound or a built in sound - Requests to play sounds where the is not one of the built-in - will require sending a request to download the sound asset before it can be played - - - The following code example uses the , - and - properties to display some information on a sound request on the window. - - // subscribe to the event - Client.Sound.SoundTrigger += Sound_SoundTrigger; - // play the pre-defined BELL_TING sound - Client.Sound.SendSoundTrigger(Sounds.BELL_TING); - // handle the response data - private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) - { - Console.WriteLine("{0} played the sound {1} at volume {2}", - e.OwnerID, e.SoundID, e.Gain); - } - + + - - - Construct a new instance of the SoundTriggerEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The ID of the objects parent - The volume level - The regionhandle - The source position + + - - Simulator where the event originated + + - - Get the sound asset id + + - - Get the ID of the owner + + - - Get the ID of the Object + + - - Get the ID of the objects parent + + - - Get the volume level + + - - Get the regionhandle + + - - Get the source position + + - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - + + - - - Construct a new instance of the PreloadSoundEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object + + - - Simulator where the event originated + + - - Get the sound asset id + + - - Get the ID of the owner + + - - Get the ID of the Object + + - - - pre-defined built in sounds - + + + + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - coins + + - - cash register bell + + - - - + + - - - + + - - rubber + + - - plastic + + - - flesh + + - - wood splintering? + + - - glass break + + - - metal clunk + + - - whoosh + + - - shake + + - - - + + - - ding + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - A dictionary containing all pre-defined sounds - - A dictionary containing the pre-defined sounds, - where the key is the sounds ID, and the value is a string - containing a name to identify the purpose of the sound + + - - X position of this patch + + - - Y position of this patch + + - - A 16x16 array of floats holding decompressed layer data + + - - - Creates a LayerData packet for compressed land data given a full - simulator heightmap and an array of indices of patches to compress - - A 256 * 256 array of floating point values - specifying the height at each meter in the simulator - Array of indexes in the 16x16 grid of patches - for this simulator. For example if 1 and 17 are specified, patches - x=1,y=0 and x=1,y=1 are sent - - + + - - - Add a patch of terrain to a BitPacker - - BitPacker to write the patch to - Heightmap of the simulator, must be a 256 * - 256 float array - X offset of the patch to create, valid values are - from 0 to 15 - Y offset of the patch to create, valid values are - from 0 to 15 + + - - - Default constructor - - - + + - - The event subscribers. null if no subcribers + + - - Thread sync lock object + + - - Raised when the simulator responds sends + + - - Raises the LandPatchReceived event - A LandPatchReceivedEventArgs object containing the - data returned from the simulator + + - - Simulator from that sent tha data + + - - Sim coordinate of the patch + + - - Sim coordinate of the patch + + - - Size of tha patch + + - - Heightmap for the patch + + - - - The current status of a texture request as it moves through the pipeline or final result of a texture request. - + + - - The initial state given to a request. Requests in this state - are waiting for an available slot in the pipeline + + - - A request that has been added to the pipeline and the request packet - has been sent to the simulator + + - - A request that has received one or more packets back from the simulator + + - - A request that has received all packets back from the simulator + + - - A request that has taken longer than - to download OR the initial packet containing the packet information was never received + + - - The texture request was aborted by request of the agent + + - - The simulator replied to the request that it was not able to find the requested texture + + - - - Texture request download handler, allows a configurable number of download slots which manage multiple - concurrent texture downloads from the - This class makes full use of the internal - system for full texture downloads. + + - - - Default constructor, Instantiates a new copy of the TexturePipeline class - - Reference to the instantiated object + + - - - A request task containing information and status of a request as it is processed through the + + - - The current which identifies the current status of the request + + - - The Unique Request ID, This is also the Asset ID of the texture being requested + + - - The slot this request is occupying in the threadpoolSlots array + + + + + - - The ImageType of the request. + + - - The callback to fire when the request is complete, will include - the and the - object containing the result data + + - - If true, indicates the callback will be fired whenever new data is returned from the simulator. - This is used to progressively render textures as portions of the texture are received. + + - - An object that maintains the data of an request thats in-process. + + - - A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID - and also the Asset Texture ID, and the value is an object containing the current state of the request and also - the asset data as it is being re-assembled + + - - Holds the reference to the client object + + - - Maximum concurrent texture requests allowed at a time + + - - An array of objects used to manage worker request threads + + - - An array of worker slots which shows the availablity status of the slot + + - - The primary thread which manages the requests. + + - - true if the TexturePipeline is currently running + + - - A synchronization object used by the primary thread + + - - A refresh timer used to increase the priority of stalled requests + + - - Current number of pending and in-process transfers + + - - - Initialize callbacks required for the TexturePipeline to operate - + + - - - Shutdown the TexturePipeline and cleanup any callbacks or transfers - + + - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request + + - - - Sends the actual request packet to the simulator - - The image to download - Type of the image to download, either a baked - avatar texture or a normal texture - Priority level of the download. Default is - 1,013,000.0f - Number of quality layers to discard. - This controls the end marker of the data sent - Packet number to start the download at. - This controls the start marker of the data sent - Sending a priority of 0 and a discardlevel of -1 aborts - download + + - - - Cancel a pending or in process texture request - - The texture assets unique ID + + - - - Master Download Thread, Queues up downloads in the threadpool - + + - - - The worker thread that sends the request and handles timeouts - - A object containing the request details + + - - - Handle responses from the simulator that tell us a texture we have requested is unable to be located - or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use - - The sender - The EventArgs object containing the packet data + + - - - Handles the remaining Image data that did not fit in the initial ImageData packet - - The sender - The EventArgs object containing the packet data + + - - - Handle the initial ImageDataPacket sent from the simulator - - The sender - The EventArgs object containing the packet data + + - - - + + - - - Delegate to wrap another delegate and its arguments - - - - - + + - - - An instance of DelegateWrapper which calls InvokeWrappedDelegate, - which in turn calls the DynamicInvoke method of the wrapped - delegate - + + - - - Callback used to call EndInvoke on the asynchronously - invoked DelegateWrapper - + + - - - Executes the specified delegate with the specified arguments - asynchronously on a thread pool thread - - - - - + + - - - Invokes the wrapped delegate synchronously - - - - - + + - - - Calls EndInvoke on the wrapper and Close on the resulting WaitHandle - to prevent resource leaks - - - + + - - - + + - - - Initialize the UDP packet handler in server mode - - Port to listening for incoming UDP packets on + + - - - Initialize the UDP packet handler in client mode - - Remote UDP server to connect to + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - + + - - - Thrown when a packet could not be successfully deserialized - + + - - - Default constructor - + + - - - Constructor that takes an additional error message - - An error message to attach to this exception + + - - - The header of a message template packet. Holds packet flags, sequence - number, packet ID, and any ACKs that will be appended at the end of - the packet - + + - - - Convert the AckList to a byte array, used for packet serializing - - Reference to the target byte array - Beginning position to start writing to in the byte - array, will be updated with the ending position of the ACK list + + - - - - - - - - - - - + + - - - - - - - - - + + - - - A block of data in a packet. Packets are composed of one or more blocks, - each block containing one or more fields - + + - - Current length of the data in this packet + + - - - Create a block from a byte array - - Byte array containing the serialized block - Starting position of the block in the byte array. - This will point to the data after the end of the block when the - call returns + + - - - Serialize this block into a byte array - - Byte array to serialize this block into - Starting position in the byte array to serialize to. - This will point to the position directly after the end of the - serialized block when the call returns + + - - A generic value, not an actual packet type + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + Avatar group management + - - + + Key of Group Member - - + + Total land contribution - - + + Online status information - - + + Abilities that the Group Member has - - + + Current group title - - + + Is a group owner - - + + + Role manager for a group + - - + + Key of the group - - + + Key of Role - - + + Name of Role - - + + Group Title associated with Role - - + + Description of Role - - + + Abilities Associated with Role - - + + Returns the role's title + The role's title - - + + + Class to represent Group Title + - - + + Key of the group - - + + ID of the role title belongs to - - + + Group Title - - + + Whether title is Active - - + + Returns group title - - + + + Represents a group on the grid + - - + + Key of Group - - + + Key of Group Insignia - - + + Key of Group Founder - - + + Key of Group Role for Owners - - + + Name of Group - - + + Text of Group Charter - - + + Title of "everyone" role - - + + Is the group open for enrolement to everyone - - + + Will group show up in search - - + + - - + + - - + + - - + + Is the group Mature - - + + Cost of group membership - - + + - - + + - - + + The total number of current members this group has - - + + The number of roles this group has configured - - + + Show this group in agent's profile - - + + Returns the name of the group + A string containing the name of the group - - + + + A group Vote + - - + + Key of Avatar who created Vote - - + + Text of the Vote proposal - - + + Total number of votes - - + + + A group proposal + - - + + The Text of the proposal - - + + The minimum number of members that must vote before proposal passes or failes - - + + The required ration of yes/no votes required for vote to pass + The three options are Simple Majority, 2/3 Majority, and Unanimous + TODO: this should be an enum - - + + The duration in days votes are accepted - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + Struct representing a group notice + - - + + - - + + - - + + - - + + - - + + + + + - - + + + Struct representing a group notice list entry + - - + + Notice ID - - + + Creation timestamp of notice - - + + Agent name who created notice - - + + Notice subject - - + + Is there an attachment? - - + + Attachment Type - - + + + Struct representing a member of a group chat session and their settings + - - + + The of the Avatar - - + + True if user has voice chat enabled - - + + True of Avatar has moderator abilities - - + + True if a moderator has muted this avatars chat - - + + True if a moderator has muted this avatars voice - - + + + Role update flags + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + Can send invitations to groups default role - - + + Can eject members from group - - + + Can toggle 'Open Enrollment' and change 'Signup fee' - - + + Member is visible in the public member list - - + + Can create new roles - - + + Can delete existing roles - - + + Can change Role names, titles and descriptions - - + + Can assign other members to assigners role - - + + Can assign other members to any role - - + + Can remove members from roles - - + + Can assign and remove abilities in roles - - + + Can change group Charter, Insignia, 'Publish on the web' and which + members are publicly visible in group member listings - - + + Can buy land or deed land to group - - + + Can abandon group owned land to Governor Linden on mainland, or Estate owner for + private estates - - + + Can set land for-sale information on group owned parcels - - + + Can subdivide and join parcels - - + + Can join group chat sessions - - + + Can use voice chat in Group Chat sessions - - + + Can moderate group chat sessions - - + + Can toggle "Show in Find Places" and set search category - - + + Can change parcel name, description, and 'Publish on web' settings - - + + Can set the landing point and teleport routing on group land - - + + Can change music and media settings - - + + Can toggle 'Edit Terrain' option in Land settings - - + + Can toggle various About Land > Options settings - - + + Can always terraform land, even if parcel settings have it turned off - - + + Can always fly while over group owned land - - + + Can always rez objects on group owned land - - + + Can always create landmarks for group owned parcels - - + + Can set home location on any group owned parcel - - + + Can modify public access settings for group owned parcels - - + + Can manager parcel ban lists on group owned land - - + + Can manage pass list sales information - - + + Can eject and freeze other avatars on group owned land - - + + Can return objects set to group - - + + Can return non-group owned/set objects - - + + Can return group owned objects - - + + Can landscape using Linden plants - - + + Can deed objects to group - - + + Can move group owned objects - - + + Can set group owned objects for-sale - - + + Pay group liabilities and receive group dividends - - + + Can send group notices - - + + Can receive group notices - - + + Can create group proposals - - + + Can vote on group proposals - - + + + Handles all network traffic related to reading and writing group + information + - - + + The event subscribers. null if no subcribers - - + + Raises the CurrentGroups event + A CurrentGroupsEventArgs object containing the + data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupNamesReply event + A GroupNamesEventArgs object containing the + data response from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupProfile event + An GroupProfileEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupMembers event + A GroupMembersEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupRolesDataReply event + A GroupRolesDataReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupRoleMembersReply event + A GroupRolesRoleMembersReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupTitlesReply event + A GroupTitlesReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupAccountSummary event + A GroupAccountSummaryReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupCreated event + An GroupCreatedEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupJoined event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupLeft event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupDropped event + An GroupDroppedEventArgs object containing the + the group your agent left - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupMemberEjected event + An GroupMemberEjectedEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupNoticesListReply event + An GroupNoticesListReplyEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the GroupInvitation event + An GroupInvitationEventArgs object containing the + data returned from the simulator - - + + Thread sync lock object - - + + A reference to the current instance - - + + Currently-active group members requests - - + + Currently-active group roles requests - - + + Currently-active group role-member requests - - + + Dictionary keeping group members while request is in progress - - + + Dictionary keeping mebmer/role mapping while request is in progress - - + + Dictionary keeping GroupRole information while request is in progress - - + + Caches group name lookups - - + + + Construct a new instance of the GroupManager class + + A reference to the current instance - - + + + Request a current list of groups the avatar is a member of. + + CAPS Event Queue must be running for this to work since the results + come across CAPS. - - + + + Lookup name of group based on groupID + + groupID of group to lookup name for. - - + + + Request lookup of multiple group names + + List of group IDs to request. - - + + Lookup group profile data such as name, enrollment, founder, logo, etc + Subscribe to OnGroupProfile event to receive the results. + group ID (UUID) - - + + Request a list of group members. + Subscribe to OnGroupMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - + + Request group roles + Subscribe to OnGroupRoles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - + + Request members (members,role) role mapping for a group. + Subscribe to OnGroupRolesMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - + + Request a groups Titles + Subscribe to OnGroupTitles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - + + Begin to get the group account summary + Subscribe to the OnGroupAccountSummary event to receive the results. + group ID (UUID) + How long of an interval + Which interval (0 for current, 1 for last) - - + + Invites a user to a group + The group to invite to + A list of roles to invite a person to + Key of person to invite - - + + Set a group as the current active group + group ID (UUID) - - + + Change the role that determines your active title + Group ID to use + Role ID to change to - - + + Set this avatar's tier contribution + Group ID to change tier in + amount of tier to donate - - + + + Save wheather agent wants to accept group notices and list this group in their profile + + Group + Accept notices from this group + List this group in the profile - - + + Request to join a group + Subscribe to OnGroupJoined event for confirmation. + group ID (UUID) to join. - - + + + Request to create a new group. If the group is successfully + created, L$100 will automatically be deducted + + Subscribe to OnGroupCreated event to receive confirmation. + Group struct containing the new group info - - + + Update a group's profile and other information + Groups ID (UUID) to update. + Group struct to update. - - + + Eject a user from a group + Group ID to eject the user from + Avatar's key to eject - - + + Update role information + Modified role to be updated - - + + Create a new group role + Group ID to update + Role to create - - + + Delete a group role + Group ID to update + Role to delete - - + + Remove an avatar from a role + Group ID to update + Role ID to be removed from + Avatar's Key to remove - - + + Assign an avatar to a role + Group ID to update + Role ID to assign to + Avatar's ID to assign to role - - + + Request the group notices list + Group ID to fetch notices for - - + + Request a group notice by key + ID of group notice - - + + Send out a group notice + Group ID to update + GroupNotice structure containing notice data - - + + Start a group proposal (vote) + The Group ID to send proposal to + GroupProposal structure containing the proposal - - + + Request to leave a group + Subscribe to OnGroupLeft event to receive confirmation + The group to leave - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Raised when the simulator sends us data containing + our current group membership - - + + Raised when the simulator responds to a RequestGroupName + or RequestGroupNames request - - + + Raised when the simulator responds to a request - - + + Raised when the simulator responds to a request - - + + Raised when the simulator responds to a request - - + + Raised when the simulator responds to a request - - + + Raised when the simulator responds to a request - - + + Raised when a response to a RequestGroupAccountSummary is returned + by the simulator - - + + Raised when a request to create a group is successful - - + + Raised when a request to join a group either + fails or succeeds - - + + Raised when a request to leave a group either + fails or succeeds - - + + Raised when A group is removed from the group server - - + + Raised when a request to eject a member from a group either + fails or succeeds - - + + Raised when the simulator sends us group notices + - - + + Raised when another agent invites our avatar to join a group - - + + Contains the current groups your agent is a member of - - + + Construct a new instance of the CurrentGroupsEventArgs class + The current groups your agent is a member of - - + + Get the current groups your agent is a member of - - + + A Dictionary of group names, where the Key is the groups ID and the value is the groups name - - + + Construct a new instance of the GroupNamesEventArgs class + The Group names dictionary - - + + Get the Group Names dictionary - - + + Represents the members of a group - - + + + Construct a new instance of the GroupMembersReplyEventArgs class + + The ID of the request + The ID of the group + The membership list of the group - - + + Get the ID as returned by the request to correlate + this result set and the request - - + + Get the ID of the group - - + + Get the dictionary of members - - + + Represents the roles associated with a group - - + + Construct a new instance of the GroupRolesDataReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The dictionary containing the roles - - + + Get the ID as returned by the request to correlate + this result set and the request - - + + Get the ID of the group - - + + Get the dictionary containing the roles - - + + Represents the Role to Member mappings for a group - - + + Construct a new instance of the GroupRolesMembersReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The member to roles map - - + + Get the ID as returned by the request to correlate + this result set and the request - - + + Get the ID of the group - - + + Get the member to roles map - - + + Represents the titles for a group - - + + Construct a new instance of the GroupTitlesReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The titles - - + + Get the ID as returned by the request to correlate + this result set and the request - - + + Get the ID of the group - - + + Get the titles - - + + Represents the summary data for a group - - + + Construct a new instance of the GroupAccountSummaryReplyEventArgs class + The ID of the group + The summary data - - + + Get the ID of the group - - + + Get the summary data - - + + A response to a group create request - - + + Construct a new instance of the GroupCreatedReplyEventArgs class + The ID of the group + the success or faulure of the request + A string containing additional information - - + + Get the ID of the group - - + + true of the group was created successfully - - + + A string containing the message - - + + Represents a response to a request - - + + Construct a new instance of the GroupOperationEventArgs class + The ID of the group + true of the request was successful - - + + Get the ID of the group - - + + true of the request was successful - - + + Represents your agent leaving a group - - + + Construct a new instance of the GroupDroppedEventArgs class + The ID of the group - - + + Get the ID of the group - - + + Represents a list of active group notices - - + + Construct a new instance of the GroupNoticesListReplyEventArgs class + The ID of the group + The list containing active notices - - + + Get the ID of the group - - + + Get the notices list - - + + Represents the profile of a group - - + + Construct a new instance of the GroupProfileEventArgs class + The group profile - - + + Get the group profile - - + + + Provides notification of a group invitation request sent by another Avatar + + The invitation is raised when another avatar makes an offer for our avatar + to join a group. - - + + The ID of the Avatar sending the group invitation - - + + The name of the Avatar sending the group invitation - - + + A message containing the request information which includes + the name of the group, the groups charter and the fee to join details - - + + The Simulator - - + + Set to true to accept invitation, false to decline - - + + + A Wrapper around openjpeg to encode and decode images to and from byte arrays + - - + + TGA Header size - - + + OpenJPEG is not threadsafe, so this object is used to lock + during calls into unmanaged code - - + + + Encode a object into a byte array + + The object to encode + true to enable lossless conversion, only useful for small images ie: sculptmaps + A byte array containing the encoded Image object - - + + + Encode a object into a byte array + + The object to encode + a byte array of the encoded image - - + + + Decode JPEG2000 data to an and + + + JPEG2000 encoded data + ManagedImage object to decode to + Image object to decode to + True if the decode succeeds, otherwise false - - + + + + + + + - - + + + + + + + + - - + + + Encode a object into a byte array + + The source object to encode + true to enable lossless decoding + A byte array containing the source Bitmap object - - + + + Defines the beginning and ending file positions of a layer in an + LRCP-progression JPEG2000 file + - - + + + This structure is used to marshal both encoded and decoded images. + MUST MATCH THE STRUCT IN dotnet.h! + - - + + + Information about a single packet in a JPEG2000 stream + - - + + Packet start position - - + + Packet header end position - - + + Packet end position - - + + + Represents a Landmark with RegionID and Position vector + - - + + UUID of the Landmark target region - - + + Local position of the target - - + + Construct an Asset of type Landmark - - + + + Construct an Asset object of type Landmark + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Encode the raw contents of a string with the specific Landmark format + - - + + + Decode the raw asset data, populating the RegionID and Position + + true if the AssetData was successfully decoded to a UUID and Vector - - + + Override the base classes AssetType - - + + + Represents an that can be worn on an avatar + such as a Shirt, Pants, etc. + - - + + Initializes a new instance of an AssetScriptBinary object - - + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + Override the base classes AssetType - - + + + + - - + + + + - - + + + + - - + + + + - - + + + + + + - - + + + The ObservableDictionary class is used for storing key/value pairs. It has methods for firing + events to subscribers when items are added, removed, or changed. + + Key + Value - - + + + A dictionary of callbacks to fire when specified action occurs + - - + + + Register a callback to be fired when an action occurs + + The action + The callback to fire - - + + + Unregister a callback + + The action + The callback to fire - - + + + + + + - - + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking - - + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); + + - - + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); + + - - + + + Try to get entry from the with specified key + + Key to use for lookup + Value returned + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + - - + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + - - + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + - - + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + - - + + Check if Key exists in Dictionary + Key to check for + if found, otherwise - - + + Check if Value exists in Dictionary + Value to check for + if found, otherwise - - + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + + The key + The value - - + + + Removes the specified key, dictionary locking is not performed + + The key. + if successful, otherwise - - + + + Clear the contents of the dictionary + - - + + + Enumerator for iterating dictionary entries + + - - + + + Gets the number of Key/Value pairs contained in the + - - + + + Indexer for the dictionary + + The key + The value - - + + Describes tasks returned in LandStatReply - - + + + Estate level administration and utilities + - - + + Textures for each of the four terrain height levels - - + + Upper/lower texture boundaries for each corner of the sim - - + + + Constructor for EstateTools class + + - - + + The event subscribers. null if no subcribers - - + + Raises the TopCollidersReply event + A TopCollidersReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the TopScriptsReply event + A TopScriptsReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the EstateUsersReply event + A EstateUsersReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the EstateGroupsReply event + A EstateGroupsReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the EstateManagersReply event + A EstateManagersReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the EstateBansReply event + A EstateBansReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the EstateCovenantReply event + A EstateCovenantReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Raises the EstateUpdateInfoReply event + A EstateUpdateInfoReplyEventArgs object containing the + data returned from the data server - - + + Thread sync lock object - - + + + Requests estate information such as top scripts and colliders + + + + + - - + + Requests estate settings, including estate manager and access/ban lists - - + + Requests the "Top Scripts" list for the current region - - + + Requests the "Top Colliders" list for the current region - - + + + Set several estate specific configuration variables + + The Height of the waterlevel over the entire estate. Defaults to 20 + The maximum height change allowed above the baked terrain. Defaults to 4 + The minimum height change allowed below the baked terrain. Defaults to -4 + true to use + if True forces the sun position to the position in SunPosition + The current position of the sun on the estate, or when FixedSun is true the static position + the sun will remain. 6.0 = Sunrise, 30.0 = Sunset - - + + + Request return of objects owned by specified avatar + + The Agents owning the primitives to return + specify the coverage and type of objects to be included in the return + true to perform return on entire estate - - + + + + - - + + + Used for setting and retrieving various estate panel settings + + EstateOwnerMessage Method field + List of parameters to include - - + + + Kick an avatar from an estate + + Key of Agent to remove - - + + + Ban an avatar from an estate + Key of Agent to remove + Ban user from this estate and all others owned by the estate owner - - + + Unban an avatar from an estate + Key of Agent to remove + /// Unban user from this estate and all others owned by the estate owner - - + + + Send a message dialog to everyone in an entire estate + + Message to send all users in the estate - - + + + Send a message dialog to everyone in a simulator + + Message to send all users in the simulator - - + + + Send an avatar back to their home location + + Key of avatar to send home - - + + + Begin the region restart process + - - + + + Cancels a region restart + - - + + Estate panel "Region" tab settings - - + + Estate panel "Debug" tab settings - - + + Used for setting the region's terrain textures for its four height levels + + + + - - + + Used for setting sim terrain texture heights - - + + Requests the estate covenant - - + + + Upload a terrain RAW file + + A byte array containing the encoded terrain data + The name of the file being uploaded + The Id of the transfer request - - + + + Teleports all users home in current Estate + - - + + + Remove estate manager + Key of Agent to Remove + removes manager to this estate and all others owned by the estate owner - - + + + Add estate manager + Key of Agent to Add + Add agent as manager to this estate and all others owned by the estate owner - - + + + Add's an agent to the estate Allowed list + Key of Agent to Add + Add agent as an allowed reisdent to All estates if true - - + + + Removes an agent from the estate Allowed list + Key of Agent to Remove + Removes agent as an allowed reisdent from All estates if true - - + + + + Add's a group to the estate Allowed list + Key of Group to Add + Add Group as an allowed group to All estates if true - - + + + + Removes a group from the estate Allowed list + Key of Group to Remove + Removes Group as an allowed Group from All estates if true - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Used in the ReportType field of a LandStatRequest - - + + Used by EstateOwnerMessage packets - - + + Used by EstateOwnerMessage packets - - + + + + - - + + No flags set - - + + Only return targets scripted objects - - + + Only return targets objects if on others land - - + + Returns target's scripted objects and objects on other parcels - - + + Ground texture settings for each corner of the region - - + + Used by GroundTextureHeightSettings - - + + The high and low texture thresholds for each corner of the sim - - + + Raised on LandStatReply when the report type is for "top colliders" - - + + Construct a new instance of the TopCollidersReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply - - + + + The number of returned items in LandStatReply + - - + + + A Dictionary of Object UUIDs to tasks returned in LandStatReply + - - + + Raised on LandStatReply when the report type is for "top Scripts" - - + + Construct a new instance of the TopScriptsReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply - - + + + The number of scripts returned in LandStatReply + - - + + + A Dictionary of Object UUIDs to tasks returned in LandStatReply + - - + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateBansReplyEventArgs class + The estate's identifier on the grid + The number of returned items in LandStatReply + User UUIDs banned - - + + + The identifier of the estate + - - + + + The number of returned itmes + - - + + + List of UUIDs of Banned Users + - - + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateUsersReplyEventArgs class + The estate's identifier on the grid + The number of users + Allowed users UUIDs - - + + + The identifier of the estate + - - + + + The number of returned items + - - + + + List of UUIDs of Allowed Users + - - + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateGroupsReplyEventArgs class + The estate's identifier on the grid + The number of Groups + Allowed Groups UUIDs - - + + + The identifier of the estate + - - + + + The number of returned items + - - + + + List of UUIDs of Allowed Groups + - - + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateManagersReplyEventArgs class + The estate's identifier on the grid + The number of Managers + Managers UUIDs - - + + + The identifier of the estate + - - + + + The number of returned items + - - + + + List of UUIDs of the Estate's Managers + - - + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateCovenantReplyEventArgs class + The Covenant ID + The timestamp + The estate's name + The Estate Owner's ID (can be a GroupID) - - + + + The Covenant + - - + + + The timestamp + - - + + + The Estate name + - - + + + The Estate Owner's ID (can be a GroupID) + - - + + Returned, along with other info, upon a successful .RequestInfo() - - + + Construct a new instance of the EstateUpdateInfoReplyEventArgs class + The estate's name + The Estate Owners ID (can be a GroupID) + The estate's identifier on the grid + - - + + + The estate's name + - - + + + The Estate Owner's ID (can be a GroupID) + - - + + + The identifier of the estate on the grid + - - + + - - + + + Wrapper around a byte array that allows bit to be packed and unpacked + one at a time or by a variable amount. Useful for very tightly packed + data like LayerData packets + - - + + - - + + + Default constructor, initialize the bit packer / bit unpacker + with a byte array and starting position + + Byte array to pack bits in to or unpack from + Starting position in the byte array - - + + + Pack a floating point value in to the data + + Floating point value to pack - - + + + Pack part or all of an integer in to the data + + Integer containing the data to pack + Number of bits of the integer to pack - - + + + Pack part or all of an unsigned integer in to the data + + Unsigned integer containing the data to pack + Number of bits of the integer to pack - - + + + Pack a single bit in to the data + + Bit to pack - - + + + + + + + + - - + + + + + - - + + + + + - - + + + Unpacking a floating point value from the data + + Unpacked floating point value - - + + + Unpack a variable number of bits from the data in to integer format + + Number of bits to unpack + An integer containing the unpacked bits + This function is only useful up to 32 bits - - + + + Unpack a variable number of bits from the data in to unsigned + integer format + + Number of bits to unpack + An unsigned integer containing the unpacked bits + This function is only useful up to 32 bits - - + + + Unpack a 16-bit signed integer + + 16-bit signed integer - - + + + Unpack a 16-bit unsigned integer + + 16-bit unsigned integer - - + + + Unpack a 32-bit signed integer + + 32-bit signed integer - - + + + Unpack a 32-bit unsigned integer + + 32-bit unsigned integer - - + + - - + + - - + + + Checks the instance back into the object pool + - - + + + Returns an instance of the class that has been checked out of the Object Pool. + - - + + + Creates a new instance of the ObjectPoolBase class. Initialize MUST be called + after using this constructor. + - - + + + Creates a new instance of the ObjectPool Base class. + + The object pool is composed of segments, which + are allocated whenever the size of the pool is exceeded. The number of items + in a segment should be large enough that allocating a new segmeng is a rare + thing. For example, on a server that will have 10k people logged in at once, + the receive buffer object pool should have segment sizes of at least 1000 + byte arrays per segment. + + The minimun number of segments that may exist. + Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. + The frequency which segments are checked to see if they're eligible for cleanup. - - + + + Forces the segment cleanup algorithm to be run. This method is intended + primarly for use from the Unit Test libraries. + - - + + + Responsible for allocate 1 instance of an object that will be stored in a segment. + + An instance of whatever objec the pool is pooling. - - + + + Checks in an instance of T owned by the object pool. This method is only intended to be called + by the WrappedObject class. + + The segment from which the instance is checked out. + The instance of T to check back into the segment. - - + + + Checks an instance of T from the pool. If the pool is not sufficient to + allow the checkout, a new segment is created. + + A WrappedObject around the instance of T. To check + the instance back into the segment, be sureto dispose the WrappedObject + when finished. - - + + + The total number of segments created. Intended to be used by the Unit Tests. + - - + + + The number of items that are in a segment. Items in a segment + are all allocated at the same time, and are hopefully close to + each other in the managed heap. + - - + + + The minimum number of segments. When segments are reclaimed, + this number of segments will always be left alone. These + segments are allocated at startup. + - - + + + The age a segment must be before it's eligible for cleanup. + This is used to prevent thrash, and typical values are in + the 5 minute range. + - - + + + The frequence which the cleanup thread runs. This is typically + expected to be in the 5 minute range. + - - + + = - - + + Number of times we've received an unknown CAPS exception in series. - - + + For exponential backoff on error. - - + + + Represents a texture + - - + + A object containing image data - - + + - - + + - - + + Initializes a new instance of an AssetTexture object - - + + + Initializes a new instance of an AssetTexture object + + A unique specific to this asset + A byte array containing the raw asset data - - + + + Initializes a new instance of an AssetTexture object + + A object containing texture data - - + + + Populates the byte array with a JPEG2000 + encoded image created from the data in + - - + + + Decodes the JPEG2000 data in AssetData to the + object + + True if the decoding was successful, otherwise false - - + + + Decodes the begin and end byte positions for each quality layer in + the image + + - - + + Override the base classes AssetType - - + + + A Name Value pair with additional settings, used in the protocol + primarily to transmit avatar names and active group in object packets + - - + + - - + + - - + + - - + + - - + + - - + + + Constructor that takes all the fields as parameters + + + + + + - - + + + Constructor that takes a single line from a NameValue field + + - - + + Type of the value - - + + Unknown - - + + String value - - + + - - + + - - + + - - + + - - + + Deprecated - - + + String value, but designated as an asset - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + + Represents a single Voice Session to the Vivox service. + - - + + + Close this session. + - - + + + Look up an existing Participants in this session + + + - - + + + Represents an Animation + - - + + Default Constructor - - + + + Construct an Asset object of type Animation + + A unique specific to this asset + A byte array containing the raw asset data - - + + Override the base classes AssetType - - + + + Constants for the archiving module + - - + + + The location of the archive control file + - - + + + Path for the assets held in an archive + - - + + + Path for the prims file + - - + + + Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. + - - + + + Path for region settings. + - - + + + The character the separates the uuid from extension information in an archived asset filename + - - + + + Extensions used for asset types in the archive + - - + + + Represents an AssetScriptBinary object containing the + LSO compiled bytecode of an LSL script + - - + + Initializes a new instance of an AssetScriptBinary object - - + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + + TODO: Encodes a scripts contents into a LSO Bytecode file + - - + + + TODO: Decode LSO Bytecode into a string + + true - - + + Override the base classes AssetType - - + + + + - - + + No report - - + + Unknown report type - - + + Bug report - - + + Complaint report - - + + Customer service report - - + + + Bitflag field for ObjectUpdateCompressed data blocks, describing + which options are present for each object + - - + + Unknown - - + + Whether the object has a TreeSpecies - - + + Whether the object has floating text ala llSetText - - + + Whether the object has an active particle system - - + + Whether the object has sound attached to it - - + + Whether the object is attached to a root object or not - - + + Whether the object has texture animation settings - - + + Whether the object has an angular velocity - - + + Whether the object has a name value pairs string - - + + Whether the object has a Media URL set - - + + + Specific Flags for MultipleObjectUpdate requests + - - + + None - - + + Change position of prims - - + + Change rotation of prims - - + + Change size of prims - - + + Perform operation on link set - - + + Scale prims uniformly, same as selecing ctrl+shift in the + viewer. Used in conjunction with Scale - - + + + Special values in PayPriceReply. If the price is not one of these + literal value of the price should be use + - - + + + Indicates that this pay option should be hidden + - - + + + Indicates that this pay option should have the default value + - - + + + Contains the variables sent in an object update packet for objects. + Used to track position and movement of prims and avatars + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + Handles all network traffic related to prims and avatar positions and + movement. + - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ObjectProperties Event + A ObjectPropertiesEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ObjectPropertiesUpdated Event + A ObjectPropertiesUpdatedEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ObjectPropertiesFamily Event + A ObjectPropertiesFamilyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the AvatarUpdate Event + A AvatarUpdateEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the ObjectDataBlockUpdate Event + A ObjectDataBlockUpdateEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the KillObject Event + A KillObjectEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the AvatarSitChanged Event + A AvatarSitChangedEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Raises the PayPriceReply Event + A PayPriceReplyEventArgs object containing + the data sent from the simulator - - + + Thread sync lock object - - + + Reference to the GridClient object - - + + Does periodic dead reckoning calculation to convert + velocity and acceleration to new positions for objects - - + + + Construct a new instance of the ObjectManager class + + A reference to the instance - - + + + Request information for a single object from a + you are currently connected to + + The the object is located + The Local ID of the object - - + + + Request information for multiple objects contained in + the same simulator + + The the objects are located + An array containing the Local IDs of the objects - - + + + Attempt to purchase an original object, a copy, or the contents of + an object + + The the object is located + The Local ID of the object + Whether the original, a copy, or the object + contents are on sale. This is used for verification, if the this + sale type is not valid for the object the purchase will fail + Price of the object. This is used for + verification, if it does not match the actual price the purchase + will fail + Group ID that will be associated with the new + purchase + Inventory folder UUID where the object or objects + purchased should be placed + + + BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, + 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); + + - - + + + Request prices that should be displayed in pay dialog. This will triggger the simulator + to send us back a PayPriceReply which can be handled by OnPayPriceReply event + + The the object is located + The ID of the object + The result is raised in the event - - + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + - - + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + if true, a call to is + made immediately following the request + - - + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + Should objects be deselected immediately after selection + - - + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + - - + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on - - + + + Sets the sale properties of a single object + + The the object is located + The Local ID of the object + One of the options from the enum + The price of the object - - + + + Sets the sale properties of multiple objects + + The the objects are located + An array containing the Local IDs of the objects + One of the options from the enum + The price of the object - - + + + Deselect a single object + + The the object is located + The Local ID of the object - - + + + Deselect multiple objects. + + The the objects are located + An array containing the Local IDs of the objects - - + + + Perform a click action on an object + + The the object is located + The Local ID of the object - - + + + Perform a click action (Grab) on a single object + + The the object is located + The Local ID of the object + The texture coordinates to touch + The surface coordinates to touch + The face of the position to touch + The region coordinates of the position to touch + The surface normal of the position to touch (A normal is a vector perpindicular to the surface) + The surface binormal of the position to touch (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - - + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - - + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Specify the + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - - + + + Rez a Linden tree + + A reference to the object where the object resides + The size of the tree + The rotation of the tree + The position of the tree + The Type of tree + The of the group to set the tree to, + or UUID.Zero if no group is to be set + true to use the "new" Linden trees, false to use the old - - + + + Rez grass and ground cover + + A reference to the object where the object resides + The size of the grass + The rotation of the grass + The position of the grass + The type of grass from the enum + The of the group to set the tree to, + or UUID.Zero if no group is to be set - - + + + Set the textures to apply to the faces of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply - - + + + Set the textures to apply to the faces of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + A media URL (not used) - - + + + Set the Light data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - - + + + Set the flexible data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - - + + + Set the sculptie texture and data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - - + + + Unset additional primitive parameters on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The extra parameters to set - - + + + Link multiple prims into a linkset + + A reference to the object where the objects reside + An array which contains the IDs of the objects to link + The last object in the array will be the root object of the linkset TODO: Is this true? - - + + + Delink/Unlink multiple prims from a linkset + + A reference to the object where the objects reside + An array which contains the IDs of the objects to delink - - + + + Change the rotation of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation of the object - - + + + Set the name of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new name of the object - - + + + Set the name of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the name of + An array which contains the new names of the objects - - + + + Set the description of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new description of the object - - + + + Set the descriptions of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the description of + An array which contains the new descriptions of the objects - - + + + Attach an object to this avatar + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The point on the avatar the object will be attached + The rotation of the attached object - - + + + Drop an attached object from this avatar + + A reference to the + object where the objects reside. This will always be the simulator the avatar is currently in + + The object's ID which is local to the simulator the object is in - - + + + Detach an object from yourself + + A reference to the + object where the objects reside + + This will always be the simulator the avatar is currently in + + An array which contains the IDs of the objects to detach - - + + + Change the position of an object, Will change position of entire linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object - - + + + Change the position of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + if true, will change position of (this) child prim only, not entire linkset - - + + + Change the Scale (size) of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change scale of this prim only, not entire linkset + True to resize prims uniformly - - + + + Change the Rotation of an object that is either a child or a whole linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change rotation of this prim only, not entire linkset - - + + + Send a Multiple Object Update packet to change the size, scale or rotation of a primitive + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation, size, or position of the target object + The flags from the Enum - - + + + Deed an object (prim) to a group, Object must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The of the group to deed the object to - - + + + Deed multiple objects (prims) to a group, Objects must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + An array which contains the IDs of the objects to deed + The of the group to deed the object to - - + + + Set the permissions on multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the permissions on + The new Who mask to set + The new Permissions mark to set + TODO: What does this do? - - + + + Request additional properties for an object + + A reference to the object where the object resides + - - + + + Request additional properties for an object + + A reference to the object where the object resides + Absolute UUID of the object + Whether to require server acknowledgement of this request - - + + + Set the ownership of a list of objects to the specified group + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the group id on + The Groups ID - - + + + Update current URL of the previously set prim media + + UUID of the prim + Set current URL to this + Prim face number + Simulator in which prim is located - - + + + Set object media + + UUID of the prim + Array the length of prims number of faces. Null on face indexes where there is + no media, on faces which contain the media + Simulatior in which prim is located - - + + + Retrieve information about object media + + UUID of the primitive + Simulator where prim is located + Call this callback when done - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + + A terse object update, used when a transformation matrix or + velocity/acceleration for an object changes but nothing else + (scale/position/rotation/acceleration/velocity) + + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + + Setup construction data for a basic primitive shape + + Primitive shape to construct + Construction data that can be plugged into a - - + + + + + + + + - - + + + + + + - - + + + Set the Shape data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + Data describing the prim shape - - + + + Set the Material data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new material of the object - - + + + + + + + + - - + + + + + + + + - - + + Raised when the simulator sends us data containing + A , Foliage or Attachment + + - - + + Raised when the simulator sends us data containing + additional information + + - - + + Raised when the simulator sends us data containing + Primitive.ObjectProperties for an object we are currently tracking - - + + Raised when the simulator sends us data containing + additional and details + - - + + Raised when the simulator sends us data containing + updated information for an - - + + Raised when the simulator sends us data containing + and movement changes - - + + Raised when the simulator sends us data containing + updates to an Objects DataBlock - - + + Raised when the simulator informs us an + or is no longer within view - - + + Raised when the simulator sends us data containing + updated sit information for our - - + + Raised when the simulator sends us data containing + purchase price information for a - - + + + Callback for getting object media data via CAP + + Indicates if the operation was succesfull + Object media version string + Array indexed on prim face of media entry data - - + + Provides data for the event + The event occurs when the simulator sends + an containing a Primitive, Foliage or Attachment data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or + if an Avatar crosses the border into a new simulator and returns to the current simulator + + + The following code example uses the , , and + properties to display new Primitives and Attachments on the window. + + // Subscribe to the event that gives us prim and foliage information + Client.Objects.ObjectUpdate += Objects_ObjectUpdate; + + + private void Objects_ObjectUpdate(object sender, PrimEventArgs e) + { + Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); + } + + + + + - - + + + Construct a new instance of the PrimEventArgs class + + The simulator the object originated from + The Primitive + The simulator time dilation + The prim was not in the dictionary before this update + true if the primitive represents an attachment to an agent - - + + Get the simulator the originated from - - + + Get the details - - + + true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - + + true if the is attached to an - - + + Get the simulator Time Dilation - - + + Provides data for the event + The event occurs when the simulator sends + an containing Avatar data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator + + + The following code example uses the property to make a request for the top picks + using the method in the class to display the names + of our own agents picks listings on the window. + + // subscribe to the AvatarUpdate event to get our information + Client.Objects.AvatarUpdate += Objects_AvatarUpdate; + Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; + + private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) + { + // we only want our own data + if (e.Avatar.LocalID == Client.Self.LocalID) + { + // Unsubscribe from the avatar update event to prevent a loop + // where we continually request the picks every time we get an update for ourselves + Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; + // make the top picks request through AvatarManager + Client.Avatars.RequestAvatarPicks(e.Avatar.ID); + } + } + + private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) + { + // we'll unsubscribe from the AvatarPicksReply event since we now have the data + // we were looking for + Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; + // loop through the dictionary and extract the names of the top picks from our profile + foreach (var pickName in e.Picks.Values) + { + Console.WriteLine(pickName); + } + } + + + + - - + + + Construct a new instance of the AvatarUpdateEventArgs class + + The simulator the packet originated from + The data + The simulator time dilation + The avatar was not in the dictionary before this update - - + + Get the simulator the object originated from - - + + Get the data - - + + Get the simulator time dilation - - + + true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) - - + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment data + The event is also raised when a request is + made. + + + The following code example uses the , and + + properties to display new attachments and send a request for additional properties containing the name of the + attachment then display it on the window. + + // Subscribe to the event that provides additional primitive details + Client.Objects.ObjectProperties += Objects_ObjectProperties; + + // handle the properties data that arrives + private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); + } + + - - + + + Construct a new instance of the ObjectPropertiesEventArgs class + + The simulator the object is located + The primitive Properties - - + + Get the simulator the object is located - - + + Get the primitive properties - - + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive or Foliage data that is currently + being tracked in the dictionary + The event is also raised when a request is + made and is enabled + - - + + + Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class + + The simulator the object is located + The Primitive + The primitive Properties - - + + Get the simulator the object is located - - + + Get the primitive details - - + + Get the primitive properties - - + + Provides additional primitive data, permissions and sale info for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment. This includes + Permissions, Sale info, and other basic details on an object + The event is also raised when a request is + made, the viewer equivalent is hovering the mouse cursor over an object + - - + + Get the simulator the object is located - - + + - - + + - - + + Provides primitive data containing updated location, velocity, rotation, textures for the event + The event occurs when the simulator sends updated location, velocity, rotation, etc + - - + + Get the simulator the object is located - - + + Get the primitive details - - + + - - + + - - + + + + - - + + Get the simulator the object is located - - + + Get the primitive details - - + + - - + + - - + + - - + + - - + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event - - + + Get the simulator the object is located - - + + The LocalID of the object - - + + + Provides updates sit position data + - - + + Get the simulator the object is located - - + + - - + + - - + + - - + + + + - - + + Get the simulator the object is located - - + + - - + + - - + + - - + + + Indicates if the operation was successful + - - + + + Media version string + - - + + + Array of media entries indexed by face number + - - + + + + - - + + + + + - - + + + De-serialization constructor for the InventoryNode Class + - - + + + Serialization handler for the InventoryNode Class + - - + + + De-serialization handler for the InventoryNode Class + - - + + + + + - - + + - - + + - - + + - - + + - - + + + For inventory folder nodes specifies weather the folder needs to be + refreshed from the server + - - + + + Main class to expose grid functionality to clients. All of the + classes needed for sending and receiving data are accessible through + this class. + + + + // Example minimum code required to instantiate class and + // connect to a simulator. + using System; + using System.Collections.Generic; + using System.Text; + using OpenMetaverse; + + namespace FirstBot + { + class Bot + { + public static GridClient Client; + static void Main(string[] args) + { + Client = new GridClient(); // instantiates the GridClient class + // to the global Client object + // Login to Simulator + Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); + // Wait for a Keypress + Console.ReadLine(); + // Logout of simulator + Client.Network.Logout(); + } + } + } + + - - + + Networking subsystem - - + + Settings class including constant values and changeable + parameters for everything - - + + Parcel (subdivided simulator lots) subsystem - - + + Our own avatars subsystem - - + + Other avatars subsystem - - + + Estate subsystem - - + + Friends list subsystem - - + + Grid (aka simulator group) subsystem - - + + Object subsystem - - + + Group subsystem - - + + Asset subsystem - - + + Appearance subsystem - - + + Inventory subsystem - - + + Directory searches including classifieds, people, land + sales, etc - - + + Handles land, wind, and cloud heightmaps - - + + Handles sound-related networking - - + + Throttling total bandwidth usage, or allocating bandwidth + for specific data stream types - - + + + Default constructor + - - + + + Return the full name of this instance + + Client avatars full name - - + + + Class that handles the local asset cache + - - + + + Default constructor + + A reference to the GridClient object - - + + + Disposes cleanup timer + - - + + + Only create timer when needed + - - + + + Return bytes read from the local asset cache, null if it does not exist + + UUID of the asset we want to get + Raw bytes of the asset, or null on failure - - + + + Returns ImageDownload object of the + image from the local image cache, null if it does not exist + + UUID of the image we want to get + ImageDownload object containing the image, or null on failure - - + + + Constructs a file name of the cached asset + + UUID of the asset + String with the file name of the cahced asset - - + + + Saves an asset to the local cache + + UUID of the asset + Raw bytes the asset consists of + Weather the operation was successfull - - + + + Get the file name of the asset stored with gived UUID + + UUID of the asset + Null if we don't have that UUID cached on disk, file name if found in the cache folder - - + + + Checks if the asset exists in the local cache + + UUID of the asset + True is the asset is stored in the cache, otherwise false - - + + + Wipes out entire cache + - - + + + Brings cache size to the 90% of the max size + - - + + + Asynchronously brings cache size to the 90% of the max size + - - + + + Adds up file sizes passes in a FileInfo array + - - + + + Checks whether caching is enabled + - - + + + Periodically prune the cache + - - + + + Nicely formats file sizes + + Byte size we want to output + String with humanly readable file size - - + + + Allows setting weather to periodicale prune the cache if it grows too big + Default is enabled, when caching is enabled + - - + + + How long (in ms) between cache checks (default is 5 min.) + - - + + + Helper class for sorting files by their last accessed time + - - + + + Permissions for control of object media + - - + + + Style of cotrols that shold be displayed to the user + - - + + + Class representing media data for a single face + - - + + Is display of the alternative image enabled - - + + Should media auto loop - - + + Shoule media be auto played - - + + Auto scale media to prim face - - + + Should viewer automatically zoom in on the face when clicked - - + + Should viewer interpret first click as interaction with the media + or when false should the first click be treated as zoom in commadn - - + + Style of controls viewer should display when + viewer media on this face - - + + Starting URL for the media - - + + Currently navigated URL - - + + Media height in pixes - - + + Media width in pixels - - + + Who can controls the media - - + + Who can interact with the media - - + + Is URL whitelist enabled - - + + Array of URLs that are whitelisted - - + + + Serialize to OSD + + OSDMap with the serialized data - - + + + Deserialize from OSD data + + Serialized OSD data + Deserialized object - - + + + Class for controlling various system settings. + + Some values are readonly because they affect things that + happen when the GridClient object is initialized, so changing them at + runtime won't do any good. Non-readonly values may affect things that + happen at login or dynamically - - + + Main grid login server - - + + Beta grid login server - - + + + InventoryManager requests inventory information on login, + GridClient initializes an Inventory store for main inventory. + - - + + + InventoryManager requests library information on login, + GridClient initializes an Inventory store for the library. + - - + + Number of milliseconds between sending pings to each sim - - + + Number of milliseconds between sending camera updates - - + + Number of milliseconds between updating the current + positions of moving, non-accelerating and non-colliding objects - - + + Millisecond interval between ticks, where all ACKs are + sent out and the age of unACKed packets is checked - - + + The initial size of the packet inbox, where packets are + stored before processing - - + + Maximum size of packet that we want to send over the wire - - + + The maximum value of a packet sequence number before it + rolls over back to one - - + + The maximum size of the sequence number archive, used to + check for resent and/or duplicate packets - - + + The relative directory where external resources are kept - - + + Login server to connect to - - + + IP Address the client will bind to - - + + Use XML-RPC Login or LLSD Login, default is XML-RPC Login - - + + Number of milliseconds before an asset transfer will time + out - - + + Number of milliseconds before a teleport attempt will time + out - - + + Number of milliseconds before NetworkManager.Logout() will + time out - - + + Number of milliseconds before a CAPS call will time out + Setting this too low will cause web requests time out and + possibly retry repeatedly - - + + Number of milliseconds for xml-rpc to timeout - - + + Milliseconds before a packet is assumed lost and resent - - + + Milliseconds without receiving a packet before the + connection to a simulator is assumed lost - - + + Milliseconds to wait for a simulator info request through + the grid interface - - + + Maximum number of queued ACKs to be sent before SendAcks() + is forced - - + + Network stats queue length (seconds) - - + + Enable/disable storing terrain heightmaps in the + TerrainManager - - + + Enable/disable sending periodic camera updates - - + + Enable/disable automatically setting agent appearance at + login and after sim crossing - - + + Enable/disable automatically setting the bandwidth throttle + after connecting to each simulator + The default throttle uses the equivalent of the maximum + bandwidth setting in the official client. If you do not set a + throttle your connection will by default be throttled well below + the minimum values and you may experience connection problems - - + + Enable/disable the sending of pings to monitor lag and + packet loss - - + + Should we connect to multiple sims? This will allow + viewing in to neighboring simulators and sim crossings + (Experimental) - - + + If true, all object update packets will be decoded in to + native objects. If false, only updates for our own agent will be + decoded. Registering an event handler will force objects for that + type to always be decoded. If this is disabled the object tracking + will have missing or partial prim and avatar information - - + + If true, when a cached object check is received from the + server the full object info will automatically be requested - - + + Whether to establish connections to HTTP capabilities + servers for simulators - - + + Whether to decode sim stats - - + + The capabilities servers are currently designed to + periodically return a 502 error which signals for the client to + re-establish a connection. Set this to true to log those 502 errors - - + + If true, any reference received for a folder or item + the library is not aware of will automatically be fetched - - + + If true, and SEND_AGENT_UPDATES is true, + AgentUpdate packets will continuously be sent out to give the bot + smoother movement and autopiloting - - + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectAvatars. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectPrimitives. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - + + If true, position and velocity will periodically be + interpolated (extrapolated, technically) for objects and + avatars that are being tracked by the library. This is + necessary to increase the accuracy of speed and position + estimates for simulated objects - - + + + If true, utilization statistics will be tracked. There is a minor penalty + in CPU time for enabling this option. + - - + + If true, parcel details will be stored in the + Simulator.Parcels dictionary as they are received - - + + + If true, an incoming parcel properties reply will automatically send + a request for the parcel access list + - - + + + if true, an incoming parcel properties reply will automatically send + a request for the traffic count. + - - + + + If true, images, and other assets downloaded from the server + will be cached in a local directory + - - + + Path to store cached texture data - - + + Maximum size cached files are allowed to take on disk (bytes) - - + + Default color used for viewer particle effects - - + + Maximum number of times to resend a failed packet - - + + Throttle outgoing packet rate - - + + UUID of a texture used by some viewers to indentify type of client used - - + + + Download textures using GetTexture capability when available + - - + + The maximum number of concurrent texture downloads allowed + Increasing this number will not necessarily increase texture retrieval times due to + simulator throttles - - + + + The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + + This is a static variable which applies to all instances - - + + + Textures taking longer than this value will be flagged as timed out and removed from the pipeline + - - + + + Get or set the minimum log level to output to the console by default + + If the library is not compiled with DEBUG defined and this level is set to DEBUG + You will get no output on the console. This behavior can be overriden by creating + a logger configuration file for log4net + - - + + Attach avatar names to log messages - - + + Log packet retransmission info - - + + Constructor + Reference to a GridClient object - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Cost of uploading an asset + Read-only since this value is dynamically fetched at login - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + Login Request Parameters + - - + + The URL of the Login Server - - + + The number of milliseconds to wait before a login is considered + failed due to timeout - - + + The request method + login_to_simulator is currently the only supported method - - + + The Agents First name - - + + The Agents Last name - - + + A md5 hashed password + plaintext password will be automatically hashed - - + + The agents starting location once logged in + Either "last", "home", or a string encoded URI + containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 - - + + A string containing the client software channel information + Second Life Release - - + + The client software version information + The official viewer uses: Second Life Release n.n.n.n + where n is replaced with the current version of the viewer - - + + A string containing the platform information the agent is running on - - + + A string hash of the network cards Mac Address - - + + Unknown or deprecated - - + + A string hash of the first disk drives ID used to identify this clients uniqueness - - + + A string containing the viewers Software, this is not directly sent to the login server but + instead is used to generate the Version string - - + + A string representing the software creator. This is not directly sent to the login server but + is used by the library to generate the Version information - - + + If true, this agent agrees to the Terms of Service of the grid its connecting to - - + + Unknown - - + + An array of string sent to the login server to enable various options - - + + A randomly generated ID to distinguish between login attempts. This value is only used + internally in the library and is never sent over the wire - - + + + Default constuctor, initializes sane default values + - - + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number - - + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number + URI of the login server - - + + + The decoded data returned from the login server after a successful login + - - + + true, false, indeterminate - - + + Login message of the day - - + + M or PG, also agent_region_access and agent_access_max - - + + + Parse LLSD Login Reply Data + + An + contaning the login response data + XML-RPC logins do not require this as XML-RPC.NET + automatically populates the struct properly using attributes - - + + + Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. + - - + + + Rotation Keyframe count (used internally) + - - + + + Position Keyframe count (used internally) + - - + + + Animation Priority + - - + + + The animation length in seconds. + - - + + + Expression set in the client. Null if [None] is selected + - - + + + The time in seconds to start the animation + - - + + + The time in seconds to end the animation + - - + + + Loop the animation + - - + + + Meta data. Ease in Seconds. + - - + + + Meta data. Ease out seconds. + - - + + + Meta Data for the Hand Pose + - - + + + Number of joints defined in the animation + - - + + + Contains an array of joints + - - + + + Searialize an animation asset into it's joints/keyframes/meta data + + - - + + + Variable length strings seem to be null terminated in the animation asset.. but.. + use with caution, home grown. + advances the index. + + The animation asset byte array + The offset to start reading + a string - - + + + Read in a Joint from an animation asset byte array + Variable length Joint fields, yay! + Advances the index + + animation asset byte array + Byte Offset of the start of the joint + The Joint data serialized into the binBVHJoint structure - - + + + Read Keyframes of a certain type + advance i + + Animation Byte array + Offset in the Byte Array. Will be advanced + Number of Keyframes + Scaling Min to pass to the Uint16ToFloat method + Scaling Max to pass to the Uint16ToFloat method + - - + + + A Joint and it's associated meta data and keyframes + - - + + + Name of the Joint. Matches the avatar_skeleton.xml in client distros + - - + + + Joint Animation Override? Was the same as the Priority in testing.. + - - + + + Array of Rotation Keyframes in order from earliest to latest + - - + + + Array of Position Keyframes in order from earliest to latest + This seems to only be for the Pelvis? + - - + + + A Joint Keyframe. This is either a position or a rotation. + - - + + + Either a Vector3 position or a Vector3 Euler rotation + - - + + + Poses set in the animation metadata for the hands. + - - + + + Avatar profile flags + - - + + + Represents an avatar (other than your own) + - - + + Groups that this avatar is a member of - - + + Positive and negative ratings - - + + Avatar properties including about text, profile URL, image IDs and + publishing settings - - + + Avatar interests including spoken languages, skills, and "want to" + choices - - + + Movement control flags for avatars. Typically not set or used by + clients. To move your avatar, use Client.Self.Movement instead - - + + + Contains the visual parameters describing the deformation of the avatar + - - + + + Default constructor + - - + + First name - - + + Last name - - + + Full name - - + + Active group - - + + + Positive and negative ratings + - - + + Positive ratings for Behavior - - + + Negative ratings for Behavior - - + + Positive ratings for Appearance - - + + Negative ratings for Appearance - - + + Positive ratings for Building - - + + Negative ratings for Building - - + + Positive ratings given by this avatar - - + + Negative ratings given by this avatar - - + + + Avatar properties including about text, profile URL, image IDs and + publishing settings + - - + + First Life about text - - + + First Life image ID - - + + - - + + - - + + - - + + - - + + Profile image ID - - + + Flags of the profile - - + + Web URL for this profile - - + + Should this profile be published on the web - - + + Avatar Online Status - - - Operation to apply when applying color to texture - + + Is this a mature profile - - - Information needed to translate visual param value to RGBA color - + + - - - Construct VisualColorParam - - Operation to apply when applying color to texture - Colors + + - + - Represents alpha blending and bump infor for a visual parameter - such as sleive length + Avatar interests including spoken languages, skills, and "want to" + choices - - - Create new alhpa information for a visual param - - Stregth of the alpha to apply - File containing the alpha channel - Skip blending if parameter value is 0 - Use miltiply insted of alpha blending + + Languages profile field - - Stregth of the alpha to apply + + - - File containing the alpha channel + + - - Skip blending if parameter value is 0 + + - - Use miltiply insted of alpha blending + + - + - A single visual characteristic of an avatar mesh, such as eyebrow height + Extract the avatar UUID encoded in a SIP URI + + - + - Set all the values through the constructor + The type of bump-mapping applied to a face - Index of this visual param - Internal name - - - - - Displayable label of this characteristic - Displayable label for the minimum value of this characteristic - Displayable label for the maximum value of this characteristic - Default value - Minimum value - Maximum value - Is this param used for creation of bump layer? - Array of param IDs that are drivers for this parameter - Alpha blending/bump info - Color information - - Index of this visual param + + - - Internal name + + - - Group ID this parameter belongs to + + - - Name of the wearable this parameter belongs to + + - - Displayable label of this characteristic + + - - Displayable label for the minimum value of this characteristic + + - - Displayable label for the maximum value of this characteristic + + - - Default value + + - - Minimum value + + - - Maximum value + + - - Is this param used for creation of bump layer? + + - - Alpha blending/bump info + + - - Color information + + - - Array of param IDs that are drivers for this parameter + + - - - Holds the Params array of all the avatar appearance parameters - + + - - - Base class for all Asset types - + + - - - Construct a new Asset object - + + - + + + + - Construct a new Asset object + The level of shininess applied to a face - A unique specific to this asset - A byte array containing the raw asset data - - A byte array containing the raw asset data - - - True if the asset it only stored on the server temporarily + + - - A unique ID + + - - The assets unique ID + + - - - The "type" of asset, Notecard, Animation, etc - + + - + - Regenerates the AssetData byte array from the properties - of the derived class. + The texture mapping style used for a face - - - Decodes the AssetData, placing it in appropriate properties of the derived - class. - - True if the asset decoding succeeded, otherwise false + + - - - Constants for the archiving module - + + - - - The location of the archive control file - + + - - - Path for the assets held in an archive - + + - + - Path for the prims file + Flags in the TextureEntry block that describe which properties are + set - - - Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. - + + - - - Path for region settings. - + + - - - The character the separates the uuid from extension information in an archived asset filename - + + - - - Extensions used for asset types in the archive - + + - - - Archives assets - + + - - - Archive assets - + + - - - Archive the assets given to this archiver to the given archive. - - - + + - - - Write an assets metadata file to the given archive - - - + + - - - Write asset data files to the given archive - - - + + - - - Temporary code to do the bare minimum required to read a tar archive for our purposes - + + - - - Generate a tar reader which reads from the given stream. - - - + + - - - Binary reader for the underlying stream - + + - + - Used to trim off null chars + - - - Used to trim off space chars - + + - - - Read the next entry in the tar file. - - - - - - the data for the entry. Returns null if there are no more entries + + - - - Read the next 512 byte chunk of data as a tar header. - - A tar header struct. null if we have reached the end of the archive. + + - - - Read data following a header - - - - - + + - - - Convert octal bytes to a decimal representation - - - - - - - - - + + - - - Temporary code to produce a tar archive in tar v7 format - + + - - - Binary writer for the underlying stream - + + - - - Write a directory entry to the tar archive. We can only handle one path level right now! - - - + + - - - Write a file to the tar archive - - - - - + + - - - Write a file to the tar archive - - - - - + + - - - Finish writing the raw tar archive data to a stream. The stream will be closed on completion. - + + - - - Write a particular entry - - - - - - - + + - - - Represents an Animation - + + - - Default Constructor + + - - - Construct an Asset object of type Animation - - A unique specific to this asset - A byte array containing the raw asset data + + - - Override the base classes AssetType + + - - - Represents an that represents an avatars body ie: Hair, Etc. - + + - - Initializes a new instance of an AssetBodyPart object + + - - Initializes a new instance of an AssetBodyPart object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - - Override the base classes AssetType + + - + + + + - Represents an that can be worn on an avatar - such as a Shirt, Pants, etc. + - - Initializes a new instance of an AssetScriptBinary object + + - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - - Override the base classes AssetType + + - - - Type of gesture step - + + - + - Base class for gesture steps + + + - + - Retururns what kind of gesture step this is + - - - Describes animation step of a gesture - + + - - - If true, this step represents start of animation, otherwise animation stop - + + - - - Animation asset + + - + + + + - Animation inventory name + + + - + - Returns what kind of gesture step this is + - + + + + + + + + + + + + + + + + + + + - Describes sound step of a gesture + - - - Sound asset + + - + + + + + + + + + + + + + - Sound inventory name + + + - + - Returns what kind of gesture step this is + + + - + - Describes sound step of a gesture + + + - + - Text to output in chat + + + + - + - Returns what kind of gesture step this is + - + - Describes sound step of a gesture + + + - + - If true in this step we wait for all animations to finish + + + - + - If true gesture player should wait for the specified amount of time + + + + + Positional vector of the users position + + + Velocity vector of the position + + + At Orientation (X axis) of the position + + + Up Orientation (Y axis) of the position + + + Left Orientation (Z axis) of the position - + - Time in seconds to wait if WaitForAnimation is false + Image width - + - Returns what kind of gesture step this is + Image height - + - Describes the final step of a gesture + Image channel flags - + - Returns what kind of gesture step this is + Red channel data - + - Represents a sequence of animations, sounds, and chat actions + Green channel data - + - Constructs guesture asset + Blue channel data - + - Constructs guesture asset + Alpha channel data - A unique specific to this asset - A byte array containing the raw asset data - + - Keyboard key that triggers the gestyre + Bump channel data - + - Modifier to the trigger key + Create a new blank image + width + height + channel flags - + - String that triggers playing of the gesture sequence + + - + - Text that replaces trigger in chat once gesture is triggered + Convert the channels in the image. Channels are created or destroyed as required. + new channel flags - + - Sequence of gesture steps + Resize or stretch the image using nearest neighbor (ugly) resampling + new width + new height - + - Returns asset type + Create a byte array containing 32-bit RGBA data with a bottom-left + origin, suitable for feeding directly into OpenGL + A byte array containing raw texture data - + - Encodes gesture asset suitable for uplaod + pre-defined built in sounds - - - Decodes gesture assset into play sequence - - true if the asset data was decoded successfully + + - - - Represents a Landmark with RegionID and Position vector - + + - - Construct an Asset of type Landmark + + - - - Construct an Asset object of type Landmark - - A unique specific to this asset - A byte array containing the raw asset data + + - - UUID of the Landmark target region + + - - Local position of the target + + - - Override the base classes AssetType + + - - - Encode the raw contents of a string with the specific Landmark format - + + - - - Decode the raw asset data, populating the RegionID and Position - - true if the AssetData was successfully decoded to a UUID and Vector + + coins - - - Represents a string of characters encoded with specific formatting properties - + + cash register bell - - Construct an Asset of type Notecard + + - - - Construct an Asset object of type Notecard - - A unique specific to this asset - A byte array containing the raw asset data + + - - A text string containing main text of the notecard + + rubber - - List of s embedded on the notecard + + plastic - - Override the base classes AssetType + + flesh - - - Encode the raw contents of a string with the specific Linden Text properties - + + wood splintering? - - - Decode the raw asset data including the Linden Text properties - - true if the AssetData was successfully decoded + + glass break - - - A linkset asset, containing a parent primitive and zero or more children - + + metal clunk - - Initializes a new instance of an AssetPrim object + + whoosh - - - Initializes a new instance of an AssetPrim object - - A unique specific to this asset - A byte array containing the raw asset data + + shake - - - Only used internally for XML serialization/deserialization - + + - - Override the base classes AssetType + + ding - - - + + - - - - - + + - - - The deserialized form of a single primitive in a linkset asset - + + - - - Represents an AssetScriptBinary object containing the - LSO compiled bytecode of an LSL script - + + - - Initializes a new instance of an AssetScriptBinary object + + - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + - - Override the base classes AssetType + + - - - TODO: Encodes a scripts contents into a LSO Bytecode file - + + - - - TODO: Decode LSO Bytecode into a string - - true + + - + + + + + + + + + + + + + + + + - Represents an LSL Text object containing a string of UTF encoded characters + A dictionary containing all pre-defined sounds + A dictionary containing the pre-defined sounds, + where the key is the sounds ID, and the value is a string + containing a name to identify the purpose of the sound - - Initializes a new AssetScriptText object - - + - Initializes a new AssetScriptText object with parameters + - A unique specific to this asset - A byte array containing the raw asset data - - A string of characters represting the script contents + + The avatar has no rights - - Override the base classes AssetType + + The avatar can see the online status of the target avatar - - - Encode a string containing the scripts contents into byte encoded AssetData - + + The avatar can see the location of the target avatar on the map - + + The avatar can modify the ojects of the target avatar + + - Decode a byte array containing the scripts contents into a string + This class holds information about an avatar in the friends list. There are two ways + to interface to this class. The first is through the set of boolean properties. This is the typical + way clients of this class will use it. The second interface is through two bitflag properties, + TheirFriendsRights and MyFriendsRights - true if decoding is successful - + - Represents a Sound Asset + Used internally when building the initial list of friends at login time + System ID of the avatar being prepesented + Rights the friend has to see you online and to modify your objects + Rights you have to see your friend online and to modify their objects - - Initializes a new instance of an AssetSound object - - - Initializes a new instance of an AssetSound object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - Override the base classes AssetType - - + - TODO: Encodes a sound file + FriendInfo represented as a string + A string reprentation of both my rights and my friends rights - + - TODO: Decode a sound file + System ID of the avatar - true - + - Represents a texture + full name of the avatar - - Initializes a new instance of an AssetTexture object - - + - Initializes a new instance of an AssetTexture object + True if the avatar is online - A unique specific to this asset - A byte array containing the raw asset data - + - Initializes a new instance of an AssetTexture object + True if the friend can see if I am online - A object containing texture data - - A object containing image data - - + + True if the friend can see me on the map - + + True if the freind can modify my objects - - Override the base classes AssetType - - + - Populates the byte array with a JPEG2000 - encoded image created from the data in + True if I can see if my friend is online + - + - Decodes the JPEG2000 data in AssetData to the - object - True if the decoding was successful, otherwise false + True if I can see if my friend is on the map + - + - Decodes the begin and end byte positions for each quality layer in - the image + True if I can modify my friend's objects - - - + - Represents a Wearable Asset, Clothing, Hair, Skin, Etc + My friend's rights represented as bitmapped flags - - Initializes a new instance of an AssetWearable object - - - Initializes a new instance of an AssetWearable object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - A string containing the name of the asset - - - A string containing a short description of the asset - - - The Assets WearableType - - - The For-Sale status of the object - - - An Integer representing the purchase price of the asset - - - The of the assets creator - - - The of the assets current owner - - - The of the assets prior owner - - - The of the Group this asset is set to - - - True if the asset is owned by a - - - The Permissions mask of the asset - - - A Dictionary containing Key/Value pairs of the objects parameters - - - A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - - + - Decode an assets byte encoded data to a string + My rights represented as bitmapped flags - true if the asset data was decoded successfully - + - Encode the assets string represantion into a format consumable by the asset server + This class is used to add and remove avatars from your friends list and to manage their permission. - - = + + The event subscribers. null if no subcribers - - Number of times we've received an unknown CAPS exception in series. + + Raises the FriendOnline event + A FriendInfoEventArgs object containing the + data returned from the data server - - For exponential backoff on error. + + Thread sync lock object - - - A set of textures that are layered on texture of each other and "baked" - in to a single texture, for avatar appearances - + + The event subscribers. null if no subcribers - - - Default constructor - - Bake type + + Raises the FriendOffline event + A FriendInfoEventArgs object containing the + data returned from the data server - - Final baked texture + + Thread sync lock object - - Component layers + + The event subscribers. null if no subcribers - - Width of the final baked image and scratchpad + + Raises the FriendRightsUpdate event + A FriendInfoEventArgs object containing the + data returned from the data server - - Height of the final baked image and scratchpad + + Thread sync lock object - - Bake type + + The event subscribers. null if no subcribers - - Final baked texture + + Raises the FriendNames event + A FriendNamesEventArgs object containing the + data returned from the data server - - Component layers + + Thread sync lock object - - Width of the final baked image and scratchpad + + The event subscribers. null if no subcribers - - Height of the final baked image and scratchpad + + Raises the FriendshipOffered event + A FriendshipOfferedEventArgs object containing the + data returned from the data server - - Bake type + + Thread sync lock object - - Is this one of the 3 skin bakes + + The event subscribers. null if no subcribers - - - Adds layer for baking - - TexturaData struct that contains texture and its params + + Raises the FriendshipResponse event + A FriendshipResponseEventArgs object containing the + data returned from the data server - - - Converts avatar texture index (face) to Bake type - - Face number (AvatarTextureIndex) - BakeType, layer to which this texture belongs to + + Thread sync lock object - - - Make sure images exist, resize source if needed to match the destination - - Destination image - Source image - Sanitization was succefull + + The event subscribers. null if no subcribers - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Color of the base of this layer + + Raises the FriendshipTerminated event + A FriendshipTerminatedEventArgs object containing the + data returned from the data server - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Red value - Green value - Blue value + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendFoundReply event + A FriendFoundReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object - + - Create a new blank image + A dictionary of key/value pairs containing known friends of this avatar. + + The Key is the of the friend, the value is a + object that contains detailed information including permissions you have and have given to the friend - width - height - channel flags - + + A Dictionary of key/value pairs containing current pending frienship offers. + + The key is the of the avatar making the request, + the value is the of the request which is used to accept + or decline the friendship offer - - - + - Image width + Internal constructor + A reference to the GridClient Object - + - Image height + Accept a friendship request + agentID of avatatar to form friendship with + imSessionID of the friendship request message - + - Image channel flags + Decline a friendship request + of friend + imSessionID of the friendship request message - + - Red channel data + Overload: Offer friendship to an avatar. + System ID of the avatar you are offering friendship to - + - Green channel data + Offer friendship to an avatar. + System ID of the avatar you are offering friendship to + A message to send with the request - + - Blue channel data + Terminate a friendship with an avatar + System ID of the avatar you are terminating the friendship with - - - Alpha channel data - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Bump channel data + Change the rights of a friend avatar. + the of the friend + the new rights to give the friend + This method will implicitly set the rights to those passed in the rights parameter. - + - Convert the channels in the image. Channels are created or destroyed as required. + Use to map a friends location on the grid. - new channel flags + Friends UUID to find + - + - Resize or stretch the image using nearest neighbor (ugly) resampling + Use to track a friends movement on the grid - new width - new height + Friends Key - + - Create a byte array containing 32-bit RGBA data with a bottom-left - origin, suitable for feeding directly into OpenGL + Ask for a notification of friend's online status - A byte array containing raw texture data + Friend's UUID - + - A Wrapper around openjpeg to encode and decode images to and from byte arrays + This handles the asynchronous response of a RequestAvatarNames call. + + names cooresponding to the the list of IDs sent the the RequestAvatarNames call. - - - Defines the beginning and ending file positions of a layer in an - LRCP-progression JPEG2000 file - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - This structure is used to marshal both encoded and decoded images. - MUST MATCH THE STRUCT IN dotnet.h! - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + - Information about a single packet in a JPEG2000 stream + Populate FriendList with data from the login reply + true if login was successful + true if login request is requiring a redirect + A string containing the response to the login request + A string containing the reason for the request + A object containing the decoded + reply from the login server - - Packet start position - - - Packet header end position + + Raised when the simulator sends notification one of the members in our friends list comes online - - Packet end position + + Raised when the simulator sends notification one of the members in our friends list goes offline - - TGA Header size + + Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions - - OpenJPEG is not threadsafe, so this object is used to lock - during calls into unmanaged code + + Raised when the simulator sends us the names on our friends list - - - Encode a object into a byte array - - The object to encode - true to enable lossless conversion, only useful for small images ie: sculptmaps - A byte array containing the encoded Image object + + Raised when the simulator sends notification another agent is offering us friendship - - - Encode a object into a byte array - - The object to encode - a byte array of the encoded image + + Raised when a request we sent to friend another agent is accepted or declined - - - Decode JPEG2000 data to an and - - JPEG2000 encoded data - ManagedImage object to decode to - Image object to decode to - True if the decode succeeds, otherwise false + + Raised when the simulator sends notification one of the members in our friends list has terminated + our friendship - - - - - - - - - + + Raised when the simulator sends the location of a friend we have + requested map location info for - - - - - - - - - - - + + Contains information on a member of our friends list - + - Encode a object into a byte array + Construct a new instance of the FriendInfoEventArgs class - The source object to encode - true to enable lossless decoding - A byte array containing the source Bitmap object + The FriendInfo - - - Capability to load TGAs to Bitmap - + + Get the FriendInfo - - - Interface requirements for Messaging system - + + Contains Friend Names - + - Abstract base for rendering plugins + Construct a new instance of the FriendNamesEventArgs class + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - - Generates a basic mesh structure from a primitive - - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - - Generates a basic mesh structure from a sculpted primitive and - texture - - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh + + Sent when another agent requests a friendship with our agent - + - Generates a series of faces, each face containing a mesh and - metadata + Construct a new instance of the FriendshipOfferedEventArgs class - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh + The ID of the agent requesting friendship + The name of the agent requesting friendship + The ID of the session, used in accepting or declining the + friendship offer - - - Generates a series of faces for a sculpted prim, each face - containing a mesh and metadata - - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh + + Get the ID of the agent requesting friendship - - - Apply texture coordinate modifications from a - to a list of vertices - - Vertex list to modify texture coordinates for - Center-point of the face - Face texture parameters + + Get the name of the agent requesting friendship - - - Sent to the client to indicate a teleport request has completed - + + Get the ID of the session, used in accepting or declining the + friendship offer - - The of the agent + + A response containing the results of our request to form a friendship with another agent - + + Construct a new instance of the FriendShipResponseEventArgs class + The ID of the agent we requested a friendship with + The name of the agent we requested a friendship with + true if the agent accepted our friendship offer - - The simulators handle the agent teleported to - - - A Uri which contains a list of Capabilities the simulator supports - - - Indicates the level of access required - to access the simulator, or the content rating, or the simulators - map status - - - The IP Address of the simulator + + Get the ID of the agent we requested a friendship with - - The UDP Port the simulator will listen for UDP traffic on + + Get the name of the agent we requested a friendship with - - Status flags indicating the state of the Agent upon arrival, Flying, etc. + + true if the agent accepted our friendship offer - - - Serialize the object - - An containing the objects data + + Contains data sent when a friend terminates a friendship with us - + - Deserialize the message + Construct a new instance of the FrindshipTerminatedEventArgs class - An containing the data + The ID of the friend who terminated the friendship with us + The name of the friend who terminated the friendship with us - - - Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - + + Get the ID of the agent that terminated the friendship with us - - - Serialize the object - - An containing the objects data + + Get the name of the agent that terminated the friendship with us - + - Deserialize the message + Data sent in response to a request which contains the information to allow us to map the friends location - An containing the data - + - Serialize the object + Construct a new instance of the FriendFoundReplyEventArgs class - An containing the objects data + The ID of the agent we have requested location information for + The region handle where our friend is located + The simulator local position our friend is located - - - Deserialize the message - - An containing the data + + Get the ID of the agent we have received location information for - - - Serialize the object - - An containing the objects data + + Get the region handle where our mapped friend is located - - - Deserialize the message - - An containing the data + + Get the simulator local position where our friend is located - + - A message sent to the client which indicates a teleport request has failed - and contains some information on why it failed + Return a decoded capabilities message as a strongly typed object + A string containing the name of the capabilities message key + An to decode + A strongly typed object containing the decoded information from the capabilities message, or null + if no existing Message object exists for the specified event - + + Represents an that represents an avatars body ie: Hair, Etc. - - A string key of the reason the teleport failed e.g. CouldntTPCloser - Which could be used to look up a value in a dictionary or enum + + Initializes a new instance of an AssetBodyPart object - - The of the Agent + + Initializes a new instance of an AssetBodyPart object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - A string human readable message containing the reason - An example: Could not teleport closer to destination + + Override the base classes AssetType - + - Serialize the object + Archives assets - An containing the objects data - + - Deserialize the message + Archive assets - An containing the data - + - Serialize the object + Archive the assets given to this archiver to the given archive. - An containing the objects data + - + - Deserialize the message + Write an assets metadata file to the given archive - An containing the data + - + - Contains a list of prim owner information for a specific parcel in a simulator + Write asset data files to the given archive - - A Simulator will always return at least 1 entry - If agent does not have proper permission the OwnerID will be UUID.Zero - If agent does not have proper permission OR there are no primitives on parcel - the DataBlocksExtended map will not be sent from the simulator - + - + - Prim ownership information for a specified owner on a single parcel + - - The of the prim owner, - UUID.Zero if agent has no permission to view prim owner information - - - The total number of prims - - - True if the OwnerID is a - - - True if the owner is online - This is no longer used by the LL Simulators - - - The date the most recent prim was rezzed - - - An Array of objects - - + - Serialize the object + An instance of DelegateWrapper which calls InvokeWrappedDelegate, + which in turn calls the DynamicInvoke method of the wrapped + delegate - An containing the objects data - + - Deserialize the message + Callback used to call EndInvoke on the asynchronously + invoked DelegateWrapper - An containing the data - + - The details of a single parcel in a region, also contains some regionwide globals + Executes the specified delegate with the specified arguments + asynchronously on a thread pool thread + + - - Simulator-local ID of this parcel - - - Maximum corner of the axis-aligned bounding box for this - parcel - - - Minimum corner of the axis-aligned bounding box for this - parcel - - - Total parcel land area - - + + Invokes the wrapped delegate synchronously + + - - Key of authorized buyer - - - Bitmap describing land layout in 4x4m squares across the - entire region - - + + Calls EndInvoke on the wrapper and Close on the resulting WaitHandle + to prevent resource leaks + - - Date land was claimed - - - Appears to always be zero - - - Parcel Description - - + + Delegate to wrap another delegate and its arguments + + - - - + + The event subscribers. null if no subcribers - - Total number of primitives owned by the parcel group on - this parcel + + Raises the LandPatchReceived event + A LandPatchReceivedEventArgs object containing the + data returned from the simulator - - Whether the land is deeded to a group or not + + Thread sync lock object - + + Default constructor + - - Maximum number of primitives this parcel supports - - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + Raised when the simulator responds sends - - A URL which points to any Quicktime supported media type + + Simulator from that sent tha data - - A byte, if 0x1 viewer should auto scale media to fit object + + Sim coordinate of the patch - - URL For Music Stream + + Sim coordinate of the patch - - Parcel Name + + Size of tha patch - - Autoreturn value in minutes for others' objects + + Heightmap for the patch - - - + + Size of the byte array used to store raw packet data - - Total number of other primitives on this parcel + + Raw packet data buffer - - UUID of the owner of this parcel + + Length of the data to transmit - - Total number of primitives owned by the parcel owner on - this parcel + + EndPoint of the remote host - + + Create an allocated UDP packet buffer for receiving a packet - - How long is pass valid for - - - Price for a temporary pass - - + + Create an allocated UDP packet buffer for sending a packet + EndPoint of the remote host - + + Create an allocated UDP packet buffer for sending a packet + EndPoint of the remote host + Size of the buffer to allocate for packet data - + + Object pool for packet buffers. This is used to allocate memory for all + incoming and outgoing packets, and zerocoding buffers for those packets - + + Initialize the object pool in client mode + Server to connect to + + - - True if the region denies access to age unverified users - - + + Initialize the object pool in server mode + + - - This field is no longer used - - - The result of a request for parcel properties - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it - - + - Number of primitives your avatar is currently - selecting and sitting on in this parcel + Returns a packet buffer with EndPoint set if the buffer is in + client mode, or with EndPoint set to null in server mode + Initialized UDPPacketBuffer object - + + Default constructor - + - A number which increments by 1, starting at 0 for each ParcelProperties request. - Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. - a Negative number indicates the action in has occurred. + Check a packet buffer out of the pool + A packet buffer object - - Maximum primitives across the entire simulator - - - Total primitives across the entire simulator + + + + + Looking direction, must be a normalized vector + Up direction, must be a normalized vector - + + Align the coordinate frame X and Y axis with a given rotation + around the Z axis in radians + Absolute rotation around the Z axis in + radians - - Key of parcel snapshot + + Origin position of this coordinate frame - - Parcel ownership status + + X axis of this coordinate frame, or Forward/At in grid terms - - Total number of primitives on this parcel + + Y axis of this coordinate frame, or Left in grid terms - - - + + Z axis of this coordinate frame, or Up in grid terms - + + Static pre-defined animations available to all agents - - A description of the media + + Agent with afraid expression on face - - An Integer which represents the height of the media + + Agent aiming a bazooka (right handed) - - An integer which represents the width of the media + + Agent aiming a bow (left handed) - - A boolean, if true the viewer should loop the media + + Agent aiming a hand gun (right handed) - - A string which contains the mime type of the media + + Agent aiming a rifle (right handed) - - true to obscure (hide) media url + + Agent with angry expression on face - - true to obscure (hide) music url + + Agent hunched over (away) - - - Serialize the object - - An containing the objects data + + Agent doing a backflip - - - Deserialize the message - - An containing the data + + Agent laughing while holding belly - - A message sent from the viewer to the simulator to updated a specific parcels settings + + Agent blowing a kiss - - The of the agent authorized to purchase this - parcel of land or a NULL if the sale is authorized to anyone + + Agent with bored expression on face - - true to enable auto scaling of the parcel media + + Agent bowing to audience - - The category of this parcel used when search is enabled to restrict - search results + + Agent brushing himself/herself off - - A string containing the description to set + + Agent in busy mode - - The of the which allows for additional - powers and restrictions. + + Agent clapping hands - - The which specifies how avatars which teleport - to this parcel are handled + + Agent doing a curtsey bow - - The LocalID of the parcel to update settings on + + Agent crouching - - A string containing the description of the media which can be played - to visitors + + Agent crouching while walking - - - + + Agent crying - - - + + Agent unanimated with arms out (e.g. setting appearance) - - - + + Agent re-animated after set appearance finished - - - + + Agent dancing - - - + + Agent dancing - - - + + Agent dancing - - - + + Agent dancing - - - + + Agent dancing - - - + + Agent dancing - - - + + Agent dancing - - - + + Agent dancing - - - + + Agent on ground unanimated - - - + + Agent boozing it up - - - + + Agent with embarassed expression on face + + + Agent with afraid expression on face + + + Agent with angry expression on face + + + Agent with bored expression on face - - - + + Agent crying - - - + + Agent showing disdain (dislike) for something - - - + + Agent with embarassed expression on face - - - Deserialize the message - - An containing the data + + Agent with frowning expression on face - - - Serialize the object - - An containing the objects data + + Agent with kissy face - - Base class used for the RemoteParcelRequest message + + Agent expressing laughgter - - - A message sent from the viewer to the simulator to request information - on a remote parcel - + + Agent with open mouth - - Local sim position of the parcel we are looking up + + Agent with repulsed expression on face - - Region handle of the parcel we are looking up + + Agent expressing sadness - - Region of the parcel we are looking up + + Agent shrugging shoulders - - - Serialize the object - - An containing the objects data + + Agent with a smile - - - Deserialize the message - - An containing the data + + Agent expressing surprise - - - A message sent from the simulator to the viewer in response to a - which will contain parcel information - + + Agent sticking tongue out - - The grid-wide unique parcel ID + + Agent with big toothy smile - - - Serialize the object - - An containing the objects data + + Agent winking - - - Deserialize the message - - An containing the data + + Agent expressing worry - - - A message containing a request for a remote parcel from a viewer, or a response - from the simulator to that request - + + Agent falling down - - The request or response details block + + Agent walking (feminine version) - - - Serialize the object - - An containing the objects data + + Agent wagging finger (disapproval) - - - Deserialize the message - - An containing the data + + I'm not sure I want to know - - - Serialize the object - - An containing the objects data + + Agent in superman position - - - Deserialize the message - - An containing the data + + Agent in superman position - - - Serialize the object - - An containing the objects data + + Agent greeting another - - - Deserialize the message - - An containing the data + + Agent holding bazooka (right handed) - - - A message sent from the simulator to an agent which contains - the groups the agent is in - + + Agent holding a bow (left handed) - - Group Details specific to the agent + + Agent holding a handgun (right handed) - - true of the agent accepts group notices + + Agent holding a rifle (right handed) - - The agents tier contribution to the group + + Agent throwing an object (right handed) - - The Groups + + Agent in static hover - - The of the groups insignia + + Agent hovering downward - - The name of the group + + Agent hovering upward - - The aggregate permissions the agent has in the group for all roles the agent - is assigned + + Agent being impatient - - An optional block containing additional agent specific information + + Agent jumping - - true of the agent allows this group to be - listed in their profile + + Agent jumping with fervor - - The Agent receiving the message + + Agent point to lips then rear end - - An array containing information - for each the agent is a member of + + Agent landing from jump, finished flight, etc - - An array containing information - for each the agent is a member of + + Agent laughing - - - Serialize the object - - An containing the objects data + + Agent landing from jump, finished flight, etc - - - Deserialize the message - - An containing the data + + Agent sitting on a motorcycle - - - A message sent from the viewer to the simulator which - specifies the language and permissions for others to detect - the language specified - + + - - A string containng the default language - to use for the agent + + Agent moving head side to side - - true of others are allowed to - know the language setting + + Agent moving head side to side with unhappy expression - - - Serialize the object - - An containing the objects data + + Agent taunting another - - - Deserialize the message - - An containing the data + + - - - An EventQueue message sent from the simulator to an agent when the agent - leaves a group - + + Agent giving peace sign - - An object containing the Agents UUID, and the Groups UUID + + Agent pointing at self - - The ID of the Agent leaving the group + + Agent pointing at another - - The GroupID the Agent is leaving + + Agent preparing for jump (bending knees) - - - An Array containing the AgentID and GroupID - + + Agent punching with left hand - - - Serialize the object - - An containing the objects data + + Agent punching with right hand + + + Agent acting repulsed - - - Deserialize the message - - An containing the data + + Agent trying to be Chuck Norris - - Base class for Asset uploads/results via Capabilities + + Rocks, Paper, Scissors 1, 2, 3 - - - The request state - + + Agent with hand flat over other hand - - - Serialize the object - - An containing the objects data + + Agent with fist over other hand - - - Deserialize the message - - An containing the data + + Agent with two fingers spread over other hand - - - A message sent from the viewer to the simulator to request a temporary upload capability - which allows an asset to be uploaded - + + Agent running - - The Capability URL sent by the simulator to upload the baked texture to + + Agent appearing sad - - - A message sent from the simulator that will inform the agent the upload is complete, - and the UUID of the uploaded asset - + + Agent saluting - - The uploaded texture asset ID + + Agent shooting bow (left handed) - - - A message sent from the viewer to the simulator to request a temporary - capability URI which is used to upload an agents baked appearance textures - + + Agent cupping mouth as if shouting - - Object containing request or response + + Agent shrugging shoulders - - - Serialize the object - - An containing the objects data + + Agent in sit position - - - Deserialize the message - - An containing the data + + Agent in sit position (feminine) - - - A message sent from the simulator which indicates the minimum version required for - using voice chat - + + Agent in sit position (generic) - - Major Version Required + + Agent sitting on ground - - Minor version required + + Agent sitting on ground - - The name of the region sending the version requrements + + - - - Serialize the object - - An containing the objects data + + Agent sleeping on side - - - Deserialize the message - - An containing the data + + Agent smoking - - - A message sent from the simulator to the viewer containing the - voice server URI - + + Agent inhaling smoke - - The Parcel ID which the voice server URI applies + + - - The name of the region + + Agent taking a picture - - A uri containing the server/channel information - which the viewer can utilize to participate in voice conversations + + Agent standing - - - Serialize the object - - An containing the objects data + + Agent standing up - - - Deserialize the message - - An containing the data + + Agent standing - - - + + Agent standing - - - + + Agent standing - - - + + Agent standing - - - Serialize the object - - An containing the objects data + + Agent stretching - - - Deserialize the message - - An containing the data + + Agent in stride (fast walk) - - - A message sent by the viewer to the simulator to request a temporary - capability for a script contained with in a Tasks inventory to be updated - + + Agent surfing - - Object containing request or response + + Agent acting surprised - - - Serialize the object - - An containing the objects data + + Agent striking with a sword - - - Deserialize the message - - An containing the data + + Agent talking (lips moving) - - - A message sent from the simulator to the viewer to indicate - a Tasks scripts status. - + + Agent throwing a tantrum - - The Asset ID of the script + + Agent throwing an object (right handed) - - True of the script is compiled/ran using the mono interpreter, false indicates it - uses the older less efficient lsl2 interprter + + Agent trying on a shirt - - The Task containing the scripts + + Agent turning to the left - - true of the script is in a running state + + Agent turning to the right - - - Serialize the object - - An containing the objects data + + Agent typing - - - Deserialize the message - - An containing the data + + Agent walking - - - A message containing the request/response used for updating a gesture - contained with an agents inventory - + + Agent whispering - - Object containing request or response + + Agent whispering with fingers in mouth - - - Serialize the object - - An containing the objects data + + Agent winking - - - Deserialize the message - - An containing the data + + Agent winking - - - A message request/response which is used to update a notecard contained within - a tasks inventory - + + Agent worried - - The of the Task containing the notecard asset to update + + Agent nodding yes - - The notecard assets contained in the tasks inventory + + Agent nodding yes with happy face - + + Agent floating with legs and arms crossed + + - Serialize the object + A dictionary containing all pre-defined animations - An containing the objects data + A dictionary containing the pre-defined animations, + where the key is the animations ID, and the value is a string + containing a name to identify the purpose of the animation - + - Deserialize the message + Type of gesture step - An containing the data - + - A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability - which is used to update an asset in an agents inventory + Base class for gesture steps - + - The Notecard AssetID to replace + Retururns what kind of gesture step this is - + - Serialize the object + Describes animation step of a gesture - An containing the objects data - + - Deserialize the message + If true, this step represents start of animation, otherwise animation stop - An containing the data - + - A message containing the request/response used for updating a notecard - contained with an agents inventory + Animation asset - - Object containing request or response - - + - Serialize the object + Animation inventory name - An containing the objects data - + - Deserialize the message + Returns what kind of gesture step this is - An containing the data - + - Serialize the object + Describes sound step of a gesture - An containing the objects data - + - Deserialize the message + Sound asset - An containing the data - + - A message sent from the simulator to the viewer which indicates - an error occurred while attempting to update a script in an agents or tasks - inventory + Sound inventory name - - true of the script was successfully compiled by the simulator - - - A string containing the error which occured while trying - to update the script - - - A new AssetID assigned to the script - - + - A message sent from the viewer to the simulator - requesting the update of an existing script contained - within a tasks inventory + Returns what kind of gesture step this is - - if true, set the script mode to running - - - The scripts InventoryItem ItemID to update - - - A lowercase string containing either "mono" or "lsl2" which - specifies the script is compiled and ran on the mono runtime, or the older - lsl runtime - - - The tasks which contains the script to update - - + - Serialize the object + Describes sound step of a gesture - An containing the objects data - + - Deserialize the message + Text to output in chat - An containing the data - + - A message containing either the request or response used in updating a script inside - a tasks inventory + Returns what kind of gesture step this is - - Object containing request or response - - + - Serialize the object + Describes sound step of a gesture - An containing the objects data - + - Deserialize the message + If true in this step we wait for all animations to finish - An containing the data - + - Response from the simulator to notify the viewer the upload is completed, and - the UUID of the script asset and its compiled status + If true gesture player should wait for the specified amount of time - - The uploaded texture asset ID - - - true of the script was compiled successfully - - + - A message sent from a viewer to the simulator requesting a temporary uploader capability - used to update a script contained in an agents inventory + Time in seconds to wait if WaitForAnimation is false - - The existing asset if of the script in the agents inventory to replace - - - The language of the script - Defaults to lsl version 2, "mono" might be another possible option - - + - Serialize the object + Returns what kind of gesture step this is - An containing the objects data - + - Deserialize the message + Describes the final step of a gesture - An containing the data - + - A message containing either the request or response used in updating a script inside - an agents inventory + Returns what kind of gesture step this is - - Object containing request or response + + + Represents a sequence of animations, sounds, and chat actions + - + - Serialize the object + Keyboard key that triggers the gestyre - An containing the objects data - + - Deserialize the message + Modifier to the trigger key - An containing the data - + - Serialize the object + String that triggers playing of the gesture sequence - An containing the objects data - + - Deserialize the message + Text that replaces trigger in chat once gesture is triggered - An containing the data - - Base class for Map Layers via Capabilities + + + Sequence of gesture steps + - + + Constructs guesture asset - + - Serialize the object + Constructs guesture asset - An containing the objects data + A unique specific to this asset + A byte array containing the raw asset data - + - Deserialize the message + Encodes gesture asset suitable for uplaod - An containing the data - + - Sent by an agent to the capabilities server to request map layers + Decodes gesture assset into play sequence + true if the asset data was decoded successfully - + - A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates + Returns asset type - + - An object containing map location details + Simulator (region) properties - - The Asset ID of the regions tile overlay + + No flags set - - The grid location of the southern border of the map tile + + Agents can take damage and be killed - - The grid location of the western border of the map tile + + Landmarks can be created here - - The grid location of the eastern border of the map tile + + Home position can be set in this sim - - The grid location of the northern border of the map tile + + Home position is reset when an agent teleports away - - An array containing LayerData items + + Sun does not move - - - Serialize the object - - An containing the objects data + + No object, land, etc. taxes - - - Deserialize the message - - An containing the data + + Disable heightmap alterations (agents can still plant + foliage) - - Object containing request or response + + Land cannot be released, sold, or purchased - - - Serialize the object - - An containing the objects data + + All content is wiped nightly - - - Deserialize the message - - An containing the data + + Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) - - - New as of 1.23 RC1, no details yet. - + + Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. - - - Serialize the object - - An containing the objects data + + Region does not update agent prim interest lists. Internal debugging option. - - - Deserialize the message - - An containing the data + + No collision detection for non-agent objects - - - Serialize the object - - An containing the objects data + + No scripts are ran - - - Deserialize the message - - An containing the data + + All physics processing is turned off - - A string containing the method used + + Region can be seen from other regions on world map. (Legacy world map option?) - - - A request sent from an agent to the Simulator to begin a new conference. - Contains a list of Agents which will be included in the conference - + + Region can be seen from mainland on world map. (Legacy world map option?) - - An array containing the of the agents invited to this conference + + Agents not explicitly on the access list can visit the region. - - The conferences Session ID + + Traffic calculations are not run across entire region, overrides parcel settings. - - - Serialize the object - - An containing the objects data + + Flight is disabled (not currently enforced by the sim) - - - Deserialize the message - - An containing the data + + Allow direct (p2p) teleporting - - - A moderation request sent from a conference moderator - Contains an agent and an optional action to take - + + Estate owner has temporarily disabled scripting - - The Session ID + + Restricts the usage of the LSL llPushObject function, applies to whole region. - - - + + Deny agents with no payment info on file - - A list containing Key/Value pairs, known valid values: - key: text value: true/false - allow/disallow specified agents ability to use text in session - key: voice value: true/false - allow/disallow specified agents ability to use voice in session - - "text" or "voice" + + Deny agents with payment info on file - - - + + Deny agents who have made a monetary transaction - - - Serialize the object - - An containing the objects data + + Parcels within the region may be joined or divided by anyone, not just estate owners/managers. - - - Deserialize the message - - An containing the data + + Abuse reports sent from within this region are sent to the estate owner defined email. - - - A message sent from the agent to the simulator which tells the - simulator we've accepted a conference invitation - + + Region is Voice Enabled - - The conference SessionID + + Removes the ability from parcel owners to set their parcels to show in search. - - - Serialize the object - - An containing the objects data + + Deny agents who have not been age verified from entering the region. - + - Deserialize the message + Access level for a simulator - An containing the data - - - Serialize the object - - An containing the objects data + + Unknown or invalid access level - - - Deserialize the message - - An containing the data + + Trial accounts allowed - - - Serialize the object - - An containing the objects data + + PG rating - - - Deserialize the message - - An containing the data + + Mature rating - - - Serialize the object - - An containing the objects data + + Adult rating - + + Simulator is offline + + + Simulator does not exist + + - Deserialize the message + - An containing the data - - - Key of sender - - Name of sender + + A public reference to the client that this Simulator object + is attached to - - Key of destination avatar + + A Unique Cache identifier for this simulator - - ID of originating estate + + The capabilities for this simulator - - Key of originating region + + - - Coordinates in originating region + + The current version of software this simulator is running - - Instant message type + + - - Group IM session toggle + + A 64x64 grid of parcel coloring values. The values stored + in this array are of the type - - Key of IM session, for Group Messages, the groups UUID + + - - Timestamp of the instant message + + - - Instant message text + + - - Whether this message is held for offline avatars + + - - Context specific packed data + + - - Is this invitation for voice group/conference chat + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Sent from the simulator to the viewer. - When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including - a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate - this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" - During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are - excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with - the string "ENTER" or "LEAVE" respectively. - + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - An EventQueue message sent when the agent is forcibly removed from a chatterbox session - + + - - - A string containing the reason the agent was removed - + + - - - The ChatterBoxSession's SessionID - + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + true if your agent has Estate Manager rights on this region - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + - - - Serialize the object - - An containing the objects data + + - - - Deserialize the message - - An containing the data + + Statistics information for this simulator and the + connection to the simulator, calculated by the simulator itself + and the library - - - + + The regions Unique ID - - - Serialize the object - - An containing the objects data + + The physical data center the simulator is located + Known values are: + + Dallas + Chandler + SF + + - - - Deserialize the message - - An containing the data + + The CPU Class of the simulator + Most full mainland/estate sims appear to be 5, + Homesteads and Openspace appear to be 501 - - - Serialize the object - - An containing the objects data + + The number of regions sharing the same CPU as this one + "Full Sims" appear to be 1, Homesteads appear to be 4 - - - Deserialize the message - - An containing the data + + The billing product name + Known values are: + + Mainland / Full Region (Sku: 023) + Estate / Full Region (Sku: 024) + Estate / Openspace (Sku: 027) + Estate / Homestead (Sku: 029) + Mainland / Homestead (Sku: 129) (Linden Owned) + Mainland / Linden Homes (Sku: 131) + + - - - Serialize the object - - An containing the objects data + + The billing product SKU + Known values are: + + 023 Mainland / Full Region + 024 Estate / Full Region + 027 Estate / Openspace + 029 Estate / Homestead + 129 Mainland / Homestead (Linden Owned) + 131 Linden Homes / Full Region + + - - - Deserialize the message - - An containing the data + + The current sequence number for packets sent to this + simulator. Must be Interlocked before modifying. Only + useful for applications manipulating sequence numbers - + - A message sent from the viewer to the simulator which - specifies that the user has changed current URL - of the specific media on a prim face + A thread-safe dictionary containing avatars in a simulator - + - New URL + A thread-safe dictionary containing primitives in a simulator - + - Prim UUID where navigation occured + Provides access to an internal thread-safe dictionary containing parcel + information found in this simulator - + - Face index + Checks simulator parcel map to make sure it has downloaded all data successfully + true if map is full (contains no 0's) - - - Serialize the object - - An containing the objects data + + Used internally to track sim disconnections - - - Deserialize the message - - An containing the data + + Event that is triggered when the simulator successfully + establishes a connection - - Base class used for the ObjectMedia message + + Whether this sim is currently connected or not. Hooked up + to the property Connected - - - Message used to retrive prim media data - + + Coarse locations of avatars in this simulator - - - Prim UUID - + + AvatarPositions key representing TrackAgent target - - - Requested operation, either GET or UPDATE - + + Sequence numbers of packets we've received + (for duplicate checking) - - - Serialize object - - Serialized object as OSDMap + + Packets we sent out that need ACKs from the simulator - - - Deserialize the message - - An containing the data + + Sequence number for pause/resume - - - Message used to update prim media data - + + Indicates if UDP connection to the sim is fully established - + - Prim UUID + + Reference to the GridClient object + IPEndPoint of the simulator + handle of the simulator - + - Array of media entries indexed by face number + Called when this Simulator object is being destroyed - + - Media version string + Attempt to connect to this simulator + Whether to move our agent in to this sim or not + True if the connection succeeded or connection status is + unknown, false if there was a failure - + - Serialize object + Initiates connection to the simulator - Serialized object as OSDMap - + - Deserialize the message + Disconnect from this simulator - An containing the data - + - Message used to update prim media data + Instructs the simulator to stop sending update (and possibly other) packets - + - Prim UUID + Instructs the simulator to resume sending update packets (unpause) - + - Array of media entries indexed by face number + Retrieve the terrain height at a given coordinate + Sim X coordinate, valid range is from 0 to 255 + Sim Y coordinate, valid range is from 0 to 255 + The terrain height at the given point if the + lookup was successful, otherwise 0.0f + True if the lookup was successful, otherwise false - + - Requested operation, either GET or UPDATE + Sends a packet + Packet to be sent - + - Serialize object + - Serialized object as OSDMap - + - Deserialize the message + Returns Simulator Name as a String - An containing the data + - + - Message for setting or getting per face MediaEntry + + - - The request or response details block - - + - Serialize the object + - An containing the objects data + + - + - Deserialize the message + Sends out pending acknowledgements - An containing the data - - - Details about object resource usage - - - Object UUID - - - Object name - - - Indicates if object is group owned - - - Locatio of the object - - - Object owner - - - Resource usage, keys are resource names, values are resource usage for that specific resource + Number of ACKs sent - + - Deserializes object from OSD + Resend unacknowledged packets - An containing the data - + - Makes an instance based on deserialized data + Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - serialized data - Instance containg deserialized data - - - Details about parcel resource usage - - - Parcel UUID - - Parcel local ID + + The IP address and port of the server - - Parcel name + + Whether there is a working connection to the simulator or + not - - Indicates if parcel is group owned + + Coarse locations of avatars in this simulator - - Parcel owner + + AvatarPositions key representing TrackAgent target - - Array of containing per object resource usage + + Indicates if UDP connection to the sim is fully established - + - Deserializes object from OSD + Simulator Statistics - An containing the data - - - Makes an instance based on deserialized data - - - serialized data - Instance containg deserialized data + + Total number of packets sent by this simulator to this agent - - Resource usage base class, both agent and parcel resource - usage contains summary information + + Total number of packets received by this simulator to this agent - - Summary of available resources, keys are resource names, - values are resource usage for that specific resource + + Total number of bytes sent by this simulator to this agent - - Summary resource usage, keys are resource names, - values are resource usage for that specific resource + + Total number of bytes received by this simulator to this agent - - - Serializes object - - - serialized data + + Time in seconds agent has been connected to simulator - - - Deserializes object from OSD - - An containing the data + + Total number of packets that have been resent - - Agent resource usage + + Total number of resent packets recieved - - Per attachment point object resource usage + + Total number of pings sent to this simulator by this agent - - - Deserializes object from OSD - - An containing the data + + Total number of ping replies sent to this agent by this simulator - + - Makes an instance based on deserialized data + Incoming bytes per second - - serialized data - Instance containg deserialized data + It would be nice to have this claculated on the fly, but + this is far, far easier - + - Detects which class handles deserialization of this message + Outgoing bytes per second - An containing the data - Object capable of decoding this message + It would be nice to have this claculated on the fly, but + this is far, far easier - - Request message for parcel resource usage + + Time last ping was sent - - UUID of the parel to request resource usage info + + ID of last Ping sent - - - Serializes object - - - serialized data + + - - - Deserializes object from OSD - - An containing the data + + - - Response message for parcel resource usage + + Current time dilation of this simulator - - URL where parcel resource usage details can be retrieved + + Current Frames per second of simulator - - URL where parcel resource usage summary can be retrieved + + Current Physics frames per second of simulator - - - Serializes object - - - serialized data + + - - - Deserializes object from OSD - - An containing the data + + - - - Detects which class handles deserialization of this message - - An containing the data - Object capable of decoding this message + + - - Parcel resource usage + + - - Array of containing per percal resource usage + + - - - Deserializes object from OSD - - An containing the data + + - - - Return a decoded capabilities message as a strongly typed object - - A string containing the name of the capabilities message key - An to decode - A strongly typed object containing the decoded information from the capabilities message, or null - if no existing Message object exists for the specified event + + - - - Permissions for control of object media - + + - - - Style of cotrols that shold be displayed to the user - + + Total number of objects Simulator is simulating - - - Class representing media data for a single face - + + Total number of Active (Scripted) objects running - - Is display of the alternative image enabled + + Number of agents currently in this simulator - - Should media auto loop + + Number of agents in neighbor simulators - - Shoule media be auto played + + Number of Active scripts running in this simulator - - Auto scale media to prim face + + - - Should viewer automatically zoom in on the face when clicked + + - - Should viewer interpret first click as interaction with the media - or when false should the first click be treated as zoom in commadn + + - - Style of controls viewer should display when - viewer media on this face + + Number of downloads pending - - Starting URL for the media + + Number of uploads pending - - Currently navigated URL + + - - Media height in pixes + + - - Media width in pixels + + Number of local uploads pending - - Who can controls the media + + Unacknowledged bytes in queue + + + + Exception class to identify inventory exceptions + + + + + Responsible for maintaining inventory structure. Inventory constructs nodes + and manages node children as is necessary to maintain a coherant hirarchy. + Other classes should not manipulate or create InventoryNodes explicitly. When + A node's parent changes (when a folder is moved, for example) simply pass + Inventory the updated InventoryFolder and it will make the appropriate changes + to its internal representation. + + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectUpdated Event + A InventoryObjectUpdatedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectRemoved Event + A InventoryObjectRemovedEventArgs object containing + the data sent from the simulator - - Who can interact with the media + + Thread sync lock object - - Is URL whitelist enabled + + The event subscribers, null of no subscribers - - Array of URLs that are whitelisted + + Raises the InventoryObjectAdded Event + A InventoryObjectAddedEventArgs object containing + the data sent from the simulator - - - Serialize to OSD - - OSDMap with the serialized data + + Thread sync lock object - + - Deserialize from OSD data + Returns the contents of the specified folder - Serialized OSD data - Deserialized object + A folder's UUID + The contents of the folder corresponding to folder + When folder does not exist in the inventory - + - Particle system specific enumerators, flags and methods. + Updates the state of the InventoryNode and inventory data structure that + is responsible for the InventoryObject. If the item was previously not added to inventory, + it adds the item, and updates structure accordingly. If it was, it updates the + InventoryNode, changing the parent node if item.parentUUID does + not match node.Parent.Data.UUID. + + You can not set the inventory root folder using this method + The InventoryObject to store - + - Default constructor + Removes the InventoryObject and all related node data from Inventory. + The InventoryObject to remove. - + - Complete structure for the particle system + Used to find out if Inventory contains the InventoryObject + specified by uuid. + The UUID to check. + true if inventory contains uuid, false otherwise - + - Decodes a byte[] array into a ParticleSystem Object + Saves the current inventory structure to a cache file - ParticleSystem object - Start position for BitPacker + Name of the cache file to save to - + - Particle source pattern + Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + Name of the cache file to load + The number of inventory items sucessfully reconstructed into the inventory node tree - - None - - - Drop particles from source position with no force - - - "Explode" particles in all directions + + Raised when the simulator sends us data containing + ... - - Particles shoot across a 2D area + + Raised when the simulator sends us data containing + ... - - Particles shoot across a 3D Cone + + Raised when the simulator sends us data containing + ... - - Inverse of AngleCone (shoot particles everywhere except the 3D cone defined + + + The root folder of this avatars inventory + - + - Particle Data Flags + The default shared library folder - - None + + + The root node of the avatars inventory + - - Interpolate color and alpha from start to end + + + The root node of the default shared library + - - Interpolate scale from start to end + + + By using the bracket operator on this class, the program can get the + InventoryObject designated by the specified uuid. If the value for the corresponding + UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). + If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), + the uuid parameter is ignored. + + The UUID of the InventoryObject to get or set, ignored if set to non-null value. + The InventoryObject corresponding to uuid. - - Bounce particles off particle sources Z height + + + Holds group information for Avatars such as those you might find in a profile + - - velocity of particles is dampened toward the simulators wind + + true of Avatar accepts group notices - - Particles follow the source + + Groups Key - - Particles point towards the direction of source's velocity + + Texture Key for groups insignia - - Target of the particles + + Name of the group - - Particles are sent in a straight line + + Powers avatar has in the group - - Particles emit a glow + + Avatars Currently selected title - - used for point/grab/touch + + true of Avatar has chosen to list this in their profile - + - Particle Flags Enum + Contains an animation currently being played by an agent - - None - - - Acceleration and velocity for particles are - relative to the object rotation + + The ID of the animation asset - - Particles use new 'correct' angle parameters + + A number to indicate start order of currently playing animations + On Linden Grids this number is unique per region, with OpenSim it is per client - - Particle Flags - There appears to be more data packed in to this area - for many particle systems. It doesn't appear to be flag values - and serialization breaks unless there is a flag for every - possible bit so it is left as an unsigned integer + + - + - pattern of particles - - - A representing the maximimum age (in seconds) particle will be displayed - Maximum value is 30 seconds - - - A representing the number of seconds, - from when the particle source comes into view, - or the particle system's creation, that the object will emits particles; - after this time period no more particles are emitted - - - A in radians that specifies where particles will not be created + Holds group information on an individual profile pick + - - A in radians that specifies where particles will be created + + + Retrieve friend status notifications, and retrieve avatar names and + profiles + - - A representing the number of seconds between burts. + + The event subscribers, null of no subscribers - - A representing the number of meters - around the center of the source where particles will be created. + + Raises the AvatarAnimation Event + An AvatarAnimationEventArgs object containing + the data sent from the simulator - - A representing in seconds, the minimum speed between bursts of new particles - being emitted + + Thread sync lock object - - A representing in seconds the maximum speed of new particles being emitted. + + The event subscribers, null of no subscribers - - A representing the maximum number of particles emitted per burst + + Raises the AvatarAppearance Event + A AvatarAppearanceEventArgs object containing + the data sent from the simulator - - A which represents the velocity (speed) from the source which particles are emitted + + Thread sync lock object - - A which represents the Acceleration from the source which particles are emitted + + The event subscribers, null of no subscribers - - The Key of the texture displayed on the particle + + Raises the UUIDNameReply Event + A UUIDNameReplyEventArgs object containing + the data sent from the simulator - - The Key of the specified target object or avatar particles will follow + + Thread sync lock object - - Flags of particle from + + The event subscribers, null of no subscribers - - Max Age particle system will emit particles for + + Raises the AvatarInterestsReply Event + A AvatarInterestsReplyEventArgs object containing + the data sent from the simulator - - The the particle has at the beginning of its lifecycle + + Thread sync lock object - - The the particle has at the ending of its lifecycle + + The event subscribers, null of no subscribers - - A that represents the starting X size of the particle - Minimum value is 0, maximum value is 4 + + Raises the AvatarPropertiesReply Event + A AvatarPropertiesReplyEventArgs object containing + the data sent from the simulator - - A that represents the starting Y size of the particle - Minimum value is 0, maximum value is 4 + + Thread sync lock object - - A that represents the ending X size of the particle - Minimum value is 0, maximum value is 4 + + The event subscribers, null of no subscribers - - A that represents the ending Y size of the particle - Minimum value is 0, maximum value is 4 + + Raises the AvatarGroupsReply Event + A AvatarGroupsReplyEventArgs object containing + the data sent from the simulator - - - Generate byte[] array from particle data - - Byte array + + Thread sync lock object - - - Parameters used to construct a visual representation of a primitive - + + The event subscribers, null of no subscribers - - - + + Raises the AvatarPickerReply Event + A AvatarPickerReplyEventArgs object containing + the data sent from the simulator - - - + + Thread sync lock object - - - + + The event subscribers, null of no subscribers - - - + + Raises the ViewerEffectPointAt Event + A ViewerEffectPointAtEventArgs object containing + the data sent from the simulator - - - + + Thread sync lock object - - - + + The event subscribers, null of no subscribers - - - + + Raises the ViewerEffectLookAt Event + A ViewerEffectLookAtEventArgs object containing + the data sent from the simulator - - - + + Thread sync lock object - - - + + The event subscribers, null of no subscribers - - - + + Raises the ViewerEffect Event + A ViewerEffectEventArgs object containing + the data sent from the simulator - - - + + Thread sync lock object - - - + + The event subscribers, null of no subscribers - - - + + Raises the AvatarPicksReply Event + A AvatarPicksReplyEventArgs object containing + the data sent from the simulator - - - + + Thread sync lock object - - - + + The event subscribers, null of no subscribers - - - + + Raises the PickInfoReply Event + A PickInfoReplyEventArgs object containing + the data sent from the simulator - - - + + Thread sync lock object - - - + + The event subscribers, null of no subscribers - - - + + Raises the AvatarClassifiedReply Event + A AvatarClassifiedReplyEventArgs object containing + the data sent from the simulator - - - + + Thread sync lock object - - - + + The event subscribers, null of no subscribers - - Attachment point to an avatar + + Raises the ClassifiedInfoReply Event + A ClassifiedInfoReplyEventArgs object containing + the data sent from the simulator - - - + + Thread sync lock object - + + Represents other avatars + - - - + + Tracks the specified avatar on your map + Avatar ID to track - + + Request a single avatar name + The avatar key to retrieve a name for - + - Information on the flexible properties of a primitive + Request a list of avatar names + The avatar keys to retrieve names for - + - Default constructor + Start a request for Avatar Properties + - + + Search for an avatar (first name, last name) - - - - + The name to search for + An ID to associate with this query - + + Start a request for Avatar Picks + UUID of the avatar - + + Start a request for Avatar Classifieds + UUID of the avatar - + + Start a request for details of a specific profile pick + UUID of the avatar + UUID of the profile pick - + + Start a request for details of a specific profile classified + UUID of the avatar + UUID of the profile classified - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Information on the light properties of a primitive - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Default constructor + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - + + Raised when the simulator sends us data containing + an agents animation playlist - - - Information on the sculpt properties of a sculpted primitive - + + Raised when the simulator sends us data containing + the appearance information for an agent - - - Default constructor - + + Raised when the simulator sends us data containing + agent names/id values - - - - - - - + + Raised when the simulator sends us data containing + the interests listed in an agents profile - - - Render inside out (inverts the normals). - + + Raised when the simulator sends us data containing + profile property information for an agent - - - Render an X axis mirror of the sculpty. - + + Raised when the simulator sends us data containing + the group membership an agent is a member of - - - Extended properties to describe an object - + + Raised when the simulator sends us data containing + name/id pair - - - Default constructor - + + Raised when the simulator sends us data containing + the objects and effect when an agent is pointing at - - - + + Raised when the simulator sends us data containing + the objects and effect when an agent is looking at - - - + + Raised when the simulator sends us data containing + an agents viewer effect information - - - + + Raised when the simulator sends us data containing + the top picks from an agents profile - - - + + Raised when the simulator sends us data containing + the Pick details - - - + + Raised when the simulator sends us data containing + the classified ads an agent has placed - - - + + Raised when the simulator sends us data containing + the details of a classified ad - - - + + Provides data for the event + The event occurs when the simulator sends + the animation playlist for an agent + + The following code example uses the and + properties to display the animation playlist of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; + + private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) + { + // create a dictionary of "known" animations from the Animations class using System.Reflection + Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); + Type type = typeof(Animations); + System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + foreach (System.Reflection.FieldInfo field in fields) + { + systemAnimations.Add((UUID)field.GetValue(type), field.Name); + } + + // find out which animations being played are known animations and which are assets + foreach (Animation animation in e.Animations) + { + if (systemAnimations.ContainsKey(animation.AnimationID)) + { + Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, + systemAnimations[animation.AnimationID], animation.AnimationSequence); + } + else + { + Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, + animation.AnimationID, animation.AnimationSequence); + } + } + } + + - + + Construct a new instance of the AvatarAnimationEventArgs class + The ID of the agent + The list of animations to start - - - + + Get the ID of the agent - - - + + Get the list of animations to start - - - + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + - + + Construct a new instance of the AvatarAppearanceEventArgs class + The simulator request was from + The ID of the agent + true of the agent is a trial account + The default agent texture + The agents appearance layer textures + The for the agent - - - + + Get the Simulator this request is from of the agent - - - + + Get the ID of the agent - - - + + true if the agent is a trial account - - - + + Get the default agent texture - - - + + Get the agents appearance layer textures - - - + + Get the for the agent - - - + + Represents the interests from the profile of an agent - - - + + Get the ID of the agent - - - + + The properties of an agent - - - + + Get the ID of the agent - - - + + Get the ID of the agent - - - Set the properties that are set in an ObjectPropertiesFamily packet - - - that has - been partially filled by an ObjectPropertiesFamily packet + + Get the ID of the agent - + + Get the ID of the avatar + + - Texture animation mode + - - Disable texture animation + + OK - - Enable texture animation + + Transfer completed - - Loop when animating textures + + - - Animate in reverse direction + + - - Animate forward then reverse + + Unknown error occurred - - Slide texture smoothly instead of frame-stepping + + Equivalent to a 404 error - - Rotate texture instead of using frames + + Client does not have permission for that resource - - Scale texture instead of using frames + + Unknown status - + - A single textured face. Don't instantiate this class yourself, use the - methods in TextureEntry + - + + + + + Unknown + + + Virtually all asset transfers use this channel + + - Contains the definition for individual faces + - - - - - + + + + + Asset from the asset server + + + Inventory item + + + Estate asset, such as an estate covenant - + + - - - + + - - - + + - - - + + - + + - - - + + - - - + + - + + Image file format - + + - - In the future this will specify whether a webpage is - attached to this face + + Number of milliseconds passed since the last transfer + packet was received - + + - + + - - - + - Represents all of the texturable faces for an object + - Grid objects have infinite faces, with each face - using the properties of the default face unless set otherwise. So if - you have a TextureEntry with a default texture uuid of X, and face 18 - has a texture UUID of Y, every face would be textured with X except for - face 18 that uses Y. In practice however, primitives utilize a maximum - of nine faces - + - Constructor that takes a default texture UUID + - Texture UUID to use as the default texture - + - Constructor that takes a TextureEntryFace for the - default face + - Face to use as the default face - + - Constructor that creates the TextureEntry class from a byte array + - Byte array containing the TextureEntry field - Starting position of the TextureEntry field in - the byte array - Length of the TextureEntry field, in bytes + + + + - + + - - - + + Number of milliseconds to wait for a transfer header packet if out of order data was received - - - This will either create a new face if a custom face for the given - index is not defined, or return the custom face for that index if - it already exists - - The index number of the face to create or - retrieve - A TextureEntryFace containing all the properties for that - face + + The event subscribers. null if no subcribers - - - - - - - + + Raises the XferReceived event + A XferReceivedEventArgs object containing the + data returned from the simulator - - - - - + + Thread sync lock object - - - - - + + The event subscribers. null if no subcribers - - - - - + + Raises the AssetUploaded event + A AssetUploadedEventArgs object containing the + data returned from the simulator - - - Controls the texture animation of a particular prim - + + Thread sync lock object - - - - - - - + + The event subscribers. null if no subcribers - - - + + Raises the UploadProgress event + A UploadProgressEventArgs object containing the + data returned from the simulator - - - + + Thread sync lock object - - - + + The event subscribers. null if no subcribers - - - + + Raises the InitiateDownload event + A InitiateDownloadEventArgs object containing the + data returned from the simulator - - - + + Thread sync lock object - - - + + The event subscribers. null if no subcribers - - - + + Raises the ImageReceiveProgress event + A ImageReceiveProgressEventArgs object containing the + data returned from the simulator - - - - - + + Thread sync lock object - + + Texture download cache + + - Current version of the media data for the prim + Default constructor + A reference to the GridClient object - + - Array of media entries indexed by face number + Request an asset download + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + The callback to fire when the simulator responds with the asset data - + + Request an asset download + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + The callback to fire when the simulator responds with the asset data - + + Request an asset download + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + UUID of the transaction + The callback to fire when the simulator responds with the asset data - + + Request an asset download through the almost deprecated Xfer system + Filename of the asset to request + Whether or not to delete the asset + off the server after it is retrieved + Use large transfer packets or not + UUID of the file to request, if filename is + left empty + Asset type of vFileID, or + AssetType.Unknown if filename is not empty + Sets the FilePath in the request to Cache + (4) if true, otherwise Unknown (0) is used + - + + + Use UUID.Zero if you do not have the + asset ID but have all the necessary permissions + The item ID of this asset in the inventory + Use UUID.Zero if you are not requesting an + asset from an object inventory + The owner of this asset + Asset type + Whether to prioritize this asset download or not + - + + Used to force asset data into the PendingUpload property, ie: for raw terrain uploads + An AssetUpload object containing the data to upload to the simulator - + + Request an asset be uploaded to the simulator + The Object containing the asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - + + Request an asset be uploaded to the simulator + The of the asset being uploaded + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - - Foliage type for this primitive. Only applicable if this - primitive is foliage - - - Unknown - - + + Request an asset be uploaded to the simulator + + Asset type to upload this data as + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - + + Initiate an asset upload + The ID this asset will have if the + upload succeeds + Asset type to upload this data as + Raw asset data to upload + Whether to store this asset on the local + simulator or the grid-wide asset server + The tranaction id for the upload + The transaction ID of this transfer - - - + + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress + transfer. + A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority + indicating an off-by-one error. + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + Request an image and fire a callback when the request is complete + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + + Request an image and use an inline anonymous method to handle the downloaded texture data + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + ); + + Request a texture, decode the texture to a bitmap image and apply it to a imagebox + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + ManagedImage imgData; + Image bitmap; + + if (state == TextureRequestState.Finished) + { + OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); + picInsignia.Image = bitmap; + } + } + } + + - + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + The of the texture asset to download + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data - + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data - + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request - + + Cancel a texture request + The texture assets - + + Lets TexturePipeline class fire the progress event + The texture ID currently being downloaded + the number of bytes transferred + the total number of bytes expected - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Identifies the owner if audio or a particle system is - active + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Raised when the simulator responds sends - - - + + Raised during upload completes - - - + + Raised during upload with progres update - - - + + Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files - - - + + Fired when a texture is in the process of being downloaded by the TexturePipeline class - + + Callback used for various asset download requests + Transfer information + Downloaded asset, null on fail - + + Callback used upon competition of baked texture upload + Asset UUID of the newly uploaded baked texture - - - + + Xfer data - - - + + Upload data - - - + + Filename used on the simulator - - - + + Filename used by the client - - Uses basic heuristics to estimate the primitive shape + + UUID of the image that is in progress - - - Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters in to signed eight bit values - - Floating point parameter to pack - Signed eight bit value containing the packed parameter + + Number of bytes received so far - - - Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters from signed eight bit integers to floating point values - - Signed eight bit value to unpack - Unpacked floating point value + + Image size in bytes - + - The type of bump-mapping applied to a face + A set of textures that are layered on texture of each other and "baked" + in to a single texture, for avatar appearances - - - + + Final baked texture - - - + + Component layers - - - + + Width of the final baked image and scratchpad - - - + + Height of the final baked image and scratchpad - - - + + Bake type - + + Default constructor + Bake type - + + Adds layer for baking + TexturaData struct that contains texture and its params - + + Converts avatar texture index (face) to Bake type + Face number (AvatarTextureIndex) + BakeType, layer to which this texture belongs to - + + Make sure images exist, resize source if needed to match the destination + Destination image + Source image + Sanitization was succefull - + + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color + Color of the base of this layer - + + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color + Red value + Green value + Blue value - + + Final baked texture + + + Component layers + + + Width of the final baked image and scratchpad + + + Height of the final baked image and scratchpad + + + Bake type + + + Is this one of the 3 skin bakes + + + Represents a string of characters encoded with specific formatting properties - + + A text string containing main text of the notecard + + + List of s embedded on the notecard + + + Construct an Asset of type Notecard + + + Construct an Asset object of type Notecard + A unique specific to this asset + A byte array containing the raw asset data - + + Encode the raw contents of a string with the specific Linden Text properties - + + Decode the raw asset data including the Linden Text properties + true if the AssetData was successfully decoded - - - + + Override the base classes AssetType - + + Add a custom decoder callback + The key of the field to decode + The custom decode handler - + + Remove a custom decoder callback + The key of the field to decode + The custom decode handler - + - The level of shininess applied to a face + Creates a formatted string containing the values of a Packet + The Packet + A formatted string of values of the nested items in the Packet object - + + Decode an IMessage object into a beautifully formatted string + The IMessage object + Recursion level (used for indenting) + A formatted string containing the names and values of the source object - + + A custom decoder callback + The key of the object + the data to decode + A string represending the fieldData - + + Registers, unregisters, and fires events generated by incoming packets - - - + + Reference to the GridClient object - + - The texture mapping style used for a face + Default constructor + - + + Register an event handler + Use PacketType.Default to fire this event on every + incoming packet + Packet type to register the handler for + Callback to be fired + True if this callback should be ran + asynchronously, false to run it synchronous - + + Unregister an event handler + Packet type to unregister the handler for + Callback to be unregistered - + + Fire the events registered for this packet type + Incoming packet type + Incoming packet + Simulator this packet was received from - + + Object that is passed to worker threads in the ThreadPool for + firing packet callbacks - - - Flags in the TextureEntry block that describe which properties are - set - + + Callback to fire for this packet - + + Reference to the simulator that this packet came from + + + The packet that needs to be processed + + + Registers, unregisters, and fires events generated by the Capabilities + event queue - + + Reference to the GridClient object + + + Default constructor + Reference to the GridClient object - + + Register an new event handler for a capabilities event sent via the EventQueue + Use String.Empty to fire this event on every CAPS event + Capability event name to register the + handler for + Callback to fire - + + Unregister a previously registered capabilities handler + Capability event name unregister the + handler for + Callback to unregister - + + Fire the events registered for this event type synchronously + Capability name + Decoded event body + Reference to the simulator that + generated this event - + + Fire the events registered for this event type asynchronously + Capability name + Decoded event body + Reference to the simulator that + generated this event - + + Object that is passed to worker threads in the ThreadPool for + firing CAPS callbacks - + + Callback to fire for this packet + + + Name of the CAPS event + + + Strongly typed decoded data + + + Reference to the simulator that generated this event + + + Represends individual HTTP Download request - + + URI of the item to fetch + + + Timout specified in milliseconds + + + Download progress callback + + + Download completed callback + + + Accept the following content type + + + Default constructor + + + Constructor + + + Manages async HTTP downloads with a limit on maximum + concurrent downloads - + + Default constructor + + + Cleanup method + + + Setup http download request + + + Check the queue for pending work + + + Enqueue a new HTPP download + + + Maximum number of parallel downloads from a single endpoint + + + Client certificate + + + Index of TextureEntry slots for avatar appearances - + + Bake layers for avatar appearance - - - + + Maximum number of concurrent downloads for wearable assets and textures + + + Maximum number of concurrent uploads for baked textures + + + Timeout for fetching inventory listings + + + Timeout for fetching a single wearable, or receiving a single packet response + + + Timeout for fetching a single texture + + + Timeout for uploading a single baked texture + + + Number of times to retry bake upload + + + When changing outfit, kick off rebake after + 20 seconds has passed since the last change + + + Total number of wearables for each avatar + + + Total number of baked textures on each avatar + + + Total number of wearables per bake layer + + + Total number of textures on an avatar, baked or not + + + Mapping between BakeType and AvatarTextureIndex + + + Map of what wearables are included in each bake + + + Magic values to finalize the cache check hashes for each + bake + + + Default avatar texture, used to detect when a custom + texture is not set for a face + + + The event subscribers. null if no subcribers + + + Raises the AgentWearablesReply event + An AgentWearablesReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers - - - Level of Detail mesh - + + Raises the CachedBakesReply event + An AgentCachedBakesReplyEventArgs object containing the + data returned from the data server AgentCachedTextureResponse - - - Constructor for default logging settings - + + Thread sync lock object - - Enable logging + + The event subscribers. null if no subcribers - - The folder where any logs will be created + + Raises the AppearanceSet event + An AppearanceSetEventArgs object indicating if the operatin was successfull - - This will be prepended to beginning of each log file + + Thread sync lock object - - The suffix or extension to be appended to each log file + + The event subscribers. null if no subcribers - - - 0: NONE - No logging - 1: ERROR - Log errors only - 2: WARNING - Log errors and warnings - 3: INFO - Log errors, warnings and info - 4: DEBUG - Log errors, warnings, info and debug - + + Raises the RebakeAvatarRequested event + An RebakeAvatarTexturesEventArgs object containing the + data returned from the data server - - Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - - - Event for most mundane request reposnses. - + + Thread sync lock object - - Response to Connector.Create request + + A cache of wearables currently being worn - - Response to Aux.GetCaptureDevices request + + A cache of textures currently being worn - - Response to Aux.GetRenderDevices request + + Incrementing serial number for AgentCachedTexture packets - - Audio Properties Events are sent after audio capture is started. - These events are used to display a microphone VU meter + + Incrementing serial number for AgentSetAppearance packets - - Response to Account.Login request + + Indicates whether or not the appearance thread is currently + running, to prevent multiple appearance threads from running + simultaneously - - This event message is sent whenever the login state of the - particular Account has transitioned from one value to another + + Reference to our agent - + - List of audio input devices + Timer used for delaying rebake on changing outfit - + - List of audio output devices + Main appearance thread - + - Set audio test mode + Default constructor + A reference to our agent - + - This is used to login a specific user account(s). It may only be called after - Connector initialization has completed successfully + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread - Handle returned from successful Connector �create� request - User's account name - User's account password - Values may be �AutoAnswer� or �VerifyAnswer� - "" - This is an integer that specifies how often - the daemon will send participant property events while in a channel. If this is not set - the default will be �on state change�, which means that the events will be sent when - the participant starts talking, stops talking, is muted, is unmuted. - The valid values are: - 0 � Never - 5 � 10 times per second - 10 � 5 times per second - 50 � 1 time per second - 100 � on participant state change (this is the default) - false - - - + - This is used to logout a user session. It should only be called with a valid AccountHandle. + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread - Handle returned from successful Connector �login� request - - + Unused parameter - + - This is used to get a list of audio devices that can be used for capture (input) of voice. + Starts the appearance setting thread - - - + - This is used to get a list of audio devices that can be used for render (playback) of voice. + Starts the appearance setting thread + True to force rebaking, otherwise false - + - This command is used to select the render device. + Ask the server what textures our agent is currently wearing - The name of the device as returned by the Aux.GetRenderDevices command. - + - This command is used to select the capture device. + Build hashes out of the texture assetIDs for each baking layer to + ask the simulator whether it has cached copies of each baked texture - The name of the device as returned by the Aux.GetCaptureDevices command. - + - This command is used to start the audio capture process which will cause - AuxAudioProperty Events to be raised. These events can be used to display a - microphone VU meter for the currently selected capture device. This command - should not be issued if the user is on a call. + Returns the AssetID of the asset that is currently being worn in a + given WearableType slot - (unused but required) - - + WearableType slot to get the AssetID for + The UUID of the asset being worn in the given slot, or + UUID.Zero if no wearable is attached to the given slot or wearables + have not been downloaded yet - + - This command is used to stop the audio capture process. + Add a wearable to the current outfit and set appearance - - + Wearable to be added to the outfit - + - This command is used to set the mic volume while in the audio tuning process. - Once an acceptable mic level is attained, the application must issue a - connector set mic volume command to have that level be used while on voice - calls. + Add a list of wearables to the current outfit and set appearance - the microphone volume (-100 to 100 inclusive) - - + List of wearable inventory items to + be added to the outfit - + - This command is used to set the speaker volume while in the audio tuning - process. Once an acceptable speaker level is attained, the application must - issue a connector set speaker volume command to have that level be used while - on voice calls. + Remove a wearable from the current outfit and set appearance - the speaker volume (-100 to 100 inclusive) - - + Wearable to be removed from the outfit - + - This is used to initialize and stop the Connector as a whole. The Connector - Create call must be completed successfully before any other requests are made - (typically during application initialization). The shutdown should be called - when the application is shutting down to gracefully release resources + Removes a list of wearables from the current outfit and set appearance - A string value indicting the Application name - URL for the management server - LoggingSettings - - - - + List of wearable inventory items to + be removed from the outfit - + - Shutdown Connector -- Should be called when the application is shutting down - to gracefully release resources + Replace the current outfit with a list of wearables and set appearance - Handle returned from successful Connector �create� request + List of wearable inventory items that + define a new outfit - + - Mute or unmute the microphone + Checks if an inventory item is currently being worn - Handle returned from successful Connector �create� request - true (mute) or false (unmute) + The inventory item to check against the agent + wearables + The WearableType slot that the item is being worn in, + or WearbleType.Invalid if it is not currently being worn - + - Mute or unmute the speaker + Returns a copy of the agents currently worn wearables - Handle returned from successful Connector �create� request - true (mute) or false (unmute) + A copy of the agents currently worn wearables + Avoid calling this function multiple times as it will make + a copy of all of the wearable data each time - + - Set microphone volume + Calls either or + depending on the value of + replaceItems - Handle returned from successful Connector �create� request - The level of the audio, a number between -100 and 100 where - 0 represents �normal� speaking volume + List of wearable inventory items to add + to the outfit or become a new outfit + True to replace existing items with the + new list of items, false to add these items to the existing outfit - + - Set local speaker volume + Adds a list of attachments to our agent - Handle returned from successful Connector �create� request - The level of the audio, a number between -100 and 100 where - 0 represents �normal� speaking volume + A List containing the attachments to add + If true, tells simulator to remove existing attachment + first - + - Start up the Voice service. + Attach an item to our agent at a specific attach point + A to attach + the on the avatar + to attach the item to - - - Handle miscellaneous request status - - - - - - ///If something goes wrong, we log it. - + - Cleanup oject resources + Attach an item to our agent specifying attachment details + The of the item to attach + The attachments owner + The name of the attachment + The description of the attahment + The to apply when attached + The of the attachment + The on the agent + to attach the item to - + - Request voice cap when changing regions + Detach an item from our agent using an object + An object - + - Handle a change in session state + Detach an item from our agent + The inventory itemID of the item to detach - + - Close a voice session + Inform the sim which wearables are part of our current outfit - - - + - Locate a Session context from its handle + Replaces the Wearables collection with a list of new wearable items - Creates the session context if it does not exist. + Wearable items to replace the Wearables collection with - + - Handle completion of main voice cap request. + Calculates base color/tint for a specific wearable + based on its params - - - - - - + All the color info gathered from wearable's VisualParams + passed as list of ColorParamInfo tuples + Base color/tint for the wearable - + - Daemon has started so connect to it. + Blocking method to populate the Wearables dictionary + True on success, otherwise false - + - The daemon TCP connection is open. + Blocking method to populate the Textures array with cached bakes + True on success, otherwise false - + - Handle creation of the Connector. + Populates textures and visual params from a decoded asset + Wearable to decode - + - Handle response to audio output device query + Blocking method to download and parse currently worn wearable assets + True on success, otherwise false - + - Handle response to audio input device query + Get a list of all of the textures that need to be downloaded for a + single bake layer + Bake layer to get texture AssetIDs for + A list of texture AssetIDs to download - + - Set voice channel for new parcel + Helper method to lookup the TextureID for a single layer and add it + to a list if it is not already present + + - + - Request info from a parcel capability Uri. + Blocking method to download all of the textures needed for baking + the given bake layers - - + A list of layers that need baking + No return value is given because the baking will happen + whether or not all textures are successfully downloaded - + - Receive parcel voice cap + Blocking method to create and upload baked textures for all of the + missing bakes - - - - - - + True on success, otherwise false - + - Tell Vivox where we are standing + Blocking method to create and upload a baked texture for a single + bake layer - This has to be called when we move or turn. + Layer to bake + True on success, otherwise false - + - Start and stop updating out position. + Blocking method to upload a baked texture - - + Five channel JPEG2000 texture data to upload + UUID of the newly created asset on success, otherwise UUID.Zero - + - Starts a thread that keeps the daemon running + Creates a dictionary of visual param values from the downloaded wearables - - - - + A dictionary of visual param indices mapping to visual param + values for our agent that can be fed to the Baker class - + - Stops the daemon and the thread keeping it running + Create an AgentSetAppearance packet from Wearables data and the + Textures array and send it - + + Converts a WearableType to a bodypart or clothing WearableType - - - - - - + A WearableType + AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - + - Create a Session - Sessions typically represent a connection to a media session with one or more - participants. This is used to generate an �outbound� call to another user or - channel. The specifics depend on the media types involved. A session handle is - required to control the local user functions within the session (or remote - users if the current account has rights to do so). Currently creating a - session automatically connects to the audio media, there is no need to call - Session.Connect at this time, this is reserved for future use. + Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - Handle returned from successful Connector �create� request - This is the URI of the terminating point of the session (ie who/what is being called) - This is the display name of the entity being called (user or channel) - Only needs to be supplied when the target URI is password protected - This indicates the format of the password as passed in. This can either be - �ClearText� or �SHA1UserName�. If this element does not exist, it is assumed to be �ClearText�. If it is - �SHA1UserName�, the password as passed in is the SHA1 hash of the password and username concatenated together, - then base64 encoded, with the final �=� character stripped off. - - - - - - + A BakeType + The AvatarTextureIndex slot that holds the given BakeType - + - Used to accept a call + Gives the layer number that is used for morph mask - SessionHandle such as received from SessionNewEvent - "default" - - + >A BakeType + Which layer number as defined in BakeTypeToTextures is used for morph mask - + - This command is used to start the audio render process, which will then play - the passed in file through the selected audio render device. This command - should not be issued if the user is on a call. + Converts a BakeType to a list of the texture slots that make up that bake - The fully qualified path to the sound file. - True if the file is to be played continuously and false if it is should be played once. - - + A BakeType + A list of texture slots that are inputs for the given bake - + + Triggered when an AgentWearablesUpdate packet is received, + telling us what our avatar is currently wearing + request. + + + Raised when an AgentCachedTextureResponse packet is + received, giving a list of cached bakes that were found on the + simulator + request. + + - This command is used to stop the audio render process. + Raised when appearance data is sent to the simulator, also indicates + the main appearance thread is finished. - The fully qualified path to the sound file issued in the start render command. - - + request. - + - This is used to �end� an established session (i.e. hang-up or disconnect). + Triggered when the simulator requests the agent rebake its appearance. - Handle returned from successful Session �create� request or a SessionNewEvent - - + - + - Set the combined speaking and listening position in 3D space. + Returns true if AppearanceManager is busy and trying to set or change appearance will fail - Handle returned from successful Session �create� request or a SessionNewEvent - Speaking position - Listening position - - - + - Set User Volume for a particular user. Does not affect how other users hear that user. + Contains information about a wearable inventory item - Handle returned from successful Session �create� request or a SessionNewEvent - - - The level of the audio, a number between -100 and 100 where 0 represents �normal� speaking volume - - - - Positional vector of the users position + + Inventory ItemID of the wearable - - Velocity vector of the position + + AssetID of the wearable asset - - At Orientation (X axis) of the position + + WearableType of the wearable - - Up Orientation (Y axis) of the position + + AssetType of the wearable - - Left Orientation (Z axis) of the position + + Asset data for the wearable - + - Extract the avatar UUID encoded in a SIP URI + Data collected from visual params for each wearable + needed for the calculation of the color - - - - - + - Represents a single Voice Session to the Vivox service. + Holds a texture assetID and the data needed to bake this layer into + an outfit texture. Used to keep track of currently worn textures + and baking data - - - Close this session. - + + A texture AssetID - - - Look up an existing Participants in this session - - - - - + + Asset data for the texture - + + Collection of alpha masks that needs applying + + + Tint that should be applied to the texture + + + Contains the Event data returned from the data server from an AgentWearablesRequest + + + Construct a new instance of the AgentWearablesReplyEventArgs class + + + Contains the Event data returned from the data server from an AgentCachedTextureResponse + + + Construct a new instance of the AgentCachedBakesReplyEventArgs class + + + Contains the Event data returned from an AppearanceSetRequest + + - - - - - + Triggered when appearance data is sent to the sim and + the main appearance thread is done. + Indicates whether appearance setting was successful - + + Indicates whether appearance setting was successful + + + Contains the Event data returned from the data server from an RebakeAvatarTextures + + - A callback fired to indicate the status or final state of the requested texture. For progressive - downloads this will fire each time new asset data is returned from the simulator. + Triggered when the simulator sends a request for this agent to rebake + its appearance - The indicating either Progress for textures not fully downloaded, - or the final result of the request after it has been processed through the TexturePipeline - The object containing the Assets ID, raw data - and other information. For progressive rendering the will contain - the data from the beginning of the file. For failed, aborted and timed out requests it will contain - an empty byte array. + The ID of the Texture Layer to bake + + + The ID of the Texture Layer to bake diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index b9c73b7..8f02186 100644 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverse.dll.config b/bin/OpenMetaverse.dll.config index dc36a45..13fdc11 100644 --- a/bin/OpenMetaverse.dll.config +++ b/bin/OpenMetaverse.dll.config @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML index 69e5c1b..9b19851 100644 --- a/bin/OpenMetaverseTypes.XML +++ b/bin/OpenMetaverseTypes.XML @@ -1,239 +1,23 @@ - /home/root/libopenmetaverse/bin/OpenMetaverseTypes + OpenMetaverseTypes - - - Same as Queue except Dequeue function blocks until there is an object to return. - Note: This class does not need to be synchronized - - - - - Create new BlockingQueue. - - The System.Collections.ICollection to copy elements from - - - - Create new BlockingQueue. - - The initial number of elements that the queue can contain - - - - Create new BlockingQueue. - - - - - Gets flag indicating if queue has been closed. - - - - - BlockingQueue Destructor (Close queue, resume any waiting thread). - - - - - Remove all objects from the Queue. - - - - - Remove all objects from the Queue, resume all dequeue threads. - - - - - Removes and returns the object at the beginning of the Queue. - - Object in queue. - - - - Removes and returns the object at the beginning of the Queue. - - time to wait before returning - Object in queue. - - - - Removes and returns the object at the beginning of the Queue. - - time to wait before returning (in milliseconds) - Object in queue. - - - - Adds an object to the end of the Queue - - Object to put in queue - - - - Open Queue. - - - - - Copy constructor - - Circular queue to copy - - - - An 8-bit color structure including an alpha channel - - - - - - - - - - - - - - - - - Builds a color from a byte array - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - - - - Returns the raw bytes for this vector - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - A 16 byte array containing R, G, B, and A - - - - Copy constructor - - Color to copy - - - Red - - - Green - - - Blue - - - Alpha - - - A Color4 with zero RGB values and fully opaque (alpha 1.0) - - - A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) - - - - IComparable.CompareTo implementation - - Sorting ends up like this: |--Grayscale--||--Color--|. - Alpha is only used when the colors are otherwise equivalent - - - - Builds a color from a byte array - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - - - - Writes the raw bytes for this color to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - - - - Serializes this color into four bytes in a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 4 bytes before the end of the array - True to invert the output (1.0 becomes 0 - instead of 255) - - - - Writes the raw bytes for this color to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - - - - Ensures that values are in range 0-1 - - - - - Create an RGB color from a hue, saturation, value combination - - Hue - Saturation - Value - An fully opaque RGB color (alpha is 1.0) - - - - Performs linear interpolation between two colors - - Color to start at - Color to end at - Amount to interpolate - The interpolated color - Attribute class that allows extra attributes to be attached to ENUMs + + Text used when presenting ENUM to user + Default initializer Text used when presenting ENUM to user - - Text used when presenting ENUM to user - The different types of grid assets @@ -255,11 +39,11 @@ Link to a location in world - Collection of textures and parameters that can be + Collection of textures and parameters that can be worn by an avatar - Primitive that can contain textures, sounds, + Primitive that can contain textures, sounds, scripts and more @@ -367,42 +151,34 @@ Notecard - - + Folder - - + an LSL Script - - + - - + - - + - - + - - + - - + @@ -474,1830 +250,1734 @@ Invalid wearable asset - + - Identifier code for primitive types + Copy constructor + Circular queue to copy - - None - - - A Primitive + + X value - - A Avatar + + Y value - - Linden grass + + Z value - - Linden tree + + W value - - A primitive that acts as the source for a particle stream - - - A Linden tree - - + - Primary parameters for primitives such as Physics Enabled or Phantom + Build a quaternion from normalized float values + X value from -1.0 to 1.0 + Y value from -1.0 to 1.0 + Z value from -1.0 to 1.0 - - Deprecated - - - Whether physics are enabled for this object - - + + Constructor, builds a quaternion object from a byte array + Byte array containing four four-byte floats + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. - + + Normalizes the quaternion - + + Builds a quaternion object from a byte array + The source byte array + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. - + + Normalize this quaternion and serialize it to a byte array + A 12 byte array containing normalized X, Y, and Z floating + point values in order using little endian byte ordering - + + Writes the raw bytes for this quaternion to a byte array + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array - + + Convert this quaternion to euler angles + X euler angle + Y euler angle + Z euler angle - - Whether this object contains an active touch script - - + + Convert this quaternion to an angle around an axis + Unit vector describing the axis + Angle around the axis, in radians - - Whether this object can receive payments - - - Whether this object is phantom (no collisions) - - + + Returns the conjugate (spatial inverse) of a quaternion - + + Build a quaternion from an axis and an angle of rotation around + that axis - + + Build a quaternion from an axis and an angle of rotation around + that axis + Axis of rotation + Angle of rotation - + + Creates a quaternion from a vector containing roll, pitch, and yaw + in radians + Vector representation of the euler angles in + radians + Quaternion representation of the euler angles - - Deprecated - - + + Creates a quaternion from roll, pitch, and yaw euler angles in + radians + X angle in radians + Y angle in radians + Z angle in radians + Quaternion representation of the euler angles - + + Conjugates and renormalizes a vector - + + Spherical linear interpolation between two quaternions - - Deprecated - - + + Get a string representation of the quaternion elements with up to three + decimal digits and separated by spaces only + Raw string representation of the quaternion - - - + + A quaternion with a value of 0,0,0,1 - + + A hierarchical token bucket for bandwidth throttling. See + http://en.wikipedia.org/wiki/Token_bucket for more information - - - + + Parent bucket to this bucket, or null if this is a root + bucket - - Server flag, will not be sent to clients. Specifies that - the object is destroyed when it touches a simulator edge + + Size of the bucket in bytes. If zero, the bucket has + infinite capacity - - Server flag, will not be sent to clients. Specifies that - the object will be returned to the owner's inventory when it - touches a simulator edge + + Rate that the bucket fills, in bytes per millisecond. If + zero, the bucket always remains full - - Server flag, will not be sent to clients. + + Number of tokens currently in the bucket - - Server flag, will not be sent to client. Specifies that - the object is hovering/flying + + Time of the last drip, in system ticks - + + Default constructor + Parent bucket if this is a child bucket, or + null if this is a root bucket + Maximum size of the bucket in bytes, or + zero if this bucket has no maximum capacity + Rate that the bucket fills, in bytes per + second. If zero, the bucket always remains full - + + Remove a given number of tokens from the bucket + Number of tokens to remove from the bucket + True if the requested number of tokens were removed from + the bucket, otherwise false - + + Remove a given number of tokens from the bucket + Number of tokens to remove from the bucket + True if tokens were added to the bucket + during this call, otherwise false + True if the requested number of tokens were removed from + the bucket, otherwise false - + + Add tokens to the bucket over time. The number of tokens added each + call depends on the length of time that has passed since the last + call to Drip + True if tokens were added to the bucket, otherwise false - + - Sound flags for sounds attached to primitives + The parent bucket of this bucket, or null if this bucket has no + parent. The parent bucket will limit the aggregate bandwidth of all + of its children buckets - + + Maximum burst rate in bytes per second. This is the maximum number + of tokens that can accumulate in the bucket at any one time - + + The speed limit of this bucket in bytes per second. This is the + number of tokens that are added to the bucket per second + Tokens are added to the bucket any time + is called, at the granularity of + the system tick interval (typically around 15-22ms) - + + The number of bytes that can be sent at this moment. This is the + current number of tokens in the bucket + If this bucket has a parent bucket that does not have + enough tokens for a request, will + return false regardless of the content of this bucket - + + Same as Queue except Dequeue function blocks until there is an object to return. + Note: This class does not need to be synchronized - + + Create new BlockingQueue. + The System.Collections.ICollection to copy elements from - + + Create new BlockingQueue. + The initial number of elements that the queue can contain - + + Create new BlockingQueue. - + - Material type for a primitive + BlockingQueue Destructor (Close queue, resume any waiting thread). - + + Remove all objects from the Queue. - + + Remove all objects from the Queue, resume all dequeue threads. - + + Removes and returns the object at the beginning of the Queue. + Object in queue. - + + Removes and returns the object at the beginning of the Queue. + time to wait before returning + Object in queue. - + + Removes and returns the object at the beginning of the Queue. + time to wait before returning (in milliseconds) + Object in queue. - + + Adds an object to the end of the Queue + Object to put in queue - + + Open Queue. - + + Gets flag indicating if queue has been closed. - + - Used in a helper function to roughly determine prim shape + Determines the appropriate events to set, leaves the locks, and sets the events. - + - Extra parameters for primitives, these flags are for features that have - been added after the original ObjectFlags that has all eight bits - reserved already + A routine for lazily creating a event outside the lock (so if errors + happen they are outside the lock and that we don't do much work + while holding a spin lock). If all goes well, reenter the lock and + set 'waitEvent' - - Whether this object has flexible parameters + + + Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. + Before the wait 'numWaiters' is incremented and is restored before leaving this routine. + - - Whether this object has light parameters + + Used for converting degrees to radians - - Whether this object is a sculpted prim + + Used for converting radians to degrees - + + Convert the first two bytes starting in the byte array in + little endian ordering to a signed short integer + An array two bytes or longer + A signed short integer, will be zero if a short can't be + read at the given position - + + Convert the first two bytes starting at the given position in + little endian ordering to a signed short integer + An array two bytes or longer + Position in the array to start reading + A signed short integer, will be zero if a short can't be + read at the given position - + + Convert the first four bytes starting at the given position in + little endian ordering to a signed integer + An array four bytes or longer + Position to start reading the int from + A signed integer, will be zero if an int can't be read + at the given position - + + Convert the first four bytes of the given array in little endian + ordering to a signed integer + An array four bytes or longer + A signed integer, will be zero if the array contains + less than four bytes - + + Convert the first eight bytes of the given array in little endian + ordering to a signed long integer + An array eight bytes or longer + A signed long integer, will be zero if the array contains + less than eight bytes - + + Convert the first eight bytes starting at the given position in + little endian ordering to a signed long integer + An array eight bytes or longer + Position to start reading the long from + A signed long integer, will be zero if a long can't be read + at the given position - + + Convert the first two bytes starting at the given position in + little endian ordering to an unsigned short + Byte array containing the ushort + Position to start reading the ushort from + An unsigned short, will be zero if a ushort can't be read + at the given position - + + Convert two bytes in little endian ordering to an unsigned short + Byte array containing the ushort + An unsigned short, will be zero if a ushort can't be + read - + + Convert the first four bytes starting at the given position in + little endian ordering to an unsigned integer + Byte array containing the uint + Position to start reading the uint from + An unsigned integer, will be zero if a uint can't be read + at the given position - + + Convert the first four bytes of the given array in little endian + ordering to an unsigned integer + An array four bytes or longer + An unsigned integer, will be zero if the array contains + less than four bytes - + + Convert the first eight bytes of the given array in little endian + ordering to an unsigned 64-bit integer + An array eight bytes or longer + An unsigned 64-bit integer, will be zero if the array + contains less than eight bytes - + + Convert four bytes in little endian ordering to a floating point + value + Byte array containing a little ending floating + point value + Starting position of the floating point value in + the byte array + Single precision value - + + Convert an integer to a byte array in little endian format + The integer to convert + A four byte little endian array - + + Convert an integer to a byte array in big endian format + The integer to convert + A four byte big endian array - + + Convert a 64-bit integer to a byte array in little endian format + The value to convert + An 8 byte little endian array - + + Convert a 64-bit unsigned integer to a byte array in little endian + format + The value to convert + An 8 byte little endian array - + + Convert a floating point value to four bytes in little endian + ordering + A floating point value + A four byte array containing the value in little endian + ordering - + + Converts an unsigned integer to a hexadecimal string + An unsigned integer to convert to a string + A hexadecimal string 10 characters long + 0x7fffffff - + + Convert a variable length UTF8 byte array to a string + The UTF8 encoded byte array to convert + The decoded string - + + Converts a byte array to a string containing hexadecimal characters + The byte array to convert to a string + The name of the field to prepend to each + line of the string + A string containing hexadecimal characters on multiple + lines. Each line is prepended with the field name - + + Converts a byte array to a string containing hexadecimal characters + The byte array to convert to a string + Number of bytes in the array to parse + A string to prepend to each line of the hex + dump + A string containing hexadecimal characters on multiple + lines. Each line is prepended with the field name - + + Convert a string to a UTF8 encoded byte array + The string to convert + A null-terminated UTF8 byte array - + + Converts a string containing hexadecimal characters to a byte array + String containing hexadecimal characters + If true, gracefully handles null, empty and + uneven strings as well as stripping unconvertable characters + The converted byte array - + + Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) + Character to test + true if hex digit, false if not - + + Converts 1 or 2 character string into equivalant byte value + 1 or 2 character string + byte - + + Convert a float value to a byte given a minimum and maximum range + Value to convert to a byte + Minimum value range + Maximum value range + A single byte representing the original float value - + + Convert a byte to a float value given a minimum and maximum range + Byte array to get the byte from + Position in the byte array the desired byte is at + Minimum value range + Maximum value range + A float value inclusively between lower and upper - + + Convert a byte to a float value given a minimum and maximum range + Byte to convert to a float value + Minimum value range + Maximum value range + A float value inclusively between lower and upper - + + Attempts to parse a floating point value from a string, using an + EN-US number format + String to parse + Resulting floating point number + True if the parse was successful, otherwise false - + + Attempts to parse a floating point value from a string, using an + EN-US number format + String to parse + Resulting floating point number + True if the parse was successful, otherwise false - + + Tries to parse an unsigned 32-bit integer from a hexadecimal string + String to parse + Resulting integer + True if the parse was successful, otherwise false - + - Attachment points for objects on avatar bodies + Returns text specified in EnumInfo attribute of the enumerator + To add the text use [EnumInfo(Text = "Some nice text here")] before declaration + of enum values - - Both InventoryObject and InventoryAttachment types can be attached - - - - Right hand if object was not previously attached + Enum value + Text representation of the enum - - Chest + + + Takes an AssetType and returns the string representation + + The source + The string version of the AssetType - - Skull + + + Translate a string name of an AssetType into the proper Type + + A string containing the AssetType name + The AssetType which matches the string name, or AssetType.Unknown if no match was found - - Left shoulder + + + Convert an InventoryType to a string + + The to convert + A string representation of the source - - Right shoulder - - - Left hand - - - Right hand - - - Left foot - - - Right foot - - - Spine - - - Pelvis - - - Mouth - - - Chin - - - Left ear - - - Right ear - - - Left eyeball - - - Right eyeball - - - Nose - - - Right upper arm - - - Right forearm - - - Left upper arm - - - Left forearm - - - Right hip - - - Right upper leg - - - Right lower leg - - - Left hip - - - Left upper leg - - - Left lower leg - - - Stomach - - - Left pectoral - - - Right pectoral - - - HUD Center position 2 - - - HUD Top-right - - - HUD Top - - - HUD Top-left - - - HUD Center - - - HUD Bottom-left - - - HUD Bottom - - - HUD Bottom-right - - + - Tree foliage types + Convert a string into a valid InventoryType + A string representation of the InventoryType to convert + A InventoryType object which matched the type - - Pine1 tree - - - Oak tree - - - Tropical Bush1 - - - Palm1 tree - - - Dogwood tree - - - Tropical Bush2 - - - Palm2 tree - - - Cypress1 tree - - - Cypress2 tree - - - Pine2 tree - - - Plumeria - - - Winter pinetree1 - - - Winter Aspen tree - - - Winter pinetree2 - - - Eucalyptus tree - - - Fern - - - Eelgrass + + + Convert a SaleType to a string + + The to convert + A string representation of the source - - Sea Sword + + + Convert a string into a valid SaleType + + A string representation of the SaleType to convert + A SaleType object which matched the type - - Kelp1 plant + + + Converts a string used in LLSD to AttachmentPoint type + + String representation of AttachmentPoint to convert + AttachmentPoint enum - - Beach grass + + + Copy a byte array + + Byte array to copy + A copy of the given byte array - - Kelp2 plant + + + Packs to 32-bit unsigned integers in to a 64-bit unsigned integer + + The left-hand (or X) value + The right-hand (or Y) value + A 64-bit integer containing the two 32-bit input values - + - Grass foliage types + Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer + The 64-bit input integer + The left-hand (or X) output value + The right-hand (or Y) output value - + + Convert an IP address object to an unsigned 32-bit integer + IP address to convert + 32-bit unsigned integer holding the IP address bits - + + Gets a unix timestamp for the current time + An unsigned integer representing a unix timestamp for now - + + Convert a UNIX timestamp to a native DateTime object + An unsigned integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - + + Convert a UNIX timestamp to a native DateTime object + A signed integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - + + Convert a native DateTime object to a UNIX timestamp + A DateTime object you want to convert to a + timestamp + An unsigned integer representing a UNIX timestamp - + + Swap two values + Type of the values to swap + First value + Second value - + - Action associated with clicking on an object + Try to parse an enumeration value from a string + Enumeration type + String value to parse + Enumeration value on success + True if the parsing succeeded, otherwise false - - Touch object + + + Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa + + Byte to swap the words in + Byte value with the words swapped - - Sit on object - - - Purchase object or contents - - - Pay the object + + + Attempts to convert a string representation of a hostname or IP + address to a + + Hostname to convert to an IPAddress + Converted IP address object, or null if the conversion + failed - - Open task inventory + + Provide a single instance of the CultureInfo class to + help parsing in situations where the grid assumes an en-us + culture - - Play parcel media + + UNIX epoch in DateTime format - - Open parcel media + + Provide a single instance of the MD5 class to avoid making + duplicate copies and handle thread safety - - For thread safety + + Provide a single instance of the SHA-1 class to avoid + making duplicate copies and handle thread safety - - For thread safety + + Provide a single instance of a random number generator + to avoid making duplicate copies and handle thread safety - + - Purges expired objects from the cache. Called automatically by the purge timer. + Clamp a given value between a range + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - A thread-safe lockless queue that supports multiple readers and - multiple writers + Clamp a given value between a range + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - Constructor + Clamp a given value between a range + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - Provides a node container for data in a singly linked list + Round a floating-point value to the nearest integer + Floating point number to round + Integer - + - Constructor + Test if a single precision float is a finite number - + - Constructor + Test if a double precision float is a finite number - - Pointer to the next node in list - - - The data contained by the node - - - Queue head - - - Queue tail - - - Queue item count - - - Gets the current number of items in the queue. Since this - is a lockless collection this value should be treated as a close - estimate - - + - Enqueue an item + Get the distance between two floating-point values - Item to enqeue + First value + Second value + The distance between the two values - + - Try to dequeue an item + Compute the MD5 hash for a byte array - Dequeued item if the dequeue was successful - True if an item was successfully deqeued, otherwise false - - - A 4x4 matrix containing all zeroes - - - A 4x4 identity matrix + Byte array to compute the hash for + MD5 hash of the input data - + - Convert this matrix to euler rotations + Compute the SHA1 hash for a byte array - X euler angle - Y euler angle - Z euler angle + Byte array to compute the hash for + SHA1 hash of the input data - + - Convert this matrix to a quaternion rotation + Calculate the SHA1 hash of a given string - A quaternion representation of this rotation matrix + The string to hash + The SHA1 hash as a string - + - Construct a matrix from euler rotation values in radians + Compute the SHA256 hash for a byte array - X euler angle in radians - Y euler angle in radians - Z euler angle in radians + Byte array to compute the hash for + SHA256 hash of the input data - + - Get a formatted string representation of the vector + Calculate the SHA256 hash of a given string - A string representation of the vector + The string to hash + The SHA256 hash as a string - + - Provides helper methods for parallelizing loops + Calculate the MD5 hash of a given string + The password to hash + An MD5 hash in string format, with $1$ prepended - + - Executes a for loop in which iterations may run in parallel + Calculate the MD5 hash of a given string - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop + The string to hash + The MD5 hash as a string - + - Executes a for loop in which iterations may run in parallel + Generate a random double precision floating point value - The number of concurrent execution threads to run - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop + Random value of type double - + - Executes a foreach loop in which iterations may run in parallel + Get the current running platform - Object type that the collection wraps - An enumerable collection to iterate over - Method body to run for each object in the collection + Enumeration of the current platform we are running on - + - Executes a foreach loop in which iterations may run in parallel + Get the current running runtime - Object type that the collection wraps - The number of concurrent execution threads to run - An enumerable collection to iterate over - Method body to run for each object in the collection + Enumeration of the current runtime we are running on - + - Executes a series of tasks in parallel + Operating system - A series of method bodies to execute - - - Executes a series of tasks in parallel - - The number of concurrent execution threads to run - A series of method bodies to execute + + Unknown - - - Build a quaternion from normalized float values - - X value from -1.0 to 1.0 - Y value from -1.0 to 1.0 - Z value from -1.0 to 1.0 + + Microsoft Windows - - - Constructor, builds a quaternion object from a byte array - - Byte array containing four four-byte floats - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. + + Microsoft Windows CE - - X value + + Linux - - Y value + + Apple OSX - - Z value + + + Runtime platform + - - W value + + .NET runtime - - A quaternion with a value of 0,0,0,1 + + Mono runtime: http://www.mono-project.com/ - + - Normalizes the quaternion + An 8-bit color structure including an alpha channel - - - Builds a quaternion object from a byte array - - The source byte array - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. + + Red - + + Green + + + Blue + + + Alpha + + - Normalize this quaternion and serialize it to a byte array + - A 12 byte array containing normalized X, Y, and Z floating - point values in order using little endian byte ordering + + + + - + - Writes the raw bytes for this quaternion to a byte array + Builds a color from a byte array - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 - + - Convert this quaternion to euler angles + Returns the raw bytes for this vector - X euler angle - Y euler angle - Z euler angle + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted + A 16 byte array containing R, G, B, and A - + - Convert this quaternion to an angle around an axis + Copy constructor - Unit vector describing the axis - Angle around the axis, in radians + Color to copy - + - Returns the conjugate (spatial inverse) of a quaternion + IComparable.CompareTo implementation + Sorting ends up like this: |--Grayscale--||--Color--|. + Alpha is only used when the colors are otherwise equivalent - + - Build a quaternion from an axis and an angle of rotation around - that axis + Builds a color from a byte array + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted - + - Build a quaternion from an axis and an angle of rotation around - that axis + Writes the raw bytes for this color to a byte array - Axis of rotation - Angle of rotation + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - + - Creates a quaternion from a vector containing roll, pitch, and yaw - in radians + Serializes this color into four bytes in a byte array - Vector representation of the euler angles in - radians - Quaternion representation of the euler angles + Destination byte array + Position in the destination array to start + writing. Must be at least 4 bytes before the end of the array + True to invert the output (1.0 becomes 0 + instead of 255) - + - Creates a quaternion from roll, pitch, and yaw euler angles in - radians + Writes the raw bytes for this color to a byte array - X angle in radians - Y angle in radians - Z angle in radians - Quaternion representation of the euler angles + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - + - Conjugates and renormalizes a vector + Ensures that values are in range 0-1 - + - Spherical linear interpolation between two quaternions + Create an RGB color from a hue, saturation, value combination + Hue + Saturation + Value + An fully opaque RGB color (alpha is 1.0) - + - Get a string representation of the quaternion elements with up to three - decimal digits and separated by spaces only + Performs linear interpolation between two colors - Raw string representation of the quaternion + Color to start at + Color to end at + Amount to interpolate + The interpolated color - + + A Color4 with zero RGB values and fully opaque (alpha 1.0) + + + A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) + + + For thread safety + + + For thread safety + + - Determines the appropriate events to set, leaves the locks, and sets the events. + Purges expired objects from the cache. Called automatically by the purge timer. - + - A routine for lazily creating a event outside the lock (so if errors - happen they are outside the lock and that we don't do much work - while holding a spin lock). If all goes well, reenter the lock and - set 'waitEvent' + Provides helper methods for parallelizing loops - + - Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. - Before the wait 'numWaiters' is incremented and is restored before leaving this routine. + Executes a for loop in which iterations may run in parallel + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - + - A hierarchical token bucket for bandwidth throttling. See - http://en.wikipedia.org/wiki/Token_bucket for more information + Executes a for loop in which iterations may run in parallel + The number of concurrent execution threads to run + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - + - Default constructor + Executes a foreach loop in which iterations may run in parallel - Parent bucket if this is a child bucket, or - null if this is a root bucket - Maximum size of the bucket in bytes, or - zero if this bucket has no maximum capacity - Rate that the bucket fills, in bytes per - second. If zero, the bucket always remains full - - - Parent bucket to this bucket, or null if this is a root - bucket - - - Size of the bucket in bytes. If zero, the bucket has - infinite capacity - - - Rate that the bucket fills, in bytes per millisecond. If - zero, the bucket always remains full - - - Number of tokens currently in the bucket - - - Time of the last drip, in system ticks + Object type that the collection wraps + An enumerable collection to iterate over + Method body to run for each object in the collection - + - The parent bucket of this bucket, or null if this bucket has no - parent. The parent bucket will limit the aggregate bandwidth of all - of its children buckets + Executes a foreach loop in which iterations may run in parallel + Object type that the collection wraps + The number of concurrent execution threads to run + An enumerable collection to iterate over + Method body to run for each object in the collection - + - Maximum burst rate in bytes per second. This is the maximum number - of tokens that can accumulate in the bucket at any one time + Executes a series of tasks in parallel + A series of method bodies to execute - + - The speed limit of this bucket in bytes per second. This is the - number of tokens that are added to the bucket per second + Executes a series of tasks in parallel - Tokens are added to the bucket any time - is called, at the granularity of - the system tick interval (typically around 15-22ms) + The number of concurrent execution threads to run + A series of method bodies to execute - + - The number of bytes that can be sent at this moment. This is the - current number of tokens in the bucket - If this bucket has a parent bucket that does not have - enough tokens for a request, will - return false regardless of the content of this bucket + Convert this matrix to euler rotations + + X euler angle + Y euler angle + Z euler angle - + - Remove a given number of tokens from the bucket + Convert this matrix to a quaternion rotation - Number of tokens to remove from the bucket - True if the requested number of tokens were removed from - the bucket, otherwise false + A quaternion representation of this rotation matrix - + - Remove a given number of tokens from the bucket + Construct a matrix from euler rotation values in radians - Number of tokens to remove from the bucket - True if tokens were added to the bucket - during this call, otherwise false - True if the requested number of tokens were removed from - the bucket, otherwise false + X euler angle in radians + Y euler angle in radians + Z euler angle in radians - + - Add tokens to the bucket over time. The number of tokens added each - call depends on the length of time that has passed since the last - call to Drip + Get a formatted string representation of the vector - True if tokens were added to the bucket, otherwise false + A string representation of the vector - - - A 128-bit Universally Unique Identifier, used throughout the Second - Life networking protocol - + + A 4x4 matrix containing all zeroes - - - Constructor that takes a string UUID representation - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") + + A 4x4 identity matrix - + - Constructor that takes a System.Guid object + Identifier code for primitive types - A Guid object that contains the unique identifier - to be represented by this UUID - - - Constructor that takes a byte array containing a UUID - - Byte array containing a 16 byte UUID - Beginning offset in the array + + None - - - Constructor that takes an unsigned 64-bit unsigned integer to - convert to a UUID - - 64-bit unsigned integer to convert to a UUID + + A Primitive - - - Copy constructor - - UUID to copy + + A Avatar - - The System.Guid object this struct wraps around + + Linden grass - - An UUID with a value of all zeroes + + Linden tree - - A cache of UUID.Zero as a string to optimize a common path + + A primitive that acts as the source for a particle stream - - - IComparable.CompareTo implementation - + + A Linden tree - + - Assigns this UUID from 16 bytes out of a byte array + Primary parameters for primitives such as Physics Enabled or Phantom - Byte array containing the UUID to assign this UUID to - Starting position of the UUID in the byte array - - - Returns a copy of the raw bytes for this UUID - - A 16 byte array containing this UUID + + Deprecated - - - Writes the raw bytes for this UUID to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + + Whether physics are enabled for this object - - - Calculate an LLCRC (cyclic redundancy check) for this UUID - - The CRC checksum for this UUID + + - - - Create a 64-bit integer representation from the second half of this UUID - - An integer created from the last eight bytes of this UUID + + - - - Generate a UUID from a string - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") + + - - - Generate a UUID from a string - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - Will contain the parsed UUID if successful, - otherwise null - True if the string was successfully parse, otherwise false - UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) + + - - - Combine two UUIDs together by taking the MD5 hash of a byte array - containing both UUIDs - - First UUID to combine - Second UUID to combine - The UUID product of the combination + + - - - - - + + - - - Return a hash code for this UUID, used by .NET for hash tables - - An integer composed of all the UUID bytes XORed together + + Whether this object contains an active touch script - - - Comparison function - - An object to compare to this UUID - True if the object is a UUID and both UUIDs are equal + + - - - Comparison function - - UUID to compare to - True if the UUIDs are equal, otherwise false + + Whether this object can receive payments - - - Get a hyphenated string representation of this UUID - - A string representation of this UUID, lowercase and - with hyphens - 11f8aa9c-b071-4242-836b-13b7abe0d489 + + Whether this object is phantom (no collisions) - - - Equals operator - - First UUID for comparison - Second UUID for comparison - True if the UUIDs are byte for byte equal, otherwise false + + - - - Not equals operator - - First UUID for comparison - Second UUID for comparison - True if the UUIDs are not equal, otherwise true + + - - - XOR operator - - First UUID - Second UUID - A UUID that is a XOR combination of the two input UUIDs + + - - - String typecasting operator - - A UUID in string form. Case insensitive, - hyphenated or non-hyphenated - A UUID built from the string representation + + - - - Operating system - + + Deprecated - - Unknown + + - - Microsoft Windows + + - - Microsoft Windows CE + + - - Linux + + Deprecated - - Apple OSX + + - - - Runtime platform - + + - - .NET runtime + + - - Mono runtime: http://www.mono-project.com/ + + - - Used for converting degrees to radians + + Server flag, will not be sent to clients. Specifies that + the object is destroyed when it touches a simulator edge - - Used for converting radians to degrees + + Server flag, will not be sent to clients. Specifies that + the object will be returned to the owner's inventory when it + touches a simulator edge - - Provide a single instance of the CultureInfo class to - help parsing in situations where the grid assumes an en-us - culture + + Server flag, will not be sent to clients. - - UNIX epoch in DateTime format + + Server flag, will not be sent to client. Specifies that + the object is hovering/flying - - Provide a single instance of the MD5 class to avoid making - duplicate copies and handle thread safety + + - - Provide a single instance of the SHA-1 class to avoid - making duplicate copies and handle thread safety + + - - Provide a single instance of a random number generator - to avoid making duplicate copies and handle thread safety + + - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + + - + - Clamp a given value between a range + Sound flags for sounds attached to primitives - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper + + - - - Round a floating-point value to the nearest integer - - Floating point number to round - Integer + + - - - Test if a single precision float is a finite number - + + - - - Test if a double precision float is a finite number - + + - - - Get the distance between two floating-point values - - First value - Second value - The distance between the two values + + - - - Compute the MD5 hash for a byte array - - Byte array to compute the hash for - MD5 hash of the input data + + - - - Compute the SHA1 hash for a byte array - - Byte array to compute the hash for - SHA1 hash of the input data + + - + - Calculate the SHA1 hash of a given string + Material type for a primitive - The string to hash - The SHA1 hash as a string - - - Compute the SHA256 hash for a byte array - - Byte array to compute the hash for - SHA256 hash of the input data + + - - - Calculate the SHA256 hash of a given string - - The string to hash - The SHA256 hash as a string + + - - - Calculate the MD5 hash of a given string - - The password to hash - An MD5 hash in string format, with $1$ prepended + + - - - Calculate the MD5 hash of a given string - - The string to hash - The MD5 hash as a string + + - - - Generate a random double precision floating point value - - Random value of type double + + - - - Get the current running platform - - Enumeration of the current platform we are running on + + - - - Get the current running runtime - - Enumeration of the current runtime we are running on + + - - - Convert the first two bytes starting in the byte array in - little endian ordering to a signed short integer - - An array two bytes or longer - A signed short integer, will be zero if a short can't be - read at the given position + + - + - Convert the first two bytes starting at the given position in - little endian ordering to a signed short integer + Used in a helper function to roughly determine prim shape - An array two bytes or longer - Position in the array to start reading - A signed short integer, will be zero if a short can't be - read at the given position - + - Convert the first four bytes starting at the given position in - little endian ordering to a signed integer + Extra parameters for primitives, these flags are for features that have + been added after the original ObjectFlags that has all eight bits + reserved already - An array four bytes or longer - Position to start reading the int from - A signed integer, will be zero if an int can't be read - at the given position - - - Convert the first four bytes of the given array in little endian - ordering to a signed integer - - An array four bytes or longer - A signed integer, will be zero if the array contains - less than four bytes + + Whether this object has flexible parameters - - - Convert the first eight bytes of the given array in little endian - ordering to a signed long integer - - An array eight bytes or longer - A signed long integer, will be zero if the array contains - less than eight bytes + + Whether this object has light parameters - - - Convert the first eight bytes starting at the given position in - little endian ordering to a signed long integer - - An array eight bytes or longer - Position to start reading the long from - A signed long integer, will be zero if a long can't be read - at the given position + + Whether this object is a sculpted prim - + - Convert the first two bytes starting at the given position in - little endian ordering to an unsigned short + - Byte array containing the ushort - Position to start reading the ushort from - An unsigned short, will be zero if a ushort can't be read - at the given position - - - Convert two bytes in little endian ordering to an unsigned short - - Byte array containing the ushort - An unsigned short, will be zero if a ushort can't be - read + + - - - Convert the first four bytes starting at the given position in - little endian ordering to an unsigned integer - - Byte array containing the uint - Position to start reading the uint from - An unsigned integer, will be zero if a uint can't be read - at the given position + + - - - Convert the first four bytes of the given array in little endian - ordering to an unsigned integer - - An array four bytes or longer - An unsigned integer, will be zero if the array contains - less than four bytes + + - + - Convert the first eight bytes of the given array in little endian - ordering to an unsigned 64-bit integer + - An array eight bytes or longer - An unsigned 64-bit integer, will be zero if the array - contains less than eight bytes - - - Convert four bytes in little endian ordering to a floating point - value - - Byte array containing a little ending floating - point value - Starting position of the floating point value in - the byte array - Single precision value + + - - - Convert an integer to a byte array in little endian format - - The integer to convert - A four byte little endian array + + - - - Convert an integer to a byte array in big endian format - - The integer to convert - A four byte big endian array + + - - - Convert a 64-bit integer to a byte array in little endian format - - The value to convert - An 8 byte little endian array + + - - - Convert a 64-bit unsigned integer to a byte array in little endian - format - - The value to convert - An 8 byte little endian array + + - - - Convert a floating point value to four bytes in little endian - ordering - - A floating point value - A four byte array containing the value in little endian - ordering + + - - - Converts an unsigned integer to a hexadecimal string - - An unsigned integer to convert to a string - A hexadecimal string 10 characters long - 0x7fffffff + + - - - Convert a variable length UTF8 byte array to a string - - The UTF8 encoded byte array to convert - The decoded string + + - + - Converts a byte array to a string containing hexadecimal characters + - The byte array to convert to a string - The name of the field to prepend to each - line of the string - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name - - - Converts a byte array to a string containing hexadecimal characters - - The byte array to convert to a string - Number of bytes in the array to parse - A string to prepend to each line of the hex - dump - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name + + - - - Convert a string to a UTF8 encoded byte array - - The string to convert - A null-terminated UTF8 byte array + + - - - Converts a string containing hexadecimal characters to a byte array - - String containing hexadecimal characters - If true, gracefully handles null, empty and - uneven strings as well as stripping unconvertable characters - The converted byte array + + - + + + + + + + + + + + + + + + + + + + - Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) + - Character to test - true if hex digit, false if not - - - Converts 1 or 2 character string into equivalant byte value - - 1 or 2 character string - byte + + + + + + + + + + + + + + + + + + + + + + + + Attachment points for objects on avatar bodies + + + Both InventoryObject and InventoryAttachment types can be attached + + + + Right hand if object was not previously attached + + + Chest + + + Skull + + + Left shoulder + + + Right shoulder + + + Left hand + + + Right hand + + + Left foot + + + Right foot + + + Spine + + + Pelvis + + + Mouth + + + Chin + + + Left ear + + + Right ear + + + Left eyeball + + + Right eyeball + + + Nose + + + Right upper arm + + + Right forearm + + + Left upper arm + + + Left forearm + + + Right hip + + + Right upper leg + + + Right lower leg + + + Left hip + + + Left upper leg + + + Left lower leg + + + Stomach + + + Left pectoral + + + Right pectoral + + + HUD Center position 2 + + + HUD Top-right + + + HUD Top + + + HUD Top-left + + + HUD Center + + + HUD Bottom-left + + + HUD Bottom + + + HUD Bottom-right - + - Convert a float value to a byte given a minimum and maximum range + Tree foliage types - Value to convert to a byte - Minimum value range - Maximum value range - A single byte representing the original float value - - - Convert a byte to a float value given a minimum and maximum range - - Byte array to get the byte from - Position in the byte array the desired byte is at - Minimum value range - Maximum value range - A float value inclusively between lower and upper + + Pine1 tree - - - Convert a byte to a float value given a minimum and maximum range - - Byte to convert to a float value - Minimum value range - Maximum value range - A float value inclusively between lower and upper + + Oak tree - - - Attempts to parse a floating point value from a string, using an - EN-US number format - - String to parse - Resulting floating point number - True if the parse was successful, otherwise false + + Tropical Bush1 - - - Attempts to parse a floating point value from a string, using an - EN-US number format - - String to parse - Resulting floating point number - True if the parse was successful, otherwise false + + Palm1 tree - - - Tries to parse an unsigned 32-bit integer from a hexadecimal string - - String to parse - Resulting integer - True if the parse was successful, otherwise false + + Dogwood tree - - - Returns text specified in EnumInfo attribute of the enumerator - To add the text use [EnumInfo(Text = "Some nice text here")] before declaration - of enum values - - Enum value - Text representation of the enum + + Tropical Bush2 - - - Takes an AssetType and returns the string representation - - The source - The string version of the AssetType + + Palm2 tree - - - Translate a string name of an AssetType into the proper Type - - A string containing the AssetType name - The AssetType which matches the string name, or AssetType.Unknown if no match was found + + Cypress1 tree - - - Convert an InventoryType to a string - - The to convert - A string representation of the source + + Cypress2 tree - - - Convert a string into a valid InventoryType - - A string representation of the InventoryType to convert - A InventoryType object which matched the type + + Pine2 tree - - - Convert a SaleType to a string - - The to convert - A string representation of the source + + Plumeria - - - Convert a string into a valid SaleType - - A string representation of the SaleType to convert - A SaleType object which matched the type + + Winter pinetree1 - - - Converts a string used in LLSD to AttachmentPoint type - - String representation of AttachmentPoint to convert - AttachmentPoint enum + + Winter Aspen tree - - - Copy a byte array - - Byte array to copy - A copy of the given byte array + + Winter pinetree2 - - - Packs to 32-bit unsigned integers in to a 64-bit unsigned integer - - The left-hand (or X) value - The right-hand (or Y) value - A 64-bit integer containing the two 32-bit input values + + Eucalyptus tree - - - Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer - - The 64-bit input integer - The left-hand (or X) output value - The right-hand (or Y) output value + + Fern - - - Convert an IP address object to an unsigned 32-bit integer - - IP address to convert - 32-bit unsigned integer holding the IP address bits + + Eelgrass - - - Gets a unix timestamp for the current time - - An unsigned integer representing a unix timestamp for now + + Sea Sword - - - Convert a UNIX timestamp to a native DateTime object - - An unsigned integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp + + Kelp1 plant - - - Convert a UNIX timestamp to a native DateTime object - - A signed integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp + + Beach grass - - - Convert a native DateTime object to a UNIX timestamp - - A DateTime object you want to convert to a - timestamp - An unsigned integer representing a UNIX timestamp + + Kelp2 plant - + - Swap two values + Grass foliage types - Type of the values to swap - First value - Second value - - - Try to parse an enumeration value from a string - - Enumeration type - String value to parse - Enumeration value on success - True if the parsing succeeded, otherwise false + + - - - Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa - - Byte to swap the words in - Byte value with the words swapped + + - - - Attempts to convert a string representation of a hostname or IP - address to a - Hostname to convert to an IPAddress - Converted IP address object, or null if the conversion - failed + + - + + + + + + + + + + - A two-dimensional vector with floating-point values + Action associated with clicking on an object - + + Touch object + + + Sit on object + + + Purchase object or contents + + + Pay the object + + + Open task inventory + + + Play parcel media + + + Open parcel media + + X value - + Y value - - A vector with a value of 0,0 - - - A vector with a value of 1,1 + + Z value - - A vector with a value of 1,0 + + W value - - A vector with a value of 0,1 + + + Constructor, builds a vector from a byte array + + Byte array containing four four-byte floats + Beginning position in the byte array - + Test if this vector is equal to another vector, within a given tolerance range @@ -2308,74 +1988,67 @@ True if the magnitude of difference between the two vectors is less than the given tolerance, otherwise false - + - Test if this vector is composed of all finite numbers + IComparable.CompareTo implementation - + - IComparable.CompareTo implementation + Test if this vector is composed of all finite numbers - + Builds a vector from a byte array - Byte array containing two four-byte floats + Byte array containing a 16 byte vector Beginning position in the byte array - + Returns the raw bytes for this vector - An eight-byte array containing X and Y + A 16 byte array containing X, Y, Z, and W - + Writes the raw bytes for this vector to a byte array Destination byte array Position in the destination array to start - writing. Must be at least 8 bytes before the end of the array - - - - Parse a vector from a string - - A string representation of a 2D vector, enclosed - in arrow brackets and separated by commas - - - - Interpolates between two vectors using a cubic equation - - - - - Get a formatted string representation of the vector - - A string representation of the vector + writing. Must be at least 16 bytes before the end of the array - + Get a string representation of the vector elements with up to three decimal digits and separated by spaces only Raw string representation of the vector + + A vector with a value of 0,0,0,0 + + + A vector with a value of 1,1,1,1 + + + A vector with a value of 1,0,0,0 + + + A vector with a value of 0,1,0,0 + + + A vector with a value of 0,0,1,0 + + + A vector with a value of 0,0,0,1 + A three-dimensional vector with floating-point values - - - Constructor, builds a vector from a byte array - - Byte array containing three four-byte floats - Beginning position in the byte array - X value @@ -2385,20 +2058,12 @@ Z value - - A vector with a value of 0,0,0 - - - A vector with a value of 1,1,1 - - - A unit vector facing forward (X axis), value 1,0,0 - - - A unit vector facing left (Y axis), value 0,1,0 - - - A unit vector facing up (Z axis), value 0,0,1 + + + Constructor, builds a vector from a byte array + + Byte array containing three four-byte floats + Beginning position in the byte array @@ -2446,7 +2111,7 @@ Parse a vector from a string - A string representation of a 3D vector, enclosed + A string representation of a 3D vector, enclosed in arrow brackets and separated by commas @@ -2479,11 +2144,94 @@ Cross product between two vectors + + A vector with a value of 0,0,0 + + + A vector with a value of 1,1,1 + + + A unit vector facing forward (X axis), value 1,0,0 + + + A unit vector facing left (Y axis), value 0,1,0 + + + A unit vector facing up (Z axis), value 0,0,1 + + + + A thread-safe lockless queue that supports multiple readers and + multiple writers + + + + Queue head + + + Queue tail + + + Queue item count + + + + Constructor + + + + + Enqueue an item + + Item to enqeue + + + + Try to dequeue an item + + Dequeued item if the dequeue was successful + True if an item was successfully deqeued, otherwise false + + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate + + + + Provides a node container for data in a singly linked list + + + + Pointer to the next node in list + + + The data contained by the node + + + + Constructor + + + + + Constructor + + A three-dimensional vector with doubleing-point values + + X value + + + Y value + + + Z value + Constructor, builds a vector from a byte array @@ -2491,14 +2239,77 @@ Byte array containing three eight-byte doubles Beginning position in the byte array - - X value + + + Test if this vector is equal to another vector, within a given + tolerance range + + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - - Y value + + + IComparable.CompareTo implementation + + + + + Test if this vector is composed of all finite numbers + + + + + Builds a vector from a byte array + + Byte array containing a 24 byte vector + Beginning position in the byte array + + + + Returns the raw bytes for this vector + + A 24 byte array containing X, Y, and Z + + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 24 bytes before the end of the array + + + + Parse a vector from a string + + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas + + + + Interpolates between two vectors using a cubic equation + + + + + Get a formatted string representation of the vector + + A string representation of the vector + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector - - Z value + + + Cross product between two vectors + A vector with a value of 0,0,0 @@ -2515,7 +2326,18 @@ A unit vector facing up (Z axis), value of 0,0,1 - + + + A two-dimensional vector with floating-point values + + + + X value + + + Y value + + Test if this vector is equal to another vector, within a given tolerance range @@ -2526,152 +2348,255 @@ True if the magnitude of difference between the two vectors is less than the given tolerance, otherwise false - + - IComparable.CompareTo implementation + Test if this vector is composed of all finite numbers - + - Test if this vector is composed of all finite numbers + IComparable.CompareTo implementation - + Builds a vector from a byte array - Byte array containing a 24 byte vector + Byte array containing two four-byte floats Beginning position in the byte array - + Returns the raw bytes for this vector - A 24 byte array containing X, Y, and Z + An eight-byte array containing X and Y - + Writes the raw bytes for this vector to a byte array Destination byte array Position in the destination array to start - writing. Must be at least 24 bytes before the end of the array + writing. Must be at least 8 bytes before the end of the array - + Parse a vector from a string - A string representation of a 3D vector, enclosed + A string representation of a 2D vector, enclosed in arrow brackets and separated by commas - + Interpolates between two vectors using a cubic equation - + Get a formatted string representation of the vector A string representation of the vector - + Get a string representation of the vector elements with up to three decimal digits and separated by spaces only Raw string representation of the vector - + + A vector with a value of 0,0 + + + A vector with a value of 1,1 + + + A vector with a value of 1,0 + + + A vector with a value of 0,1 + + - Cross product between two vectors + A 128-bit Universally Unique Identifier, used throughout the Second + Life networking protocol - + + The System.Guid object this struct wraps around + + - Constructor, builds a vector from a byte array + Constructor that takes a string UUID representation - Byte array containing four four-byte floats - Beginning position in the byte array + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") - - X value + + + Constructor that takes a System.Guid object + + A Guid object that contains the unique identifier + to be represented by this UUID - - Y value + + + Constructor that takes a byte array containing a UUID + + Byte array containing a 16 byte UUID + Beginning offset in the array - - Z value + + + Constructor that takes an unsigned 64-bit unsigned integer to + convert to a UUID + + 64-bit unsigned integer to convert to a UUID - - W value + + + Copy constructor + + UUID to copy - - A vector with a value of 0,0,0,0 + + + IComparable.CompareTo implementation + - - A vector with a value of 1,1,1,1 + + + Assigns this UUID from 16 bytes out of a byte array + + Byte array containing the UUID to assign this UUID to + Starting position of the UUID in the byte array - - A vector with a value of 1,0,0,0 + + + Returns a copy of the raw bytes for this UUID + + A 16 byte array containing this UUID - - A vector with a value of 0,1,0,0 + + + Writes the raw bytes for this UUID to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - - A vector with a value of 0,0,1,0 + + + Calculate an LLCRC (cyclic redundancy check) for this UUID + + The CRC checksum for this UUID - - A vector with a value of 0,0,0,1 + + + Create a 64-bit integer representation from the second half of this UUID + + An integer created from the last eight bytes of this UUID - + - Test if this vector is equal to another vector, within a given - tolerance range + Generate a UUID from a string - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - IComparable.CompareTo implementation + Generate a UUID from a string + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + Will contain the parsed UUID if successful, + otherwise null + True if the string was successfully parse, otherwise false + UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) - + - Test if this vector is composed of all finite numbers + Combine two UUIDs together by taking the MD5 hash of a byte array + containing both UUIDs + First UUID to combine + Second UUID to combine + The UUID product of the combination - + - Builds a vector from a byte array + - Byte array containing a 16 byte vector - Beginning position in the byte array + - + - Returns the raw bytes for this vector + Return a hash code for this UUID, used by .NET for hash tables - A 16 byte array containing X, Y, Z, and W + An integer composed of all the UUID bytes XORed together - + - Writes the raw bytes for this vector to a byte array + Comparison function - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + An object to compare to this UUID + True if the object is a UUID and both UUIDs are equal - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + Comparison function - Raw string representation of the vector + UUID to compare to + True if the UUIDs are equal, otherwise false + + + + Get a hyphenated string representation of this UUID + + A string representation of this UUID, lowercase and + with hyphens + 11f8aa9c-b071-4242-836b-13b7abe0d489 + + + + Equals operator + + First UUID for comparison + Second UUID for comparison + True if the UUIDs are byte for byte equal, otherwise false + + + + Not equals operator + + First UUID for comparison + Second UUID for comparison + True if the UUIDs are not equal, otherwise true + + + + XOR operator + + First UUID + Second UUID + A UUID that is a XOR combination of the two input UUIDs + + + + String typecasting operator + + A UUID in string form. Case insensitive, + hyphenated or non-hyphenated + A UUID built from the string representation + + + An UUID with a value of all zeroes + + + A cache of UUID.Zero as a string to optimize a common path diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index b989bad..7ebf45e 100644 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From e6a8d2872c3ff4992cd7e9615f69e0c6773e461f Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 29 Oct 2010 18:59:53 +0200 Subject: Preliminary work on appearance layers. No user functionality yet. --- bin/assets/TexturesAssetSet/TexturesAssetSet.xml | 6 +++++ .../BodyPartsLibrary/BodyPartsLibraryItems.xml | 28 ++++++++++++++++++++++ 2 files changed, 34 insertions(+) (limited to 'bin') diff --git a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml index c5cafa7..7c74a48 100644 --- a/bin/assets/TexturesAssetSet/TexturesAssetSet.xml +++ b/bin/assets/TexturesAssetSet/TexturesAssetSet.xml @@ -1,4 +1,10 @@ +
+ + + + +
diff --git a/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml b/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml index aa8d9d9..5cb71c0 100644 --- a/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml +++ b/bin/inventory/BodyPartsLibrary/BodyPartsLibraryItems.xml @@ -16,6 +16,34 @@
--> +
+ +
+ + +
diff --git a/bin/assets/CollisionSoundsAssetSet/CollisionSoundsAssetSet.xml b/bin/assets/CollisionSoundsAssetSet/CollisionSoundsAssetSet.xml new file mode 100644 index 0000000..7498ae0 --- /dev/null +++ b/bin/assets/CollisionSoundsAssetSet/CollisionSoundsAssetSet.xml @@ -0,0 +1,341 @@ + + + +
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
diff --git a/bin/assets/CollisionSoundsAssetSet/attribution.txt b/bin/assets/CollisionSoundsAssetSet/attribution.txt new file mode 100644 index 0000000..876419b --- /dev/null +++ b/bin/assets/CollisionSoundsAssetSet/attribution.txt @@ -0,0 +1,8 @@ +thanvannispen - http://www.freesound.org/people/thanvannispen/sounds/30012/ +hoobtastic - http://www.freesound.org/people/hoobtastic/sounds/132627/ +kbnevel - http://www.freesound.org/people/kbnevel/sounds/119859/ +adcbicycle - http://www.freesound.org/people/adcbicycle/sounds/13856/ +adcbicycle - http://www.freesound.org/people/adcbicycle/sounds/13855/ +110110010 - http://www.freesound.org/people/110110010/sounds/66397/ +qubodup - http://www.freesound.org/people/qubodup/sounds/50941/ +vibe_crc - http://www.freesound.org/people/vibe_crc/sounds/59317/ \ No newline at end of file diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshFlesh.ogg new file mode 100644 index 0000000..5f3aeb7 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_FleshFlesh.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshGlass.ogg new file mode 100644 index 0000000..3a322c6 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_FleshGlass.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshMetal.ogg new file mode 100644 index 0000000..edcf17a Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_FleshMetal.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshPlastic.ogg new file mode 100644 index 0000000..acf53e5 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_FleshPlastic.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshRubber.ogg new file mode 100644 index 0000000..6373610 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_FleshRubber.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshStone.ogg new file mode 100644 index 0000000..eccbbb8 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_FleshStone.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_FleshWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_FleshWood.ogg new file mode 100644 index 0000000..6713380 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_FleshWood.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassFlesh.ogg new file mode 100644 index 0000000..6951d44 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_GlassFlesh.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassGlass.ogg new file mode 100644 index 0000000..1806a55 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_GlassGlass.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassMetal.ogg new file mode 100644 index 0000000..f147024 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_GlassMetal.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassPlastic.ogg new file mode 100644 index 0000000..204a4c6 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_GlassPlastic.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassRubber.ogg new file mode 100644 index 0000000..243f185 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_GlassRubber.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassStone.ogg new file mode 100644 index 0000000..0852135 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_GlassStone.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_GlassWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_GlassWood.ogg new file mode 100644 index 0000000..2c13690 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_GlassWood.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalFlesh.ogg new file mode 100644 index 0000000..c11d19f Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_MetalFlesh.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalGlass.ogg new file mode 100644 index 0000000..36348e1 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_MetalGlass.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalMetal.ogg new file mode 100644 index 0000000..957b3c2 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_MetalMetal.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalPlastic.ogg new file mode 100644 index 0000000..5674907 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_MetalPlastic.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalRubber.ogg new file mode 100644 index 0000000..0f9ba2e Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_MetalRubber.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalStone.ogg new file mode 100644 index 0000000..dc489d8 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_MetalStone.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_MetalWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_MetalWood.ogg new file mode 100644 index 0000000..de04317 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_MetalWood.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticFlesh.ogg new file mode 100644 index 0000000..a9d6983 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_PlasticFlesh.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticGlass.ogg new file mode 100644 index 0000000..c7dcdf1 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_PlasticGlass.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticMetal.ogg new file mode 100644 index 0000000..4dd270f Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_PlasticMetal.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticPlastic.ogg new file mode 100644 index 0000000..9994745 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_PlasticPlastic.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticRubber.ogg new file mode 100644 index 0000000..e5c408f Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_PlasticRubber.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticStone.ogg new file mode 100644 index 0000000..9865c6e Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_PlasticStone.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_PlasticWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_PlasticWood.ogg new file mode 100644 index 0000000..9f921b9 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_PlasticWood.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberFlesh.ogg new file mode 100644 index 0000000..b56f7dc Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_RubberFlesh.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberGlass.ogg new file mode 100644 index 0000000..9f44fca Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_RubberGlass.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberMetal.ogg new file mode 100644 index 0000000..9ff064a Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_RubberMetal.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberPlastic.ogg new file mode 100644 index 0000000..8e601b1 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_RubberPlastic.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberRubber.ogg new file mode 100644 index 0000000..c84f8e5 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_RubberRubber.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberStone.ogg new file mode 100644 index 0000000..d398f6f Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_RubberStone.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_RubberWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_RubberWood.ogg new file mode 100644 index 0000000..ebb24e3 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_RubberWood.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneFlesh.ogg new file mode 100644 index 0000000..90275ad Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_StoneFlesh.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneGlass.ogg new file mode 100644 index 0000000..b2b33cf Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_StoneGlass.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneMetal.ogg new file mode 100644 index 0000000..accdfdf Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_StoneMetal.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StonePlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StonePlastic.ogg new file mode 100644 index 0000000..15f93b6 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_StonePlastic.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneRubber.ogg new file mode 100644 index 0000000..4b756ff Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_StoneRubber.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneStone.ogg new file mode 100644 index 0000000..88b8033 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_StoneStone.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_StoneWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_StoneWood.ogg new file mode 100644 index 0000000..4a5b7f3 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_StoneWood.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainFlesh.ogg new file mode 100644 index 0000000..1d3038a Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_TerrainFlesh.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainGlass.ogg new file mode 100644 index 0000000..637fa16 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_TerrainGlass.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainMetal.ogg new file mode 100644 index 0000000..919c59b Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_TerrainMetal.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainPlastic.ogg new file mode 100644 index 0000000..23fa329 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_TerrainPlastic.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainRubber.ogg new file mode 100644 index 0000000..c18d242 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_TerrainRubber.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainStone.ogg new file mode 100644 index 0000000..6bd9e09 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_TerrainStone.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_TerrainWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_TerrainWood.ogg new file mode 100644 index 0000000..f405517 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_TerrainWood.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodFlesh.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodFlesh.ogg new file mode 100644 index 0000000..02621c2 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_WoodFlesh.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodGlass.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodGlass.ogg new file mode 100644 index 0000000..03b7fb5 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_WoodGlass.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodMetal.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodMetal.ogg new file mode 100644 index 0000000..e26afae Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_WoodMetal.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodPlastic.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodPlastic.ogg new file mode 100644 index 0000000..abe419b Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_WoodPlastic.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodRubber.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodRubber.ogg new file mode 100644 index 0000000..30ccc32 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_WoodRubber.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodStone.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodStone.ogg new file mode 100644 index 0000000..ad96818 Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_WoodStone.ogg differ diff --git a/bin/assets/CollisionSoundsAssetSet/snd_WoodWood.ogg b/bin/assets/CollisionSoundsAssetSet/snd_WoodWood.ogg new file mode 100644 index 0000000..76ae52c Binary files /dev/null and b/bin/assets/CollisionSoundsAssetSet/snd_WoodWood.ogg differ -- cgit v1.1 From 22906386b4fd16be36dc056809dd9ab7bccfa473 Mon Sep 17 00:00:00 2001 From: Melanie Date: Fri, 8 Jun 2012 03:25:51 +0200 Subject: Replace the stock libomv with our home grown 0.9.1 with the texture bug fixed. --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 24576 -> 11776 bytes bin/OpenMetaverse.StructuredData.XML | 408 +- bin/OpenMetaverse.StructuredData.dll | Bin 102400 -> 95232 bytes bin/OpenMetaverse.XML | 34362 +++++++++++++------------- bin/OpenMetaverse.dll | Bin 1753088 -> 1812992 bytes bin/OpenMetaverseTypes.XML | 3247 +-- bin/OpenMetaverseTypes.dll | Bin 114688 -> 105984 bytes 7 files changed, 19755 insertions(+), 18262 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index e0a3aa5..43c7557 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.XML b/bin/OpenMetaverse.StructuredData.XML index 897a330..d6c31df 100644 --- a/bin/OpenMetaverse.StructuredData.XML +++ b/bin/OpenMetaverse.StructuredData.XML @@ -1,333 +1,377 @@ - OpenMetaverse.StructuredData + /home/root/libomv-0.9.1-source/bin/OpenMetaverse.StructuredData - + - + + - + + - - + - Deserializes binary LLSD - Serialized data - OSD containting deserialized data - + - Deserializes binary LLSD - Stream to read the data from - OSD containting deserialized data - + - - - - + - - - - + - - - + - - - - - + - - - - - + - - - - - + - - - - + - - - - + - - - - + - + Uses reflection to create an SDMap from all of the SD + serializable types in an object - - + Class or struct containing serializable types + An SDMap holding the serialized values from the + container object - + - + Uses reflection to deserialize member variables in an object from + an SDMap - - + Reference to an object to fill with deserialized + values + Serialized values to put in the target + object - + - - - - + - - - - + - - - - + - - - - + - - - - - + - - - - + - - - - + - - - - + - - - - + - - - - + + + + + - - - - - + - + Deserializes binary LLSD - - - - + Serialized data + OSD containting deserialized data - + - + Deserializes binary LLSD - - - + Stream to read the data from + OSD containting deserialized data - + - + Serializes OSD to binary format. It does no prepend header - - - + OSD to serialize + Serialized data - + - + Serializes OSD to binary format + OSD to serialize + + + Serialized data - - + + + Serializes OSD to binary format. It does no prepend header + + OSD to serialize + Serialized data - - + + + Serializes OSD to binary format + + OSD to serialize + + + Serialized data - - + + + + + - - + + + + + + + + + - - + + + + + + + + + - - + + + + + + + + + - - + + + + + + + - - + + + + + + + - - + + + + + + + - - + + + + + + + - - + + + + + + + - + - + + + + - + - + + + + - + - Uses reflection to create an SDMap from all of the SD - serializable types in an object - Class or struct containing serializable types - An SDMap holding the serialized values from the - container object + + + + + + - + - Uses reflection to deserialize member variables in an object from - an SDMap - Reference to an object to fill with deserialized - values - Serialized values to put in the target - object + + + + + + + + - + - + + + + + + - + - + + + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + - + - + + + + + + - + - + + + + diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index aa05418..bf76863 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML index 6e57fed..81cc005 100644 --- a/bin/OpenMetaverse.XML +++ b/bin/OpenMetaverse.XML @@ -1,3320 +1,3231 @@ - OpenMetaverse + /home/root/libomv-0.9.1-source/bin/OpenMetaverse - - = + + + Permission request flags, asked when a script wants to control an Avatar + - - Number of times we've received an unknown CAPS exception in series. + + Placeholder for empty values, shouldn't ever see this - - For exponential backoff on error. + + Script wants ability to take money from you - - - Add a custom decoder callback - - The key of the field to decode - The custom decode handler + + Script wants to take camera controls for you - - - Remove a custom decoder callback - - The key of the field to decode - The custom decode handler + + Script wants to remap avatars controls - - - Creates a formatted string containing the values of a Packet - - The Packet - A formatted string of values of the nested items in the Packet object + + Script wants to trigger avatar animations + This function is not implemented on the grid - - - Decode an IMessage object into a beautifully formatted string - - The IMessage object - Recursion level (used for indenting) - A formatted string containing the names and values of the source object + + Script wants to attach or detach the prim or primset to your avatar - - - A custom decoder callback - - The key of the object - the data to decode - A string represending the fieldData + + Script wants permission to release ownership + This function is not implemented on the grid + The concept of "public" objects does not exist anymore. - + + Script wants ability to link/delink with other prims + + + Script wants permission to change joints + This function is not implemented on the grid + + + Script wants permissions to change permissions + This function is not implemented on the grid + + + Script wants to track avatars camera position and rotation + + + Script wants to control your camera + + - Access to the data server which allows searching for land, events, people, etc + Special commands used in Instant Messages - - The event subscribers. null if no subcribers + + Indicates a regular IM from another agent - - Raises the EventInfoReply event - An EventInfoReplyEventArgs object containing the - data returned from the data server + + Simple notification box with an OK button - - Thread sync lock object + + You've been invited to join a group. - - The event subscribers. null if no subcribers + + Inventory offer - - Raises the DirEventsReply event - An DirEventsReplyEventArgs object containing the - data returned from the data server + + Accepted inventory offer - - Thread sync lock object + + Declined inventory offer - - The event subscribers. null if no subcribers + + Group vote - - Raises the PlacesReply event - A PlacesReplyEventArgs object containing the - data returned from the data server + + An object is offering its inventory - - Thread sync lock object + + Accept an inventory offer from an object - - The event subscribers. null if no subcribers + + Decline an inventory offer from an object - - Raises the DirPlacesReply event - A DirPlacesReplyEventArgs object containing the - data returned from the data server + + Unknown - - Thread sync lock object + + Start a session, or add users to a session - - The event subscribers. null if no subcribers + + Start a session, but don't prune offline users - - Raises the DirClassifiedsReply event - A DirClassifiedsReplyEventArgs object containing the - data returned from the data server + + Start a session with your group - - Thread sync lock object + + Start a session without a calling card (finder or objects) - - The event subscribers. null if no subcribers + + Send a message to a session - - Raises the DirGroupsReply event - A DirGroupsReplyEventArgs object containing the - data returned from the data server + + Leave a session - - Thread sync lock object + + Indicates that the IM is from an object - - The event subscribers. null if no subcribers + + Sent an IM to a busy user, this is the auto response - - Raises the DirPeopleReply event - A DirPeopleReplyEventArgs object containing the - data returned from the data server + + Shows the message in the console and chat history - - Thread sync lock object + + Send a teleport lure - - The event subscribers. null if no subcribers + + Response sent to the agent which inititiated a teleport invitation - - Raises the DirLandReply event - A DirLandReplyEventArgs object containing the - data returned from the data server + + Response sent to the agent which inititiated a teleport invitation - - Thread sync lock object + + Only useful if you have Linden permissions - - - Constructs a new instance of the DirectoryManager class - - An instance of GridClient + + A placeholder type for future expansion, currently not + used - - - Query the data server for a list of classified ads containing the specified string. - Defaults to searching for classified placed in any category, and includes PG, Adult and Mature - results. - - Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - A UUID to correlate the results when the event is raised + + IM to tell the user to go to an URL - - - Query the data server for a list of classified ads which contain specified keywords (Overload) - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - The category to search - A set of flags which can be ORed to modify query options - such as classified maturity rating. - A UUID to correlate the results when the event is raised - - Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature - - UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); - - - - Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - + + IM for help - - - Starts search for places (Overloaded) - - The event is raised when a response is received from the simulator - - Search text - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised + + IM sent automatically on call for help, sends a lure + to each Helper reached - - - Queries the dataserver for parcels of land which are flagged to be shown in search - - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for separated by a space character - A set of flags which can be ORed to modify query options - such as classified maturity rating. - The category to search - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult - - UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); - - - - Additional information on the results can be obtained by using the ParcelManager.InfoRequest method - + + Like an IM but won't go to email - + + IM from a group officer to all group members + + + Unknown + + + Unknown + + + Accept a group invitation + + + Decline a group invitation + + + Unknown + + + An avatar is offering you friendship + + + An avatar has accepted your friendship offer + + + An avatar has declined your friendship offer + + + Indicates that a user has started typing + + + Indicates that a user has stopped typing + + - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator + Flag in Instant Messages, whether the IM should be delivered to + offline avatars as well - What type of land to search for. Auction, - estate, mainland, "first land", etc - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - + + Only deliver to online avatars + + + If the avatar is offline the message will be held until + they login next, and possibly forwarded to their e-mail account + + - Starts a search for land sales using the directory - - The event is raised when a response is received from the simulator + Conversion type to denote Chat Packet types in an easier-to-understand format - What type of land to search for. Auction, - estate, mainland, "first land", etc - Maximum price to search for - Maximum area to search for - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - + + Whisper (5m radius) + + + Normal chat (10/20m radius), what the official viewer typically sends + + + Shouting! (100m radius) + + + Event message when an Avatar has begun to type + + + Event message when an Avatar has stopped typing + + + Send the message to the debug channel + + + Event message when an object uses llOwnerSay + + + Special value to support llRegionSay, never sent to the client + + - Send a request to the data server for land sales listings + Identifies the source of a chat message - - Flags sent to specify query options - - Available flags: - Specify the parcel rating with one or more of the following: - IncludePG IncludeMature IncludeAdult - - Specify the field to pre sort the results with ONLY ONE of the following: - PerMeterSort NameSort AreaSort PricesSort - - Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order - SortAsc - - Specify additional filters to limit the results with one or both of the following: - LimitByPrice LimitByArea - - Flags can be combined by separating them with the | (pipe) character - - Additional details can be found in - - What type of land to search for. Auction, - Estate or Mainland - Maximum price to search for when the - DirFindFlags.LimitByPrice flag is specified in findFlags - Maximum area to search for when the - DirFindFlags.LimitByArea flag is specified in findFlags - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - The event will be raised with the response from the simulator - - There is no way to determine how many results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each reply. - - Any land set for sale to either anybody or specific to the connected agent will be included in the - results if the land is included in the query - - - // request all mainland, any maturity rating that is larger than 512 sq.m - StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); - - + + Chat from the grid or simulator + + + Chat from another avatar + + + Chat from an object + + - Search for Groups - The name or portion of the name of the group you wish to search for - Start from the match number - - + - Search for Groups - The name or portion of the name of the group you wish to search for - Start from the match number - Search flags - - + - Search the People directory for other avatars - The name or portion of the name of the avatar you wish to search for - - - + - Search Places for parcels of land you personally own - + - Searches Places for land owned by the specified group + Effect type used in ViewerEffect packets - ID of the group you want to recieve land list for (You must be a member of the group) - Transaction (Query) ID which can be associated with results from your request. - + - Search the Places directory for parcels that are listed in search and contain the specified keywords - A string containing the keywords to search for - Transaction (Query) ID which can be associated with results from your request. - + - Search Places - All Options - One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. - One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer - A string containing a list of keywords to search for separated by a space character - String Simulator Name to search in - LLUID of group you want to recieve results for - Transaction (Query) ID which can be associated with results from your request. - Transaction (Query) ID which can be associated with results from your request. - + - Search All Events with specifid searchText in all categories, includes PG, Mature and Adult - A string containing a list of keywords to search for separated by a space character - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - UUID of query to correlate results in callback. - + - Search Events - A string containing a list of keywords to search for separated by a space character - One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult - from the Enum - - Multiple flags can be combined by separating the flags with the | (pipe) character - "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled - For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - EventCategory event is listed under. - UUID of query to correlate results in callback. - - - Requests Event Details - ID of Event returned from the method - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Project a beam from a source to a destination, such as + the one used when editing an object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Create a swirl of particles around an object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Raised when the data server responds to a request. + + Cause an avatar to look at an object - - Raised when the data server responds to a request. + + Cause an avatar to point at an object - - Raised when the data server responds to a request. + + + The action an avatar is doing when looking at something, used in + ViewerEffect packets for the LookAt effect + - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. + + + - - Raised when the data server responds to a request. + + + - - Raised when the data server responds to a request. + + + - - Raised when the data server responds to a request. + + + - - Classified Ad categories + + + - - Classified is listed in the Any category + + + - - Classified is shopping related + + Deprecated - - Classified is + + + - - + + + - - + + + - - + + + - - + + + The action an avatar is doing when pointing at something, used in + ViewerEffect packets for the PointAt effect + - - + + + - - + + + - - + + + - - Event Categories + + + - - + + + Money transaction types + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - - + + + - + - Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. - - Flags can be combined using the | (pipe) character, not all flags are available in all queries - - Query the People database + + + - - + + + - - + + + - - Query the Groups database + + + - - Query the Events database + + + - - Query the land holdings database for land owned by the currently connected agent + + + - - + + + - - Query the land holdings database for land which is owned by a Group + + + - - Specifies the query should pre sort the results based upon traffic - when searching the Places database + + + - - + + + - - + + + - - + + + - - + + + - - Specifies the query should pre sort the results in an ascending order when searching the land sales database. - This flag is only used when searching the land sales database + + + - - Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. - This flag is only used when searching the land sales database + + + - - Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. - This flag is only used when searching the land sales database + + + - - Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. - This flag is only used when searching the land sales database + + + - - Specifies the query should pre sort the results using the Name field when searching the land sales database. - This flag is only used when searching the land sales database + + + - - When set, only parcels less than the specified Price will be included when searching the land sales database. - This flag is only used when searching the land sales database + + + - - When set, only parcels greater than the specified Size will be included when searching the land sales database. - This flag is only used when searching the land sales database + + + - - + + + - - + + + - - Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + - - Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + - - Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + - - + + + - + - Land types to search dataserver for - - Search Auction, Mainland and Estate + + + - - Land which is currently up for auction - - - Parcels which are on the mainland (Linden owned) continents - - - Parcels which are on privately owned simulators - - + - The content rating of the event - - Event is PG - - - Event is Mature - - - Event is Adult + + + - + - Classified Ad Options - There appear to be two formats the flags are packed in. - This set of flags is for the newer style - - + + + - - + + + - - + + + - - + + + - - + + + - + - Classified ad query options - - Include all ads in results + + + - - Include PG ads in results + + + - - Include Mature ads in results + + + - - Include Adult ads in results + + + - + - The For Sale flag in PlacesReplyData - - Parcel is not listed for sale + + + - - Parcel is For Sale + + + - + - A classified ad on the grid - - UUID for this ad, useful for looking up detailed - information about it + + + - - The title of this classified ad + + + - - Flags that show certain options applied to the classified + + + - - Creation date of the ad + + + - - Expiration date of the ad + + + - - Price that was paid for this ad + + + - - Print the struct data as a string - A string containing the field name, and field value + + + - + - A parcel retrieved from the dataserver such as results from the - "For-Sale" listings or "Places" Search + Flags sent when a script takes or releases a control + NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, - - The unique dataserver parcel ID - This id is used to obtain additional information from the entry - by using the method + + No Flags set - - A string containing the name of the parcel + + Forward (W or up Arrow) - - The size of the parcel - This field is not returned for Places searches + + Back (S or down arrow) - - The price of the parcel - This field is not returned for Places searches + + Move left (shift+A or left arrow) - - If True, this parcel is flagged to be auctioned + + Move right (shift+D or right arrow) - - If true, this parcel is currently set for sale + + Up (E or PgUp) - - Parcel traffic + + Down (C or PgDown) - - Print the struct data as a string - A string containing the field name, and field value + + Rotate left (A or left arrow) - - - An Avatar returned from the dataserver - + + Rotate right (D or right arrow) - - Online status of agent - This field appears to be obsolete and always returns false + + Left Mouse Button - - The agents first name + + Left Mouse button in MouseLook - - The agents last name + + + Currently only used to hide your group title + - - The agents + + No flags set - - Print the struct data as a string - A string containing the field name, and field value + + Hide your group title - + - Response to a "Groups" Search + Action state of the avatar, which can currently be typing and + editing - - The Group ID - - - The name of the group + + + - - The current number of members + + + - - Print the struct data as a string - A string containing the field name, and field value + + + - + - Parcel information returned from a request - - Represents one of the following: - A parcel of land on the grid that has its Show In Search flag set - A parcel of land owned by the agent making the request - A parcel of land owned by a group the agent making the request is a member of - - - In a request for Group Land, the First record will contain an empty record - - Note: This is not the same as searching the land for sale data source + Current teleport status - - The ID of the Agent of Group that owns the parcel + + Unknown status - - The name + + Teleport initialized - - The description + + Teleport in progress - - The Size of the parcel + + Teleport failed - - The billable Size of the parcel, for mainland - parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller - than the ActualArea. For Estate land this will always be 0 + + Teleport completed - - Indicates the ForSale status of the parcel + + Teleport cancelled - - The Gridwide X position + + + - - The Gridwide Y position + + No flags set, or teleport failed - - The Z position of the parcel, or 0 if no landing point set + + Set when newbie leaves help island for first time - - The name of the Region the parcel is located in + + + - - The Asset ID of the parcels Snapshot texture + + Via Lure - - The calculated visitor traffic + + Via Landmark - - The billing product SKU - Known values are: - - 023Mainland / Full Region - 024Estate / Full Region - 027Estate / Openspace - 029Estate / Homestead - 129Mainland / Homestead (Linden Owned) - - + + Via Location - - No longer used, will always be 0 + + Via Home - - Get a SL URL for the parcel - A string, containing a standard SLURL + + Via Telehub - - Print the struct data as a string - A string containing the field name, and field value + + Via Login - + + Linden Summoned + + + Linden Forced me + + - An "Event" Listing summary - - The ID of the event creator + + Agent Teleported Home via Script - - The name of the event + + + - - The events ID + + + - - A string containing the short date/time the event will begin + + + - - The event start time in Unixtime (seconds since epoch) + + forced to new location for example when avatar is banned or ejected - - The events maturity rating + + Teleport Finished via a Lure - - Print the struct data as a string - A string containing the field name, and field value + + Finished, Sim Changed - + + Finished, Same Sim + + - The details of an "Event" - - The events ID + + + - - The ID of the event creator + + + - - The name of the event + + + - - The category + + + - - The events description + + + - - The short date/time the event will begin + + + - - The event start time in Unixtime (seconds since epoch) UTC adjusted + + + - - The length of the event in minutes + + + - - 0 if no cover charge applies + + + Type of mute entry + - - The cover charge amount in L$ if applicable + + Object muted by name - - The name of the region where the event is being held + + Muted residet - - The gridwide location of the event + + Object muted by UUID - - The maturity rating + + Muted group - - Get a SL URL for the parcel where the event is hosted - A string, containing a standard SLURL + + Muted external entry - - Print the struct data as a string - A string containing the field name, and field value + + + Flags of mute entry + - - Contains the Event data returned from the data server from an EventInfoRequest + + No exceptions - - Construct a new instance of the EventInfoReplyEventArgs class - A single EventInfo object containing the details of an event + + Don't mute text chat - + + Don't mute voice chat + + + Don't mute particles + + + Don't mute sounds + + + Don't mute + + - A single EventInfo object containing the details of an event + Instant Message - - Contains the "Event" detail data returned from the data server + + Key of sender - - Construct a new instance of the DirEventsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Events" returned by the search query + + Name of sender - - The ID returned by + + Key of destination avatar - - A list of "Events" returned by the data server + + ID of originating estate - - Contains the "Event" list data returned from the data server + + Key of originating region - - Construct a new instance of PlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Places" returned by the data server query + + Coordinates in originating region - - The ID returned by + + Instant message type - - A list of "Places" returned by the data server + + Group IM session toggle - - Contains the places data returned from the data server + + Key of IM session, for Group Messages, the groups UUID - - Construct a new instance of the DirPlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing land data returned by the data server + + Timestamp of the instant message - - The ID returned by + + Instant message text - - A list containing Places data returned by the data server + + Whether this message is held for offline avatars - - Contains the classified data returned from the data server + + Context specific packed data - - Construct a new instance of the DirClassifiedsReplyEventArgs class - A list of classified ad data returned from the data server + + Print the struct data as a string + A string containing the field name, and field value - - A list containing Classified Ads returned by the data server + + Represents muted object or resident - - Contains the group data returned from the data server + + Type of the mute entry - - Construct a new instance of the DirGroupsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of groups data returned by the data server + + UUID of the mute etnry - - The ID returned by + + Mute entry name - - A list containing Groups data returned by the data server + + Mute flags - - Contains the people data returned from the data server + + Transaction detail sent with MoneyBalanceReply message - - Construct a new instance of the DirPeopleReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of people data returned by the data server + + Type of the transaction - - The ID returned by + + UUID of the transaction source - - A list containing People data returned by the data server + + Is the transaction source a group - - Contains the land sales data returned from the data server + + UUID of the transaction destination - - Construct a new instance of the DirLandReplyEventArgs class - A list of parcels for sale returned by the data server + + Is transaction destination a group - - A list containing land forsale data returned by the data server + + Transaction amount - + + Transaction description + + - Sent to the client to indicate a teleport request has completed + Manager class for our own avatar - + - Interface requirements for Messaging system + Constructor, setup callbacks for packets related to our avatar + A reference to the Class - - The of the agent + + + Agent movement and camera control + Agent movement is controlled by setting specific + After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags + This is most easily accomplished by setting one or more of the AgentMovement properties + Movement of an avatar is always based on a compass direction, for example AtPos will move the + agent from West to East or forward on the X Axis, AtNeg will of course move agent from + East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis + The Z axis is Up, finer grained control of movements can be done using the Nudge properties + - - + + Default constructor - - The simulators handle the agent teleported to + + + Camera controls for the agent, mostly a thin wrapper around + CoordinateFrame. This class is only responsible for state + tracking and math, it does not send any packets + - - A Uri which contains a list of Capabilities the simulator supports + + + Default constructor + - - Indicates the level of access required - to access the simulator, or the content rating, or the simulators - map status + + + - - The IP Address of the simulator + + The camera is a local frame of reference inside of + the larger grid space. This is where the math happens - - The UDP Port the simulator will listen for UDP traffic on + + + - - Status flags indicating the state of the Agent upon arrival, Flying, etc. + + + - + - Serialize the object - An containing the objects data - + - Deserialize the message - An containing the data - + + Agent camera controls + + + Currently only used for hiding your group title + + + Action state of the avatar, which can currently be + typing and editing + + - Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - + - Serialize the object - An containing the objects data - + - Deserialize the message - An containing the data - + - Serialize the object - An containing the objects data - + - Deserialize the message - An containing the data - + - Serialize the object - An containing the objects data - + - Deserialize the message - An containing the data - + - A message sent to the client which indicates a teleport request has failed - and contains some information on why it failed - - + + + - - A string key of the reason the teleport failed e.g. CouldntTPCloser - Which could be used to look up a value in a dictionary or enum + + Timer for sending AgentUpdate packets - - The of the Agent + + Move agent positive along the X axis - - A string human readable message containing the reason - An example: Could not teleport closer to destination + + Move agent negative along the X axis - - - Serialize the object - - An containing the objects data + + Move agent positive along the Y axis - + + Move agent negative along the Y axis + + + Move agent positive along the Z axis + + + Move agent negative along the Z axis + + - Deserialize the message - An containing the data - + - Serialize the object - An containing the objects data - + - Deserialize the message - An containing the data - + - Contains a list of prim owner information for a specific parcel in a simulator - - A Simulator will always return at least 1 entry - If agent does not have proper permission the OwnerID will be UUID.Zero - If agent does not have proper permission OR there are no primitives on parcel - the DataBlocksExtended map will not be sent from the simulator - - - An Array of objects - - + - Serialize the object - An containing the objects data - + - Deserialize the message - An containing the data - + - Prim ownership information for a specified owner on a single parcel - - The of the prim owner, - UUID.Zero if agent has no permission to view prim owner information - - - The total number of prims + + Causes simulator to make agent fly - - True if the OwnerID is a + + Stop movement - - True if the owner is online - This is no longer used by the LL Simulators + + Finish animation - - The date the most recent prim was rezzed + + Stand up from a sit - - - The details of a single parcel in a region, also contains some regionwide globals - + + Tells simulator to sit agent on ground - - Simulator-local ID of this parcel + + Place agent into mouselook mode - - Maximum corner of the axis-aligned bounding box for this - parcel + + Nudge agent positive along the X axis - - Minimum corner of the axis-aligned bounding box for this - parcel + + Nudge agent negative along the X axis - - Total parcel land area + + Nudge agent positive along the Y axis - - + + Nudge agent negative along the Y axis - - Key of authorized buyer + + Nudge agent positive along the Z axis - - Bitmap describing land layout in 4x4m squares across the - entire region + + Nudge agent negative along the Z axis - - + + + - - Date land was claimed + + + - - Appears to always be zero + + Tell simulator to mark agent as away - - Parcel Description + + + - - + + + - - + + + - - Total number of primitives owned by the parcel group on - this parcel + + + - - Whether the land is deeded to a group or not + + + Returns "always run" value, or changes it by sending a SetAlwaysRunPacket + - - + + The current value of the agent control flags - - Maximum number of primitives this parcel supports + + Gets or sets the interval in milliseconds at which + AgentUpdate packets are sent to the current simulator. Setting + this to a non-zero value will also enable the packet sending if + it was previously off, and setting it to zero will disable - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + Gets or sets whether AgentUpdate packets are sent to + the current simulator - - A URL which points to any Quicktime supported media type + + Reset movement controls every time we send an update - - A byte, if 0x1 viewer should auto scale media to fit object + + + Send an AgentUpdate with the camera set at the current agent + position and pointing towards the heading specified + + Camera rotation in radians + Whether to send the AgentUpdate reliable + or not - - URL For Music Stream + + + Rotates the avatar body and camera toward a target position. + This will also anchor the camera position on the avatar + + Region coordinates to turn toward - - Parcel Name + + + Send new AgentUpdate packet to update our current camera + position and rotation + - - Autoreturn value in minutes for others' objects + + + Send new AgentUpdate packet to update our current camera + position and rotation + + Whether to require server acknowledgement + of this packet - - + + + Send new AgentUpdate packet to update our current camera + position and rotation + + Whether to require server acknowledgement + of this packet + Simulator to send the update to - - Total number of other primitives on this parcel + + + Builds an AgentUpdate packet entirely from parameters. This + will not touch the state of Self.Movement or + Self.Movement.Camera in any way + + + + + + + + + + + + + + + + + + + + + + + - - UUID of the owner of this parcel + + + Used to specify movement actions for your agent + - - Total number of primitives owned by the parcel owner on - this parcel + + Empty flag - - + + Move Forward (SL Keybinding: W/Up Arrow) - - How long is pass valid for + + Move Backward (SL Keybinding: S/Down Arrow) - - Price for a temporary pass + + Move Left (SL Keybinding: Shift-(A/Left Arrow)) - - + + Move Right (SL Keybinding: Shift-(D/Right Arrow)) - - + + Not Flying: Jump/Flying: Move Up (SL Keybinding: E) - - + + Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) - - + + Unused - - True if the region denies access to age unverified users + + Unused - - + + Unused - - This field is no longer used + + Unused - - The result of a request for parcel properties + + ORed with AGENT_CONTROL_AT_* if the keyboard is being used - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it + + ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used - - - Number of primitives your avatar is currently - selecting and sitting on in this parcel - + + ORed with AGENT_CONTROL_UP_* if the keyboard is being used - - + + Fly - + - A number which increments by 1, starting at 0 for each ParcelProperties request. - Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. - a Negative number indicates the action in has occurred. - - Maximum primitives across the entire simulator + + Finish our current animation - - Total primitives across the entire simulator + + Stand up from the ground or a prim seat - - + + Sit on the ground at our current location - - Key of parcel snapshot + + Whether mouselook is currently enabled - - Parcel ownership status + + Legacy, used if a key was pressed for less than a certain amount of time - - Total number of primitives on this parcel + + Legacy, used if a key was pressed for less than a certain amount of time - - + + Legacy, used if a key was pressed for less than a certain amount of time - - + + Legacy, used if a key was pressed for less than a certain amount of time - - A description of the media + + Legacy, used if a key was pressed for less than a certain amount of time - - An Integer which represents the height of the media + + Legacy, used if a key was pressed for less than a certain amount of time - - An integer which represents the width of the media + + + - - A boolean, if true the viewer should loop the media + + + - - A string which contains the mime type of the media + + Set when the avatar is idled or set to away. Note that the away animation is + activated separately from setting this flag - - true to obscure (hide) media url + + + - - true to obscure (hide) music url + + + - + - Serialize the object - An containing the objects data - + - Deserialize the message - An containing the data - - A message sent from the viewer to the simulator to updated a specific parcels settings + + + Called once attachment resource usage information has been collected + + Indicates if operation was successfull + Attachment resource usage information - - The of the agent authorized to purchase this - parcel of land or a NULL if the sale is authorized to anyone + + The event subscribers. null if no subcribers - - true to enable auto scaling of the parcel media + + Thread sync lock object - - The category of this parcel used when search is enabled to restrict - search results + + The event subscribers. null if no subcribers - - A string containing the description to set + + Thread sync lock object - - The of the which allows for additional - powers and restrictions. + + The event subscribers. null if no subcribers - - The which specifies how avatars which teleport - to this parcel are handled + + Thread sync lock object - - The LocalID of the parcel to update settings on + + The event subscribers. null if no subcribers - - A string containing the description of the media which can be played - to visitors + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - - Deserialize the message - - An containing the data + + Thread sync lock object - - - Serialize the object - - An containing the objects data + + The event subscribers. null if no subcribers - - Base class used for the RemoteParcelRequest message + + Thread sync lock object - - - A message sent from the viewer to the simulator to request information - on a remote parcel - + + The event subscribers. null if no subcribers - - Local sim position of the parcel we are looking up + + Thread sync lock object - - Region handle of the parcel we are looking up + + The event subscribers. null if no subcribers - - Region of the parcel we are looking up + + Thread sync lock object - - - Serialize the object - - An containing the objects data + + The event subscribers. null if no subcribers - - - Deserialize the message - - An containing the data + + Thread sync lock object - - - A message sent from the simulator to the viewer in response to a - which will contain parcel information - + + The event subscribers. null if no subcribers - - The grid-wide unique parcel ID + + Thread sync lock object - - - Serialize the object - - An containing the objects data + + The event subscribers. null if no subcribers - - - Deserialize the message - - An containing the data + + Thread sync lock object - - - A message containing a request for a remote parcel from a viewer, or a response - from the simulator to that request - + + The event subscribers. null if no subcribers - - The request or response details block + + Thread sync lock object - - - Serialize the object - - An containing the objects data + + The event subscribers, null of no subscribers - - - Deserialize the message - - An containing the data + + Thread sync lock object - - - Serialize the object - - An containing the objects data + + The event subscribers. null if no subcribers - - - Deserialize the message - - An containing the data + + Thread sync lock object - - - Serialize the object - - An containing the objects data + + Reference to the GridClient instance - - - Deserialize the message - - An containing the data + + Used for movement and camera tracking - - - A message sent from the simulator to an agent which contains - the groups the agent is in - + + Currently playing animations for the agent. Can be used to + check the current movement status such as walking, hovering, aiming, + etc. by checking against system animations found in the Animations class - - The Agent receiving the message + + Dictionary containing current Group Chat sessions and members - - An array containing information - for each the agent is a member of + + Dictionary containing mute list keyead on mute name and key - - An array containing information - for each the agent is a member of + + Raised when a scripted object or agent within range sends a public message - - - Serialize the object - - An containing the objects data + + Raised when a scripted object sends a dialog box containing possible + options an agent can respond to - - - Deserialize the message - - An containing the data + + Raised when an object requests a change in the permissions an agent has permitted - - Group Details specific to the agent + + Raised when a script requests an agent open the specified URL - - true of the agent accepts group notices + + Raised when an agents currency balance is updated - - The agents tier contribution to the group + + Raised when a transaction occurs involving currency such as a land purchase - - The Groups + + Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from + private messaging to friendship offers. The Dialog field defines what type of message has arrived - - The of the groups insignia + + Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times + for each teleport indicating the progress of the request - - The name of the group + + Raised when a simulator sends agent specific information for our avatar. - - The aggregate permissions the agent has in the group for all roles the agent - is assigned + + Raised when our agents animation playlist changes - - An optional block containing additional agent specific information + + Raised when an object or avatar forcefully collides with our agent - - true of the agent allows this group to be - listed in their profile + + Raised when our agent crosses a region border into another region - - - A message sent from the viewer to the simulator which - specifies the language and permissions for others to detect - the language specified - + + Raised when our agent succeeds or fails to join a group chat session - - A string containng the default language - to use for the agent + + Raised when a simulator sends an urgent message usually indication the recent failure of + another action we have attempted to take such as an attempt to enter a parcel where we are denied access - - true of others are allowed to - know the language setting + + Raised when a script attempts to take or release specified controls for our agent - - - Serialize the object - - An containing the objects data + + Raised when the simulator detects our agent is trying to view something + beyond its limits - - - Deserialize the message - - An containing the data + + Raised when a script sensor reply is received from a simulator - - - An EventQueue message sent from the simulator to an agent when the agent - leaves a group - + + Raised in response to a request - - - An Array containing the AgentID and GroupID - + + Raised when an avatar enters a group chat session we are participating in - - - Serialize the object - - An containing the objects data + + Raised when an agent exits a group chat session we are participating in - - - Deserialize the message - - An containing the data + + Raised when the simulator sends us data containing + the details of display name change - - An object containing the Agents UUID, and the Groups UUID + + Raised when a scripted object or agent within range sends a public message - - The ID of the Agent leaving the group + + Your (client) avatars + "client", "agent", and "avatar" all represent the same thing - - The GroupID the Agent is leaving + + Temporary assigned to this session, used for + verifying our identity in packets - - Base class for Asset uploads/results via Capabilities + + Shared secret that is never sent over the wire - - - The request state - + + Your (client) avatar ID, local to the current region/sim - - - Serialize the object - - An containing the objects data + + Where the avatar started at login. Can be "last", "home" + or a login - - - Deserialize the message - - An containing the data + + The access level of this agent, usually M or PG - - - A message sent from the viewer to the simulator to request a temporary upload capability - which allows an asset to be uploaded - + + The CollisionPlane of Agent - - The Capability URL sent by the simulator to upload the baked texture to + + An representing the velocity of our agent - - - A message sent from the simulator that will inform the agent the upload is complete, - and the UUID of the uploaded asset - + + An representing the acceleration of our agent - - The uploaded texture asset ID + + A which specifies the angular speed, and axis about which an Avatar is rotating. - - - A message sent from the viewer to the simulator to request a temporary - capability URI which is used to upload an agents baked appearance textures - + + Position avatar client will goto when login to 'home' or during + teleport request to 'home' region. - - Object containing request or response + + LookAt point saved/restored with HomePosition - - - Serialize the object - - An containing the objects data + + Avatar First Name (i.e. Philip) - - - Deserialize the message - - An containing the data + + Avatar Last Name (i.e. Linden) - - - A message sent from the simulator which indicates the minimum version required for - using voice chat - + + Avatar Full Name (i.e. Philip Linden) - - Major Version Required + + Gets the health of the agent - - Minor version required + + Gets the current balance of the agent - - The name of the region sending the version requrements + + Gets the local ID of the prim the agent is sitting on, + zero if the avatar is not currently sitting - - - Serialize the object - - An containing the objects data + + Gets the of the agents active group. - - - Deserialize the message - - An containing the data + + Gets the Agents powers in the currently active group - - - A message sent from the simulator to the viewer containing the - voice server URI - + + Current status message for teleporting - - The Parcel ID which the voice server URI applies + + Current position of the agent as a relative offset from + the simulator, or the parent object if we are sitting on something - - The name of the region + + Current rotation of the agent as a relative rotation from + the simulator, or the parent object if we are sitting on something - - A uri containing the server/channel information - which the viewer can utilize to participate in voice conversations + + Current position of the agent in the simulator - + - Serialize the object + A representing the agents current rotation - An containing the objects data - - - Deserialize the message - - An containing the data + + Returns the global grid position of the avatar - - - - + + Raises the ChatFromSimulator event + A ChatEventArgs object containing the + data returned from the data server - - + + Raises the ScriptDialog event + A SctriptDialogEventArgs object containing the + data returned from the data server - - + + Raises the ScriptQuestion event + A ScriptQuestionEventArgs object containing the + data returned from the data server - - - Serialize the object - - An containing the objects data + + Raises the LoadURL event + A LoadUrlEventArgs object containing the + data returned from the data server - - - Deserialize the message - - An containing the data + + Raises the MoneyBalance event + A BalanceEventArgs object containing the + data returned from the data server - - - A message sent by the viewer to the simulator to request a temporary - capability for a script contained with in a Tasks inventory to be updated - + + Raises the MoneyBalanceReply event + A MoneyBalanceReplyEventArgs object containing the + data returned from the data server - - Object containing request or response + + Raises the IM event + A InstantMessageEventArgs object containing the + data returned from the data server - - - Serialize the object - - An containing the objects data + + Raises the TeleportProgress event + A TeleportEventArgs object containing the + data returned from the data server - - - Deserialize the message - - An containing the data + + Raises the AgentDataReply event + A AgentDataReplyEventArgs object containing the + data returned from the data server - - - A message sent from the simulator to the viewer to indicate - a Tasks scripts status. - + + Raises the AnimationsChanged event + A AnimationsChangedEventArgs object containing the + data returned from the data server - - The Asset ID of the script + + Raises the MeanCollision event + A MeanCollisionEventArgs object containing the + data returned from the data server - - True of the script is compiled/ran using the mono interpreter, false indicates it - uses the older less efficient lsl2 interprter + + Raises the RegionCrossed event + A RegionCrossedEventArgs object containing the + data returned from the data server - - The Task containing the scripts + + Raises the GroupChatJoined event + A GroupChatJoinedEventArgs object containing the + data returned from the data server - - true of the script is in a running state + + Raises the AlertMessage event + A AlertMessageEventArgs object containing the + data returned from the data server - - - Serialize the object - - An containing the objects data + + Raises the ScriptControlChange event + A ScriptControlEventArgs object containing the + data returned from the data server - - - Deserialize the message - - An containing the data + + Raises the CameraConstraint event + A CameraConstraintEventArgs object containing the + data returned from the data server - - - A message containing the request/response used for updating a gesture - contained with an agents inventory - - - - Object containing request or response + + Raises the ScriptSensorReply event + A ScriptSensorReplyEventArgs object containing the + data returned from the data server - - - Serialize the object - - An containing the objects data + + Raises the AvatarSitResponse event + A AvatarSitResponseEventArgs object containing the + data returned from the data server - - - Deserialize the message - - An containing the data + + Raises the ChatSessionMemberAdded event + A ChatSessionMemberAddedEventArgs object containing the + data returned from the data server - - - A message request/response which is used to update a notecard contained within - a tasks inventory - + + Raises the ChatSessionMemberLeft event + A ChatSessionMemberLeftEventArgs object containing the + data returned from the data server - - The of the Task containing the notecard asset to update + + Raises the SetDisplayNameReply Event + A SetDisplayNameReplyEventArgs object containing + the data sent from the simulator - - The notecard assets contained in the tasks inventory + + Raises the MuteListUpdated event + A EventArgs object containing the + data returned from the data server - + - Serialize the object + Send a text message from the Agent to the Simulator - An containing the objects data + A containing the message + The channel to send the message on, 0 is the public channel. Channels above 0 + can be used however only scripts listening on the specified channel will see the message + Denotes the type of message being sent, shout, whisper, etc. - + - Deserialize the message + Request any instant messages sent while the client was offline to be resent. - An containing the data - + - A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability - which is used to update an asset in an agents inventory + Send an Instant Message to another Avatar + The recipients + A containing the message to send - + - The Notecard AssetID to replace + Send an Instant Message to an existing group chat or conference chat + The recipients + A containing the message to send + IM session ID (to differentiate between IM windows) - + - Serialize the object + Send an Instant Message - An containing the objects data + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + IDs of sessions for a conference - + - Deserialize the message + Send an Instant Message - An containing the data + The name this IM will show up as being from + Key of Avatar + Text message being sent + IM session ID (to differentiate between IM windows) + Type of instant message to send + Whether to IM offline avatars as well + Senders Position + RegionID Sender is In + Packed binary data that is specific to + the dialog type - + - A message containing the request/response used for updating a notecard - contained with an agents inventory + Send an Instant Message to a group + + of the group to send message to + Text Message being sent. - - Object containing request or response - - + - Serialize the object + Send an Instant Message to a group the agent is a member of - An containing the objects data + The name this IM will show up as being from + + of the group to send message to + Text message being sent - + - Deserialize the message + Send a request to join a group chat session - An containing the data + + of Group to leave - + - Serialize the object + Exit a group chat session. This will stop further Group chat messages + from being sent until session is rejoined. - An containing the objects data + + of Group chat session to leave - + - Deserialize the message + Reply to script dialog questions. - An containing the data + Channel initial request came on + Index of button you're "clicking" + Label of button you're "clicking" + + of Object that sent the dialog request + - + - A message sent from the simulator to the viewer which indicates - an error occurred while attempting to update a script in an agents or tasks - inventory + Accept invite for to a chatterbox session + + of session to accept invite to - - true of the script was successfully compiled by the simulator - - - A string containing the error which occured while trying - to update the script - - - A new AssetID assigned to the script - - + - A message sent from the viewer to the simulator - requesting the update of an existing script contained - within a tasks inventory + Start a friends conference + + List of UUIDs to start a conference with + the temportary session ID returned in the callback> - - if true, set the script mode to running - - - The scripts InventoryItem ItemID to update - - - A lowercase string containing either "mono" or "lsl2" which - specifies the script is compiled and ran on the mono runtime, or the older - lsl runtime - - - The tasks which contains the script to update - - + - Serialize the object + Start a particle stream between an agent and an object - An containing the objects data + + Key of the source agent + + Key of the target object + + + The type from the enum + A unique for this effect - + - Deserialize the message + Start a particle stream between an agent and an object - An containing the data + + Key of the source agent + + Key of the target object + A representing the beams offset from the source + A which sets the avatars lookat animation + + of the Effect - + - A message containing either the request or response used in updating a script inside - a tasks inventory + Create a particle beam between an avatar and an primitive + The ID of source avatar + The ID of the target primitive + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam + - - Object containing request or response - - + - Serialize the object + Create a particle swirl around a target position using a packet - An containing the objects data + global offset + A object containing the combined red, green, blue and alpha + color values of particle beam + a float representing the duration the parcicle beam will last + A Unique ID for the beam - + - Deserialize the message + Sends a request to sit on the specified object - An containing the data + + of the object to sit on + Sit at offset - + - Response from the simulator to notify the viewer the upload is completed, and - the UUID of the script asset and its compiled status + Follows a call to to actually sit on the object - - The uploaded texture asset ID - - - true of the script was compiled successfully + + Stands up from sitting on a prim or the ground + true of AgentUpdate was sent - + - A message sent from a viewer to the simulator requesting a temporary uploader capability - used to update a script contained in an agents inventory + Does a "ground sit" at the avatar's current position - - The existing asset if of the script in the agents inventory to replace - - - The language of the script - Defaults to lsl version 2, "mono" might be another possible option - - + - Serialize the object + Starts or stops flying - An containing the objects data + True to start flying, false to stop flying - + - Deserialize the message + Starts or stops crouching - An containing the data + True to start crouching, false to stop crouching - + - A message containing either the request or response used in updating a script inside - an agents inventory + Starts a jump (begin holding the jump key) - - Object containing request or response - - + - Serialize the object + Use the autopilot sim function to move the avatar to a new + position. Uses double precision to get precise movements - An containing the objects data + The z value is currently not handled properly by the simulator + Global X coordinate to move to + Global Y coordinate to move to + Z coordinate to move to - + - Deserialize the message + Use the autopilot sim function to move the avatar to a new position - An containing the data + The z value is currently not handled properly by the simulator + Integer value for the global X coordinate to move to + Integer value for the global Y coordinate to move to + Floating-point value for the Z coordinate to move to - + - Serialize the object + Use the autopilot sim function to move the avatar to a new position - An containing the objects data + The z value is currently not handled properly by the simulator + Integer value for the local X coordinate to move to + Integer value for the local Y coordinate to move to + Floating-point value for the Z coordinate to move to - + + Macro to cancel autopilot sim function + Not certain if this is how it is really done + true if control flags were set and AgentUpdate was sent to the simulator + + - Deserialize the message + Grabs an object - An containing the data + an unsigned integer of the objects ID within the simulator + - - Base class for Map Layers via Capabilities - - - - - + - Serialize the object + Overload: Grab a simulated object - An containing the objects data + an unsigned integer of the objects ID within the simulator + + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - + - Deserialize the message + Drag an object - An containing the data + + of the object to drag + Drag target in region coordinates - + - Sent by an agent to the capabilities server to request map layers + Overload: Drag an object + + of the object to drag + Drag target in region coordinates + + + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - + - A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates + Release a grabbed object + The Objects Simulator Local ID + + + - - An array containing LayerData items - - + - Serialize the object + Release a grabbed object - An containing the objects data + The Objects Simulator Local ID + The texture coordinates to grab + The surface coordinates to grab + The face of the position to grab + The region coordinates of the position to grab + The surface normal of the position to grab (A normal is a vector perpindicular to the surface) + The surface binormal of the position to grab (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - + - Deserialize the message + Touches an object - An containing the data + an unsigned integer of the objects ID within the simulator + - + - An object containing map location details + Request the current L$ balance - - The Asset ID of the regions tile overlay - - - The grid location of the southern border of the map tile - - - The grid location of the western border of the map tile - - - The grid location of the eastern border of the map tile - - - The grid location of the northern border of the map tile - - - Object containing request or response - - + - Serialize the object + Give Money to destination Avatar - An containing the objects data + UUID of the Target Avatar + Amount in L$ - + - Deserialize the message + Give Money to destination Avatar - An containing the data + UUID of the Target Avatar + Amount in L$ + Description that will show up in the + recipients transaction history - + - New as of 1.23 RC1, no details yet. + Give L$ to an object + object to give money to + amount of L$ to give + name of object - + - Serialize the object + Give L$ to a group - An containing the objects data + group to give money to + amount of L$ to give - + - Deserialize the message + Give L$ to a group - An containing the data + group to give money to + amount of L$ to give + description of transaction - + - Serialize the object + Pay texture/animation upload fee - An containing the objects data - + - Deserialize the message + Pay texture/animation upload fee - An containing the data - - - A string containing the method used + description of the transaction - + - A request sent from an agent to the Simulator to begin a new conference. - Contains a list of Agents which will be included in the conference - - - - An array containing the of the agents invited to this conference - - - The conferences Session ID + Give Money to destination Object or Avatar +
+ UUID of the Target Object/Avatar + Amount in L$ + Reason (Optional normally) + The type of transaction + Transaction flags, mostly for identifying group + transactions
- + - Serialize the object + Plays a gesture - An containing the objects data + Asset of the gesture - + - Deserialize the message + Mark gesture active - An containing the data + Inventory of the gesture + Asset of the gesture - + - A moderation request sent from a conference moderator - Contains an agent and an optional action to take - - - - The Session ID + Mark gesture inactive +
+ Inventory of the gesture
- - + + + Send an AgentAnimation packet that toggles a single animation on + + The of the animation to start playing + Whether to ensure delivery of this packet or not - - A list containing Key/Value pairs, known valid values: - key: text value: true/false - allow/disallow specified agents ability to use text in session - key: voice value: true/false - allow/disallow specified agents ability to use voice in session + + + Send an AgentAnimation packet that toggles a single animation off - "text" or "voice" + The of a + currently playing animation to stop playing + Whether to ensure delivery of this packet or not - - + + + Send an AgentAnimation packet that will toggle animations on or off + + A list of animation s, and whether to + turn that animation on or off + Whether to ensure delivery of this packet or not - + - Serialize the object + Teleports agent to their stored home location - An containing the objects data + true on successful teleport to home location - + - Deserialize the message + Teleport agent to a landmark - An containing the data + + of the landmark to teleport agent to + true on success, false on failure - + - A message sent from the agent to the simulator which tells the - simulator we've accepted a conference invitation + Attempt to look up a simulator name and teleport to the discovered + destination + Region name to look up + Position to teleport to + True if the lookup and teleport were successful, otherwise + false - - The conference SessionID + + + Attempt to look up a simulator name and teleport to the discovered + destination + + Region name to look up + Position to teleport to + Target to look at + True if the lookup and teleport were successful, otherwise + false - + - Serialize the object + Teleport agent to another region - An containing the objects data + handle of region to teleport agent to + + position in destination sim to teleport to + true on success, false on failure + This call is blocking - + - Deserialize the message + Teleport agent to another region - An containing the data + handle of region to teleport agent to + + position in destination sim to teleport to + + direction in destination sim agent will look at + true on success, false on failure + This call is blocking - + - Serialize the object + Request teleport to a another simulator - An containing the objects data + handle of region to teleport agent to + + position in destination sim to teleport to - + - Deserialize the message + Request teleport to a another simulator - An containing the data + handle of region to teleport agent to + + position in destination sim to teleport to + + direction in destination sim agent will look at - + - Serialize the object + Teleport agent to a landmark - An containing the objects data + + of the landmark to teleport agent to - + - Deserialize the message + Send a teleport lure to another avatar with default "Join me in ..." invitation message - An containing the data + target avatars to lure - + - Serialize the object + Send a teleport lure to another avatar with custom invitation message - An containing the objects data + target avatars to lure + custom message to send with invitation - + - Deserialize the message + Respond to a teleport lure by either accepting it and initiating + the teleport, or denying it - An containing the data + + of the avatar sending the lure + IM session of the incoming lure request + true to accept the lure, false to decline it - - Key of sender - - - Name of sender - - - Key of destination avatar - - - ID of originating estate - - - Key of originating region - - - Coordinates in originating region - - - Instant message type - - - Group IM session toggle - - - Key of IM session, for Group Messages, the groups UUID - - - Timestamp of the instant message - - - Instant message text - - - Whether this message is held for offline avatars - - - Context specific packed data - - - Is this invitation for voice group/conference chat - - + - Serialize the object + Update agent profile - An containing the objects data + + struct containing updated + profile information - + - Deserialize the message + Update agents profile interests - An containing the data + selection of interests from struct - + - Sent from the simulator to the viewer. - - When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including - a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate - this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" - - During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are - excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with - the string "ENTER" or "LEAVE" respectively. + Set the height and the width of the client window. This is used + by the server to build a virtual camera frustum for our avatar + New height of the viewer window + New width of the viewer window - + - Serialize the object + Request the list of muted objects and avatars for this agent - An containing the objects data - + - Deserialize the message + Mute an object, resident, etc. - An containing the data + Mute type + Mute UUID + Mute name - + - An EventQueue message sent when the agent is forcibly removed from a chatterbox session + Mute an object, resident, etc. + Mute type + Mute UUID + Mute name + Mute flags - + - A string containing the reason the agent was removed + Unmute an object, resident, etc. + Mute UUID + Mute name - + - The ChatterBoxSession's SessionID + Sets home location to agents current position + will fire an AlertMessage () with + success or failure message - + - Serialize the object + Move an agent in to a simulator. This packet is the last packet + needed to complete the transition in to a new simulator - An containing the objects data + + Object - + - Deserialize the message + Reply to script permissions request - An containing the data + + Object + + of the itemID requesting permissions + + of the taskID requesting permissions + + list of permissions to allow - + - Serialize the object + Respond to a group invitation by either accepting or denying it - An containing the objects data + UUID of the group (sent in the AgentID field of the invite message) + IM Session ID from the group invitation message + Accept the group invitation or deny it - + - Deserialize the message + Requests script detection of objects and avatars - An containing the data + name of the object/avatar to search for + UUID of the object or avatar to search for + Type of search from ScriptSensorTypeFlags + range of scan (96 max?) + the arc in radians to search within + an user generated ID to correlate replies with + Simulator to perform search in - + - Serialize the object + Create or update profile pick - An containing the objects data + UUID of the pick to update, or random UUID to create a new pick + Is this a top pick? (typically false) + UUID of the parcel (UUID.Zero for the current parcel) + Name of the pick + Global position of the pick landmark + UUID of the image displayed with the pick + Long description of the pick - + - Deserialize the message + Delete profile pick - An containing the data + UUID of the pick to delete - + - Serialize the object + Create or update profile Classified - An containing the objects data + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Global position of the classified landmark + Name of the classified + Long description of the classified + if true, auto renew classified after expiration - + - Deserialize the message + Create or update profile Classified - An containing the data + UUID of the classified to update, or random UUID to create a new classified + Defines what catagory the classified is in + UUID of the image displayed with the classified + Price that the classified will cost to place for a week + Name of the classified + Long description of the classified + if true, auto renew classified after expiration - + - Serialize the object + Delete a classified ad - An containing the objects data + The classified ads ID - + - Deserialize the message + Fetches resource usage by agents attachmetns - An containing the data + Called when the requested information is collected - + - + Initates request to set a new display name + Previous display name + Desired new display name - + - Serialize the object + Tells the sim what UI language is used, and if it's ok to share that with scripts - An containing the objects data + Two letter language code + Share language info with scripts - + - Deserialize the message + Take an incoming ImprovedInstantMessage packet, auto-parse, and if + OnInstantMessage is defined call that with the appropriate arguments - An containing the data + The sender + The EventArgs object containing the packet data - + - Serialize the object + Take an incoming Chat packet, auto-parse, and if OnChat is defined call + that with the appropriate arguments. - An containing the objects data + The sender + The EventArgs object containing the packet data - + - Deserialize the message + Used for parsing llDialogs - An containing the data + The sender + The EventArgs object containing the packet data - + - Serialize the object + Used for parsing llRequestPermissions dialogs - An containing the objects data + The sender + The EventArgs object containing the packet data - + - Deserialize the message + Handles Script Control changes when Script with permissions releases or takes a control - An containing the data + The sender + The EventArgs object containing the packet data - + - A message sent from the viewer to the simulator which - specifies that the user has changed current URL - of the specific media on a prim face + Used for parsing llLoadURL Dialogs + The sender + The EventArgs object containing the packet data - + - New URL + Update client's Position, LookAt and region handle from incoming packet + The sender + The EventArgs object containing the packet data + This occurs when after an avatar moves into a new sim - - - Prim UUID where navigation occured - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Face index - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Serialize the object - - An containing the objects data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Deserialize the message + EQ Message fired with the result of SetDisplayName request - An containing the data - - - Base class used for the ObjectMedia message + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - + - Message used to retrive prim media data + Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. + The Message Key + An IMessage object Deserialized from the recieved message event + The simulator originating the event message - + - Prim UUID + Process TeleportFinish from Event Queue and pass it onto our TeleportHandler + The message system key for this event + IMessage object containing decoded data from OSD + The simulator originating the event message - - - Requested operation, either GET or UPDATE - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Serialize object - - Serialized object as OSDMap + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Deserialize the message - - An containing the data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Message used to update prim media data + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - - Prim UUID - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + This packet is now being sent via the EventQueue - + - Array of media entries indexed by face number + Group Chat event handler + The capability Key + IMessage object containing decoded data from OSD + + - + - Media version string + Response from request to join a group chat + + + IMessage object containing decoded data from OSD + + - + - Serialize object + Someone joined or left group chat - Serialized object as OSDMap + + + IMessage object containing decoded data from OSD + + - + - Deserialize the message + Handle a group chat Invitation - An containing the data + Caps Key + IMessage object containing decoded data from OSD + Originating Simulator - + - Message used to update prim media data + Moderate a chat session + the of the session to moderate, for group chats this will be the groups UUID + the of the avatar to moderate + Either "voice" to moderate users voice, or "text" to moderate users text session + true to moderate (silence user), false to allow avatar to speak - - - Prim UUID - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Array of media entries indexed by face number - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Requested operation, either GET or UPDATE - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Serialize object - - Serialized object as OSDMap + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Deserialize the message - An containing the data - + - Message for setting or getting per face MediaEntry + Construct a new instance of the ChatEventArgs object + Sim from which the message originates + The message sent + The audible level of the message + The type of message sent: whisper, shout, etc + The source type of the message sender + The name of the agent or object sending the message + The ID of the agent or object sending the message + The ID of the object owner, or the agent ID sending the message + The position of the agent or object sending the message - - The request or response details block + + Get the simulator sending the message - - - Serialize the object - - An containing the objects data + + Get the message sent - - - Deserialize the message - - An containing the data + + Get the audible level of the message - - Details about object resource usage + + Get the type of message sent: whisper, shout, etc - - Object UUID + + Get the source type of the message sender - - Object name + + Get the name of the agent or object sending the message - - Indicates if object is group owned + + Get the ID of the agent or object sending the message - - Locatio of the object + + Get the ID of the object owner, or the agent ID sending the message - - Object owner + + Get the position of the agent or object sending the message - - Resource usage, keys are resource names, values are resource usage for that specific resource + + Contains the data sent when a primitive opens a dialog with this agent - + - Deserializes object from OSD + Construct a new instance of the ScriptDialogEventArgs - An containing the data + The dialog message + The name of the object that sent the dialog request + The ID of the image to be displayed + The ID of the primitive sending the dialog + The first name of the senders owner + The last name of the senders owner + The communication channel the dialog was sent on + The string labels containing the options presented in this dialog + UUID of the scritped object owner - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data + + Get the dialog message - - Details about parcel resource usage + + Get the name of the object that sent the dialog request - - Parcel UUID + + Get the ID of the image to be displayed - - Parcel local ID + + Get the ID of the primitive sending the dialog - - Parcel name + + Get the first name of the senders owner - - Indicates if parcel is group owned + + Get the last name of the senders owner - - Parcel owner + + Get the communication channel the dialog was sent on, responses + should also send responses on this same channel - - Array of containing per object resource usage + + Get the string labels containing the options presented in this dialog - - - Deserializes object from OSD - - An containing the data + + UUID of the scritped object owner - + + Contains the data sent when a primitive requests debit or other permissions + requesting a YES or NO answer + + - Makes an instance based on deserialized data + Construct a new instance of the ScriptQuestionEventArgs - serialized data - Instance containg deserialized data + The simulator containing the object sending the request + The ID of the script making the request + The ID of the primitive containing the script making the request + The name of the primitive making the request + The name of the owner of the object making the request + The permissions being requested - - Resource usage base class, both agent and parcel resource - usage contains summary information + + Get the simulator containing the object sending the request - - Summary of available resources, keys are resource names, - values are resource usage for that specific resource + + Get the ID of the script making the request - - Summary resource usage, keys are resource names, - values are resource usage for that specific resource + + Get the ID of the primitive containing the script making the request - - - Serializes object - - serialized data + + Get the name of the primitive making the request - - - Deserializes object from OSD - - An containing the data + + Get the name of the owner of the object making the request - - Agent resource usage + + Get the permissions being requested - - Per attachment point object resource usage + + Contains the data sent when a primitive sends a request + to an agent to open the specified URL - + - Deserializes object from OSD + Construct a new instance of the LoadUrlEventArgs - An containing the data + The name of the object sending the request + The ID of the object sending the request + The ID of the owner of the object sending the request + True if the object is owned by a group + The message sent with the request + The URL the object sent - - - Makes an instance based on deserialized data - - serialized data - Instance containg deserialized data + + Get the name of the object sending the request - - - Detects which class handles deserialization of this message - - An containing the data - Object capable of decoding this message + + Get the ID of the object sending the request - - Request message for parcel resource usage + + Get the ID of the owner of the object sending the request - - UUID of the parel to request resource usage info + + True if the object is owned by a group - - - Serializes object - - serialized data + + Get the message sent with the request - + + Get the URL the object sent + + + The date received from an ImprovedInstantMessage + + - Deserializes object from OSD + Construct a new instance of the InstantMessageEventArgs object - An containing the data + the InstantMessage object + the simulator where the InstantMessage origniated - - Response message for parcel resource usage + + Get the InstantMessage object - - URL where parcel resource usage details can be retrieved + + Get the simulator where the InstantMessage origniated - - URL where parcel resource usage summary can be retrieved + + Contains the currency balance - + - Serializes object + Construct a new BalanceEventArgs object - serialized data + The currenct balance - + - Deserializes object from OSD + Get the currenct balance - An containing the data - + + Contains the transaction summary when an item is purchased, + money is given, or land is purchased + + - Detects which class handles deserialization of this message + Construct a new instance of the MoneyBalanceReplyEventArgs object - An containing the data - Object capable of decoding this message + The ID of the transaction + True of the transaction was successful + The current currency balance + The meters credited + The meters comitted + A brief description of the transaction - - Parcel resource usage + + Get the ID of the transaction - - Array of containing per percal resource usage + + True of the transaction was successful - - - Deserializes object from OSD - - An containing the data + + Get the remaining currency balance - - - Type of gesture step - + + Get the meters credited - - - Base class for gesture steps - + + Get the meters comitted - - - Retururns what kind of gesture step this is - + + Get the description of the transaction - - - Describes animation step of a gesture - + + Detailed transaction information - - - If true, this step represents start of animation, otherwise animation stop - + + Data sent from the simulator containing information about your agent and active group information - + - Animation asset + Construct a new instance of the AgentDataReplyEventArgs object + The agents first name + The agents last name + The agents active group ID + The group title of the agents active group + The combined group powers the agent has in the active group + The name of the group the agent has currently active - - - Animation inventory name - + + Get the agents first name - - - Returns what kind of gesture step this is - + + Get the agents last name - - - Describes sound step of a gesture - + + Get the active group ID of your agent - - - Sound asset - + + Get the active groups title of your agent - - - Sound inventory name - + + Get the combined group powers of your agent - - - Returns what kind of gesture step this is - + + Get the active group name of your agent - - - Describes sound step of a gesture - + + Data sent by the simulator to indicate the active/changed animations + applied to your agent - + - Text to output in chat + Construct a new instance of the AnimationsChangedEventArgs class + The dictionary that contains the changed animations - - - Returns what kind of gesture step this is - + + Get the dictionary that contains the changed animations - + - Describes sound step of a gesture + Data sent from a simulator indicating a collision with your agent - + - If true in this step we wait for all animations to finish + Construct a new instance of the MeanCollisionEventArgs class + The type of collision that occurred + The ID of the agent or object that perpetrated the agression + The ID of the Victim + The strength of the collision + The Time the collision occurred - - - If true gesture player should wait for the specified amount of time - + + Get the Type of collision - - - Time in seconds to wait if WaitForAnimation is false - + + Get the ID of the agent or object that collided with your agent - - - Returns what kind of gesture step this is - + + Get the ID of the agent that was attacked - - - Describes the final step of a gesture - + + A value indicating the strength of the collision - - - Returns what kind of gesture step this is - + + Get the time the collision occurred - - - Represents a sequence of animations, sounds, and chat actions - + + Data sent to your agent when it crosses region boundaries - + - Base class for all Asset types + Construct a new instance of the RegionCrossedEventArgs class + The simulator your agent just left + The simulator your agent is now in - - A byte array containing the raw asset data - - - True if the asset it only stored on the server temporarily + + Get the simulator your agent just left - - A unique ID + + Get the simulator your agent is now in - - - Construct a new Asset object - + + Data sent from the simulator when your agent joins a group chat session - + - Construct a new Asset object + Construct a new instance of the GroupChatJoinedEventArgs class - A unique specific to this asset - A byte array containing the raw asset data + The ID of the session + The name of the session + A temporary session id used for establishing new sessions + True of your agent successfully joined the session - - - Regenerates the AssetData byte array from the properties - of the derived class. - + + Get the ID of the group chat session - - - Decodes the AssetData, placing it in appropriate properties of the derived - class. - - True if the asset decoding succeeded, otherwise false + + Get the name of the session - - The assets unique ID + + Get the temporary session ID used for establishing new sessions - - - The "type" of asset, Notecard, Animation, etc - + + True if your agent successfully joined the session - - - Keyboard key that triggers the gestyre - + + Data sent by the simulator containing urgent messages - + - Modifier to the trigger key + Construct a new instance of the AlertMessageEventArgs class + The alert message - - - String that triggers playing of the gesture sequence - + + Get the alert message - - - Text that replaces trigger in chat once gesture is triggered - + + Data sent by a script requesting to take or release specified controls to your agent - + - Sequence of gesture steps + Construct a new instance of the ScriptControlEventArgs class + The controls the script is attempting to take or release to the agent + True if the script is passing controls back to the agent + True if the script is requesting controls be released to the script - - - Constructs guesture asset - + + Get the controls the script is attempting to take or release to the agent - - - Constructs guesture asset - - A unique specific to this asset - A byte array containing the raw asset data + + True if the script is passing controls back to the agent - - - Encodes gesture asset suitable for uplaod - + + True if the script is requesting controls be released to the script - + - Decodes gesture assset into play sequence + Data sent from the simulator to an agent to indicate its view limits - true if the asset data was decoded successfully - + - Returns asset type + Construct a new instance of the CameraConstraintEventArgs class + The collision plane - - - Archives assets - + + Get the collision plane - + - Archive assets + Data containing script sensor requests which allow an agent to know the specific details + of a primitive sending script sensor requests - + - Archive the assets given to this archiver to the given archive. + Construct a new instance of the ScriptSensorReplyEventArgs - + The ID of the primitive sending the sensor + The ID of the group associated with the primitive + The name of the primitive sending the sensor + The ID of the primitive sending the sensor + The ID of the owner of the primitive sending the sensor + The position of the primitive sending the sensor + The range the primitive specified to scan + The rotation of the primitive sending the sensor + The type of sensor the primitive sent + The velocity of the primitive sending the sensor - - - Write an assets metadata file to the given archive - - + + Get the ID of the primitive sending the sensor - - - Write asset data files to the given archive - - + + Get the ID of the group associated with the primitive - - - Constants for the archiving module - + + Get the name of the primitive sending the sensor - - - The location of the archive control file - + + Get the ID of the primitive sending the sensor - - - Path for the assets held in an archive - + + Get the ID of the owner of the primitive sending the sensor - - - Path for the prims file - + + Get the position of the primitive sending the sensor - - - Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. - + + Get the range the primitive specified to scan - - - Path for region settings. - + + Get the rotation of the primitive sending the sensor - - - The character the separates the uuid from extension information in an archived asset filename - + + Get the type of sensor the primitive sent - - - Extensions used for asset types in the archive - + + Get the velocity of the primitive sending the sensor - - - Capabilities is the name of the bi-directional HTTP REST protocol - used to communicate non real-time transactions such as teleporting or - group messaging - + + Contains the response data returned from the simulator in response to a - - Reference to the simulator this system is connected to + + Construct a new instance of the AvatarSitResponseEventArgs object - - - Default constructor - - - + + Get the ID of the primitive the agent will be sitting on - - - Request the URI of a named capability - - Name of the capability to request - The URI of the requested capability, or String.Empty if - the capability does not exist + + True if the simulator Autopilot functions were involved - - - Process any incoming events, check to see if we have a message created for the event, - - - + + Get the camera offset of the agent when seated - - Capabilities URI this system was initialized with + + Get the camera eye offset of the agent when seated - - Whether the capabilities event queue is connected and - listening for incoming events + + True of the agent will be in mouselook mode when seated - - - Triggered when an event is received via the EventQueueGet - capability - - Event name - Decoded event data - The simulator that generated the event + + Get the position of the agent when seated - - - Throttles the network traffic for various different traffic types. - Access this class through GridClient.Throttle - + + Get the rotation of the agent when seated - - - Default constructor, uses a default high total of 1500 KBps (1536000) - + + Data sent when an agent joins a chat session your agent is currently participating in - + - Constructor that decodes an existing AgentThrottle packet in to - individual values + Construct a new instance of the ChatSessionMemberAddedEventArgs object - Reference to the throttle data in an AgentThrottle - packet - Offset position to start reading at in the - throttle data - This is generally not needed in clients as the server will - never send a throttle packet to the client - - + The ID of the chat session + The ID of the agent joining + + + Get the ID of the chat session + + + Get the ID of the agent that joined + + + Data sent when an agent exits a chat session your agent is currently participating in + + - Send an AgentThrottle packet to the current server using the - current values + Construct a new instance of the ChatSessionMemberLeftEventArgs object + The ID of the chat session + The ID of the Agent that left - + + Get the ID of the chat session + + + Get the ID of the agent that left + + + Event arguments with the result of setting display name operation + + + Default constructor + + + Status code, 200 indicates settign display name was successful + + + Textual description of the status + + + Details of the newly set display name + + - Send an AgentThrottle packet to the specified server using the - current values + Throttles the network traffic for various different traffic types. + Access this class through GridClient.Throttle - + - Convert the current throttle values to a byte array that can be put - in an AgentThrottle packet + Default constructor, uses a default high total of 1500 KBps (1536000) - Byte array containing all the throttle values + + + + Constructor that decodes an existing AgentThrottle packet in to + individual values + + Reference to the throttle data in an AgentThrottle + packet + Offset position to start reading at in the + throttle data + This is generally not needed in clients as the server will + never send a throttle packet to the client Maximum bits per second for resending unacknowledged packets @@ -3341,13585 +3252,14689 @@ Maximum bits per second the entire connection, divided up between invidiual streams using default multipliers - + - Particle system specific enumerators, flags and methods. + Send an AgentThrottle packet to the current server using the + current values - - + + + Send an AgentThrottle packet to the specified server using the + current values + - - + + + Convert the current throttle values to a byte array that can be put + in an AgentThrottle packet + + Byte array containing all the throttle values - - + + + Static pre-defined animations available to all agents + - - + + Agent with afraid expression on face - - + + Agent aiming a bazooka (right handed) - - + + Agent aiming a bow (left handed) - - Foliage type for this primitive. Only applicable if this - primitive is foliage + + Agent aiming a hand gun (right handed) - - Unknown + + Agent aiming a rifle (right handed) - - + + Agent with angry expression on face - - + + Agent hunched over (away) - - + + Agent doing a backflip - - + + Agent laughing while holding belly - - + + Agent blowing a kiss - - + + Agent with bored expression on face - - + + Agent bowing to audience - - + + Agent brushing himself/herself off - - + + Agent in busy mode - - + + Agent clapping hands - - + + Agent doing a curtsey bow - - + + Agent crouching - - Identifies the owner if audio or a particle system is - active + + Agent crouching while walking - - + + Agent crying - - + + Agent unanimated with arms out (e.g. setting appearance) - - + + Agent re-animated after set appearance finished - - + + Agent dancing - - + + Agent dancing - - + + Agent dancing - - + + Agent dancing - - + + Agent dancing - - + + Agent dancing - - + + Agent dancing - - + + Agent dancing - - + + Agent on ground unanimated - - - Default constructor - + + Agent boozing it up - - - Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters in to signed eight bit values - - Floating point parameter to pack - Signed eight bit value containing the packed parameter + + Agent with embarassed expression on face - - - Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters from signed eight bit integers to floating point values - - Signed eight bit value to unpack - Unpacked floating point value + + Agent with afraid expression on face - - + + Agent with angry expression on face - - - Current version of the media data for the prim - + + Agent with bored expression on face - - - Array of media entries indexed by face number - + + Agent crying - - + + Agent showing disdain (dislike) for something - - + + Agent with embarassed expression on face - - Uses basic heuristics to estimate the primitive shape + + Agent with frowning expression on face - - - Parameters used to construct a visual representation of a primitive - + + Agent with kissy face - - + + Agent expressing laughgter - - + + Agent with open mouth - - + + Agent with repulsed expression on face - - + + Agent expressing sadness - - + + Agent shrugging shoulders - - + + Agent with a smile - - + + Agent expressing surprise - - + + Agent sticking tongue out - - + + Agent with big toothy smile - - + + Agent winking - - + + Agent expressing worry - - + + Agent falling down - - + + Agent walking (feminine version) - - + + Agent wagging finger (disapproval) - - + + I'm not sure I want to know - - + + Agent in superman position - - + + Agent in superman position - - + + Agent greeting another - - + + Agent holding bazooka (right handed) - - + + Agent holding a bow (left handed) - - + + Agent holding a handgun (right handed) - - Attachment point to an avatar + + Agent holding a rifle (right handed) - - + + Agent throwing an object (right handed) - - + + Agent in static hover - - + + Agent hovering downward - - + + Agent hovering upward - - - Information on the flexible properties of a primitive - + + Agent being impatient - - + + Agent jumping - - + + Agent jumping with fervor - - + + Agent point to lips then rear end - - + + Agent landing from jump, finished flight, etc - - + + Agent laughing - - + + Agent landing from jump, finished flight, etc - - - Default constructor - + + Agent sitting on a motorcycle - + - - - - - - - - + + Agent moving head side to side - - - - - + + Agent moving head side to side with unhappy expression - + + Agent taunting another + + - Information on the light properties of a primitive - - + + Agent giving peace sign - - + + Agent pointing at self - - + + Agent pointing at another - - + + Agent preparing for jump (bending knees) - - + + Agent punching with left hand - - - Default constructor - + + Agent punching with right hand - - - - - - + + Agent acting repulsed - - - - - + + Agent trying to be Chuck Norris - - - - - + + Rocks, Paper, Scissors 1, 2, 3 - - - Information on the sculpt properties of a sculpted primitive - + + Agent with hand flat over other hand - - - Default constructor - + + Agent with fist over other hand - - - - - - + + Agent with two fingers spread over other hand - - - Render inside out (inverts the normals). - + + Agent running - - - Render an X axis mirror of the sculpty. - + + Agent appearing sad - - - Extended properties to describe an object - + + Agent saluting - - + + Agent shooting bow (left handed) - - + + Agent cupping mouth as if shouting - - + + Agent shrugging shoulders - - + + Agent in sit position - - + + Agent in sit position (feminine) - - + + Agent in sit position (generic) - - + + Agent sitting on ground - - + + Agent sitting on ground - - + + + - - + + Agent sleeping on side - - + + Agent smoking - - + + Agent inhaling smoke - - + + + - - + + Agent taking a picture - - + + Agent standing - - + + Agent standing up - - + + Agent standing - - + + Agent standing - - + + Agent standing - - + + Agent standing - - + + Agent stretching - - + + Agent in stride (fast walk) - - + + Agent surfing - - - Default constructor - + + Agent acting surprised - - - Set the properties that are set in an ObjectPropertiesFamily packet - - that has - been partially filled by an ObjectPropertiesFamily packet + + Agent striking with a sword - - - Complete structure for the particle system - + + Agent talking (lips moving) - - Particle Flags - There appears to be more data packed in to this area - for many particle systems. It doesn't appear to be flag values - and serialization breaks unless there is a flag for every - possible bit so it is left as an unsigned integer - - - pattern of particles - - - A representing the maximimum age (in seconds) particle will be displayed - Maximum value is 30 seconds - - - A representing the number of seconds, - from when the particle source comes into view, - or the particle system's creation, that the object will emits particles; - after this time period no more particles are emitted - - - A in radians that specifies where particles will not be created - - - A in radians that specifies where particles will be created - - - A representing the number of seconds between burts. + + Agent throwing a tantrum - - A representing the number of meters - around the center of the source where particles will be created. + + Agent throwing an object (right handed) - - A representing in seconds, the minimum speed between bursts of new particles - being emitted + + Agent trying on a shirt - - A representing in seconds the maximum speed of new particles being emitted. + + Agent turning to the left - - A representing the maximum number of particles emitted per burst + + Agent turning to the right - - A which represents the velocity (speed) from the source which particles are emitted + + Agent typing - - A which represents the Acceleration from the source which particles are emitted + + Agent walking - - The Key of the texture displayed on the particle + + Agent whispering - - The Key of the specified target object or avatar particles will follow + + Agent whispering with fingers in mouth - - Flags of particle from + + Agent winking - - Max Age particle system will emit particles for + + Agent winking - - The the particle has at the beginning of its lifecycle + + Agent worried - - The the particle has at the ending of its lifecycle + + Agent nodding yes - - A that represents the starting X size of the particle - Minimum value is 0, maximum value is 4 + + Agent nodding yes with happy face - - A that represents the starting Y size of the particle - Minimum value is 0, maximum value is 4 + + Agent floating with legs and arms crossed - - A that represents the ending X size of the particle - Minimum value is 0, maximum value is 4 + + + A dictionary containing all pre-defined animations + + A dictionary containing the pre-defined animations, + where the key is the animations ID, and the value is a string + containing a name to identify the purpose of the animation - - A that represents the ending Y size of the particle - Minimum value is 0, maximum value is 4 + + + Index of TextureEntry slots for avatar appearances + - + - Decodes a byte[] array into a ParticleSystem Object + Bake layers for avatar appearance - ParticleSystem object - Start position for BitPacker - + - Generate byte[] array from particle data + Default constructor - Byte array + A reference to our agent - + - Particle source pattern + Contains information about a wearable inventory item - - None + + Inventory ItemID of the wearable - - Drop particles from source position with no force + + AssetID of the wearable asset - - "Explode" particles in all directions + + WearableType of the wearable - - Particles shoot across a 2D area + + AssetType of the wearable - - Particles shoot across a 3D Cone + + Asset data for the wearable - - Inverse of AngleCone (shoot particles everywhere except the 3D cone defined + + + Data collected from visual params for each wearable + needed for the calculation of the color + - + - Particle Data Flags + Holds a texture assetID and the data needed to bake this layer into + an outfit texture. Used to keep track of currently worn textures + and baking data - - None + + A texture AssetID - - Interpolate color and alpha from start to end + + Asset data for the texture - - Interpolate scale from start to end + + Collection of alpha masks that needs applying - - Bounce particles off particle sources Z height + + Tint that should be applied to the texture - - velocity of particles is dampened toward the simulators wind + + Where on avatar does this texture belong - - Particles follow the source + + Maximum number of concurrent downloads for wearable assets and textures - - Particles point towards the direction of source's velocity + + Maximum number of concurrent uploads for baked textures - - Target of the particles + + Timeout for fetching inventory listings - - Particles are sent in a straight line + + Timeout for fetching a single wearable, or receiving a single packet response - - Particles emit a glow + + Timeout for fetching a single texture - - used for point/grab/touch + + Timeout for uploading a single baked texture - - - Particle Flags Enum - + + Number of times to retry bake upload - - None + + When changing outfit, kick off rebake after + 20 seconds has passed since the last change - - Acceleration and velocity for particles are - relative to the object rotation + + Total number of wearables for each avatar - - Particles use new 'correct' angle parameters + + Total number of baked textures on each avatar - - - Texture animation mode - + + Total number of wearables per bake layer - - Disable texture animation + + Mapping between BakeType and AvatarTextureIndex - - Enable texture animation + + Map of what wearables are included in each bake - - Loop when animating textures + + Magic values to finalize the cache check hashes for each + bake - - Animate in reverse direction + + Default avatar texture, used to detect when a custom + texture is not set for a face - - Animate forward then reverse + + The event subscribers. null if no subcribers - - Slide texture smoothly instead of frame-stepping + + Thread sync lock object - - Rotate texture instead of using frames + + The event subscribers. null if no subcribers - - Scale texture instead of using frames + + Thread sync lock object - - - A single textured face. Don't instantiate this class yourself, use the - methods in TextureEntry - + + The event subscribers. null if no subcribers - - - Contains the definition for individual faces - - + + Thread sync lock object - - - - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - - - - - - - + + Visual parameters last sent to the sim - - + + Textures about this client sent to the sim - - + + A cache of wearables currently being worn - - + + A cache of textures currently being worn - - + + Incrementing serial number for AgentCachedTexture packets - - + + Incrementing serial number for AgentSetAppearance packets - - + + Indicates whether or not the appearance thread is currently + running, to prevent multiple appearance threads from running + simultaneously - - In the future this will specify whether a webpage is - attached to this face + + Reference to our agent - - + + + Timer used for delaying rebake on changing outfit + - + - Represents all of the texturable faces for an object + Main appearance thread - Grid objects have infinite faces, with each face - using the properties of the default face unless set otherwise. So if - you have a TextureEntry with a default texture uuid of X, and face 18 - has a texture UUID of Y, every face would be textured with X except for - face 18 that uses Y. In practice however, primitives utilize a maximum - of nine faces - - + + Triggered when an AgentWearablesUpdate packet is received, + telling us what our avatar is currently wearing + request. - - + + Raised when an AgentCachedTextureResponse packet is + received, giving a list of cached bakes that were found on the + simulator + request. - + - Constructor that takes a default texture UUID + Raised when appearance data is sent to the simulator, also indicates + the main appearance thread is finished. - Texture UUID to use as the default texture - - + request. + - Constructor that takes a TextureEntryFace for the - default face + Triggered when the simulator requests the agent rebake its appearance. - Face to use as the default face + - + - Constructor that creates the TextureEntry class from a byte array + Returns true if AppearanceManager is busy and trying to set or change appearance will fail - Byte array containing the TextureEntry field - Starting position of the TextureEntry field in - the byte array - Length of the TextureEntry field, in bytes - + + Raises the AgentWearablesReply event + An AgentWearablesReplyEventArgs object containing the + data returned from the data server + + + Raises the CachedBakesReply event + An AgentCachedBakesReplyEventArgs object containing the + data returned from the data server AgentCachedTextureResponse + + + Raises the AppearanceSet event + An AppearanceSetEventArgs object indicating if the operatin was successfull + + + Raises the RebakeAvatarRequested event + An RebakeAvatarTexturesEventArgs object containing the + data returned from the data server + + - This will either create a new face if a custom face for the given - index is not defined, or return the custom face for that index if - it already exists + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread - The index number of the face to create or - retrieve - A TextureEntryFace containing all the properties for that - face - + - + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread - - + Unused parameter - + - + Starts the appearance setting thread - - + - + Starts the appearance setting thread - + True to force rebaking, otherwise false - + - + Ask the server what textures our agent is currently wearing - - + - Controls the texture animation of a particular prim + Build hashes out of the texture assetIDs for each baking layer to + ask the simulator whether it has cached copies of each baked texture - - - - - - - - - - - - - - - - - - - - - - + - + Returns the AssetID of the asset that is currently being worn in a + given WearableType slot - - + WearableType slot to get the AssetID for + The UUID of the asset being worn in the given slot, or + UUID.Zero if no wearable is attached to the given slot or wearables + have not been downloaded yet - + - + Add a wearable to the current outfit and set appearance - + Wearable to be added to the outfit - + - A Wrapper around openjpeg to encode and decode images to and from byte arrays + Add a list of wearables to the current outfit and set appearance + List of wearable inventory items to + be added to the outfit - - TGA Header size - - - OpenJPEG is not threadsafe, so this object is used to lock - during calls into unmanaged code - - + - Encode a object into a byte array + Remove a wearable from the current outfit and set appearance - The object to encode - true to enable lossless conversion, only useful for small images ie: sculptmaps - A byte array containing the encoded Image object + Wearable to be removed from the outfit - + - Encode a object into a byte array + Removes a list of wearables from the current outfit and set appearance - The object to encode - a byte array of the encoded image + List of wearable inventory items to + be removed from the outfit - + - Decode JPEG2000 data to an and - + Replace the current outfit with a list of wearables and set appearance - JPEG2000 encoded data - ManagedImage object to decode to - Image object to decode to - True if the decode succeeds, otherwise false + List of wearable inventory items that + define a new outfit - + - + Replace the current outfit with a list of wearables and set appearance - - - + List of wearable inventory items that + define a new outfit + Check if we have all body parts, set this to false only + if you know what you're doing - + - + Checks if an inventory item is currently being worn - - - - + The inventory item to check against the agent + wearables + The WearableType slot that the item is being worn in, + or WearbleType.Invalid if it is not currently being worn - + - Encode a object into a byte array + Returns a copy of the agents currently worn wearables - The source object to encode - true to enable lossless decoding - A byte array containing the source Bitmap object + A copy of the agents currently worn wearables + Avoid calling this function multiple times as it will make + a copy of all of the wearable data each time - + - Defines the beginning and ending file positions of a layer in an - LRCP-progression JPEG2000 file + Calls either or + depending on the value of + replaceItems + List of wearable inventory items to add + to the outfit or become a new outfit + True to replace existing items with the + new list of items, false to add these items to the existing outfit - + - This structure is used to marshal both encoded and decoded images. - MUST MATCH THE STRUCT IN dotnet.h! + Adds a list of attachments to our agent + A List containing the attachments to add + If true, tells simulator to remove existing attachment + first - + - Information about a single packet in a JPEG2000 stream + Attach an item to our agent at a specific attach point + A to attach + the on the avatar + to attach the item to - - Packet start position - - - Packet header end position - - - Packet end position + + + Attach an item to our agent specifying attachment details + + The of the item to attach + The attachments owner + The name of the attachment + The description of the attahment + The to apply when attached + The of the attachment + The on the agent + to attach the item to - + - Represents an that represents an avatars body ie: Hair, Etc. + Detach an item from our agent using an object + An object - + - Represents a Wearable Asset, Clothing, Hair, Skin, Etc + Detach an item from our agent + The inventory itemID of the item to detach - - A string containing the name of the asset + + + Inform the sim which wearables are part of our current outfit + - - A string containing a short description of the asset + + + Replaces the Wearables collection with a list of new wearable items + + Wearable items to replace the Wearables collection with - - The Assets WearableType - - - The For-Sale status of the object - - - An Integer representing the purchase price of the asset - - - The of the assets creator - - - The of the assets current owner - - - The of the assets prior owner - - - The of the Group this asset is set to - - - True if the asset is owned by a - - - The Permissions mask of the asset - - - A Dictionary containing Key/Value pairs of the objects parameters - - - A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - - - Initializes a new instance of an AssetWearable object - - - Initializes a new instance of an AssetWearable object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - + - Decode an assets byte encoded data to a string + Calculates base color/tint for a specific wearable + based on its params - true if the asset data was decoded successfully + All the color info gathered from wearable's VisualParams + passed as list of ColorParamInfo tuples + Base color/tint for the wearable - + - Encode the assets string represantion into a format consumable by the asset server + Blocking method to populate the Wearables dictionary + True on success, otherwise false - - Initializes a new instance of an AssetBodyPart object - - - Initializes a new instance of an AssetBodyPart object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - Override the base classes AssetType - - + - + Blocking method to populate the Textures array with cached bakes + True on success, otherwise false - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + Populates textures and visual params from a decoded asset + Wearable to decode - - + + + Blocking method to download and parse currently worn wearable assets + + True on success, otherwise false - - + + + Get a list of all of the textures that need to be downloaded for a + single bake layer + + Bake layer to get texture AssetIDs for + A list of texture AssetIDs to download - - + + + Helper method to lookup the TextureID for a single layer and add it + to a list if it is not already present + + + + + - - + + + Blocking method to download all of the textures needed for baking + the given bake layers + + A list of layers that need baking + No return value is given because the baking will happen + whether or not all textures are successfully downloaded - + - + Blocking method to create and upload baked textures for all of the + missing bakes - - + True on success, otherwise false - + - + Blocking method to create and upload a baked texture for a single + bake layer + Layer to bake + True on success, otherwise false - - + + + Blocking method to upload a baked texture + + Five channel JPEG2000 texture data to upload + UUID of the newly created asset on success, otherwise UUID.Zero - - + + + Creates a dictionary of visual param values from the downloaded wearables + + A dictionary of visual param indices mapping to visual param + values for our agent that can be fed to the Baker class - - + + + Create an AgentSetAppearance packet from Wearables data and the + Textures array and send it + - - + + + Converts a WearableType to a bodypart or clothing WearableType + + A WearableType + AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - + - + Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - - + A BakeType + The AvatarTextureIndex slot that holds the given BakeType - + - + Gives the layer number that is used for morph mask + >A BakeType + Which layer number as defined in BakeTypeToTextures is used for morph mask - - + + + Converts a BakeType to a list of the texture slots that make up that bake + + A BakeType + A list of texture slots that are inputs for the given bake - - + + Contains the Event data returned from the data server from an AgentWearablesRequest - - + + Construct a new instance of the AgentWearablesReplyEventArgs class - - + + Contains the Event data returned from the data server from an AgentCachedTextureResponse - - + + Construct a new instance of the AgentCachedBakesReplyEventArgs class - - + + Contains the Event data returned from an AppearanceSetRequest - + - - - - - + Triggered when appearance data is sent to the sim and + the main appearance thread is done. + Indicates whether appearance setting was successful - - + + Indicates whether appearance setting was successful - - + + Contains the Event data returned from the data server from an RebakeAvatarTextures - - + + + Triggered when the simulator sends a request for this agent to rebake + its appearance + + The ID of the Texture Layer to bake - - + + The ID of the Texture Layer to bake - + - + Class that handles the local asset cache - - - + - + Default constructor - - + A reference to the GridClient object - + - + Helper class for sorting files by their last accessed time - - - + - + Allows setting weather to periodicale prune the cache if it grows too big + Default is enabled, when caching is enabled - - - - + - + How long (in ms) between cache checks (default is 5 min.) - + - + Disposes cleanup timer - - - + - + Only create timer when needed - - - + - + Return bytes read from the local asset cache, null if it does not exist - + UUID of the asset we want to get + Raw bytes of the asset, or null on failure - + - Permission request flags, asked when a script wants to control an Avatar + Returns ImageDownload object of the + image from the local image cache, null if it does not exist + UUID of the image we want to get + ImageDownload object containing the image, or null on failure - - Placeholder for empty values, shouldn't ever see this + + + Constructs a file name of the cached asset + + UUID of the asset + String with the file name of the cahced asset - - Script wants ability to take money from you + + + Constructs a file name of the static cached asset + + UUID of the asset + String with the file name of the static cached asset - - Script wants to take camera controls for you + + + Saves an asset to the local cache + + UUID of the asset + Raw bytes the asset consists of + Weather the operation was successfull - - Script wants to remap avatars controls + + + Get the file name of the asset stored with gived UUID + + UUID of the asset + Null if we don't have that UUID cached on disk, file name if found in the cache folder - - Script wants to trigger avatar animations - This function is not implemented on the grid + + + Checks if the asset exists in the local cache + + UUID of the asset + True is the asset is stored in the cache, otherwise false - - Script wants to attach or detach the prim or primset to your avatar + + + Wipes out entire cache + - - Script wants permission to release ownership - This function is not implemented on the grid - The concept of "public" objects does not exist anymore. + + + Brings cache size to the 90% of the max size + - - Script wants ability to link/delink with other prims + + + Asynchronously brings cache size to the 90% of the max size + - - Script wants permission to change joints - This function is not implemented on the grid + + + Adds up file sizes passes in a FileInfo array + - - Script wants permissions to change permissions - This function is not implemented on the grid + + + Checks whether caching is enabled + - - Script wants to track avatars camera position and rotation + + + Periodically prune the cache + - - Script wants to control your camera + + + Nicely formats file sizes + + Byte size we want to output + String with humanly readable file size - + - Special commands used in Instant Messages - - Indicates a regular IM from another agent + + OK - - Simple notification box with an OK button + + Transfer completed - - You've been invited to join a group. + + + - - Inventory offer + + + - - Accepted inventory offer + + Unknown error occurred - - Declined inventory offer + + Equivalent to a 404 error - - Group vote + + Client does not have permission for that resource - - An object is offering its inventory + + Unknown status - - Accept an inventory offer from an object + + + - - Decline an inventory offer from an object + + + - + Unknown - - Start a session, or add users to a session + + Virtually all asset transfers use this channel - - Start a session, but don't prune offline users + + + - - Start a session with your group + + + - - Start a session without a calling card (finder or objects) + + Asset from the asset server - - Send a message to a session + + Inventory item - - Leave a session + + Estate asset, such as an estate covenant - - Indicates that the IM is from an object + + + - - Sent an IM to a busy user, this is the auto response + + + - - Shows the message in the console and chat history + + + - - Send a teleport lure + + + - - Response sent to the agent which inititiated a teleport invitation + + + - - Response sent to the agent which inititiated a teleport invitation + + + - - Only useful if you have Linden permissions + + + - - A placeholder type for future expansion, currently not - used + + + Image file format + - - IM to tell the user to go to an URL + + + - - IM for help + + Number of milliseconds passed since the last transfer + packet was received - - IM sent automatically on call for help, sends a lure - to each Helper reached + + + - - Like an IM but won't go to email + + + - - IM from a group officer to all group members + + + - - Unknown + + + - - Unknown + + + - - Accept a group invitation + + + + + + + + + + + - - Decline a group invitation - - - Unknown - - - An avatar is offering you friendship - - - An avatar has accepted your friendship offer - - - An avatar has declined your friendship offer - - - Indicates that a user has started typing - - - Indicates that a user has stopped typing - - + - Flag in Instant Messages, whether the IM should be delivered to - offline avatars as well - - Only deliver to online avatars - - - If the avatar is offline the message will be held until - they login next, and possibly forwarded to their e-mail account - - + - Conversion type to denote Chat Packet types in an easier-to-understand format + Default constructor + A reference to the GridClient object - - Whisper (5m radius) - - - Normal chat (10/20m radius), what the official viewer typically sends - - - Shouting! (100m radius) - - - Event message when an Avatar has begun to type - - - Event message when an Avatar has stopped typing - - - Send the message to the debug channel - - - Event message when an object uses llOwnerSay - - - Special value to support llRegionSay, never sent to the client - - + - Identifies the source of a chat message + Callback used for various asset download requests + Transfer information + Downloaded asset, null on fail - - Chat from the grid or simulator - - - Chat from another avatar - - - Chat from an object - - + - + Callback used upon competition of baked texture upload + Asset UUID of the newly uploaded baked texture - - - - - - - - - - + - Effect type used in ViewerEffect packets + A callback that fires upon the completition of the RequestMesh call + Was the download successfull + Resulting mesh or null on problems - - - - - - - - - - - - - - - - - + + Number of milliseconds to wait for a transfer header packet if out of order data was received - - + + The event subscribers. null if no subcribers - - Project a beam from a source to a destination, such as - the one used when editing an object + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - Create a swirl of particles around an object + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - Cause an avatar to look at an object + + The event subscribers. null if no subcribers - - Cause an avatar to point at an object + + Thread sync lock object - - - The action an avatar is doing when looking at something, used in - ViewerEffect packets for the LookAt effect - + + Texture download cache - - + + Raised when the simulator responds sends - - + + Raised during upload completes - - + + Raised during upload with progres update - - + + Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files - - + + Fired when a texture is in the process of being downloaded by the TexturePipeline class - - + + Raises the XferReceived event + A XferReceivedEventArgs object containing the + data returned from the simulator - - Deprecated + + Raises the AssetUploaded event + A AssetUploadedEventArgs object containing the + data returned from the simulator - - + + Raises the UploadProgress event + A UploadProgressEventArgs object containing the + data returned from the simulator - - + + Raises the InitiateDownload event + A InitiateDownloadEventArgs object containing the + data returned from the simulator - - + + Raises the ImageReceiveProgress event + A ImageReceiveProgressEventArgs object containing the + data returned from the simulator - - + + + Request an asset download + + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + The callback to fire when the simulator responds with the asset data - + - The action an avatar is doing when pointing at something, used in - ViewerEffect packets for the PointAt effect + Request an asset download + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + The callback to fire when the simulator responds with the asset data - - + + + Request an asset download + + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + UUID of the transaction + The callback to fire when the simulator responds with the asset data - - + + + Request an asset download through the almost deprecated Xfer system + + Filename of the asset to request + Whether or not to delete the asset + off the server after it is retrieved + Use large transfer packets or not + UUID of the file to request, if filename is + left empty + Asset type of vFileID, or + AssetType.Unknown if filename is not empty + Sets the FilePath in the request to Cache + (4) if true, otherwise Unknown (0) is used + + - - + + + + Use UUID.Zero if you do not have the + asset ID but have all the necessary permissions + The item ID of this asset in the inventory + Use UUID.Zero if you are not requesting an + asset from an object inventory + The owner of this asset + Asset type + Whether to prioritize this asset download or not + + - - + + + Used to force asset data into the PendingUpload property, ie: for raw terrain uploads + + An AssetUpload object containing the data to upload to the simulator - + - Money transaction types + Request an asset be uploaded to the simulator + The Object containing the asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - - + + + Request an asset be uploaded to the simulator + + The of the asset being uploaded + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - - + + + Request an asset be uploaded to the simulator + + + + Asset type to upload this data as + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired - - + + + Initiate an asset upload + + The ID this asset will have if the + upload succeeds + Asset type to upload this data as + Raw asset data to upload + Whether to store this asset on the local + simulator or the grid-wide asset server + The tranaction id for the upload + The transaction ID of this transfer - - + + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress + transfer. + A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority + indicating an off-by-one error. + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + Request an image and fire a callback when the request is complete + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + + Request an image and use an inline anonymous method to handle the downloaded texture data + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + ); + + Request a texture, decode the texture to a bitmap image and apply it to a imagebox + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + ManagedImage imgData; + Image bitmap; + if (state == TextureRequestState.Finished) + { + OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); + picInsignia.Image = bitmap; + } + } + } + - - + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data - - + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data - - + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request - - + + + Cancel a texture request + + The texture assets - - + + + Requests download of a mesh asset + + UUID of the mesh asset + Callback when the request completes - - + + + Lets TexturePipeline class fire the progress event + + The texture ID currently being downloaded + the number of bytes transferred + the total number of bytes expected - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Xfer data - - + + Upload data - - + + Filename used on the simulator - - + + Filename used by the client - - + + UUID of the image that is in progress - - + + Number of bytes received so far - - + + Image size in bytes - - + + + Avatar profile flags + - - + + + Represents an avatar (other than your own) + - - + + + Default constructor + - - + + + Positive and negative ratings + - - + + Positive ratings for Behavior - - + + Negative ratings for Behavior - - + + Positive ratings for Appearance - - + + Negative ratings for Appearance - - + + Positive ratings for Building - - + + Negative ratings for Building - - + + Positive ratings given by this avatar - - + + Negative ratings given by this avatar - - + + + Avatar properties including about text, profile URL, image IDs and + publishing settings + - - + + First Life about text - - + + First Life image ID - - + + + - - + + + - - + + + - - + + + - - + + Profile image ID - - + + Flags of the profile - - + + Web URL for this profile - - + + Should this profile be published on the web - - + + Avatar Online Status - - + + Is this a mature profile - + - - - - - - + + + - - + + + Avatar interests including spoken languages, skills, and "want to" + choices + - - + + Languages profile field - - + + + - - + + + - + - - - + + + - - + + Groups that this avatar is a member of - - + + Positive and negative ratings - - + + Avatar properties including about text, profile URL, image IDs and + publishing settings - - + + Avatar interests including spoken languages, skills, and "want to" + choices - - + + Movement control flags for avatars. Typically not set or used by + clients. To move your avatar, use Client.Self.Movement instead - + - Flags sent when a script takes or releases a control + Contains the visual parameters describing the deformation of the avatar - NOTE: (need to verify) These might be a subset of the ControlFlags enum in Movement, - - No Flags set + + First name - - Forward (W or up Arrow) + + Last name - - Back (S or down arrow) + + Full name - - Move left (shift+A or left arrow) + + Active group - - Move right (shift+D or right arrow) + + Information about agents display name - - Up (E or PgUp) + + Agent UUID - - Down (C or PgDown) + + Username - - Rotate left (A or left arrow) + + Display name - - Rotate right (D or right arrow) + + First name (legacy) - - Left Mouse Button + + Last name (legacy) - - Left Mouse button in MouseLook + + Is display name default display name - + + Cache display name until + + + Full name (legacy) + + - Currently only used to hide your group title + Creates AgentDisplayName object from OSD + Incoming OSD data + AgentDisplayName object - - No flags set - - - Hide your group title + + + Return object as OSD map + + OSD containing agent's display name data - + - Action state of the avatar, which can currently be typing and - editing + Holds group information for Avatars such as those you might find in a profile - - + + true of Avatar accepts group notices - - + + Groups Key - - + + Texture Key for groups insignia - - - Current teleport status - + + Name of the group - - Unknown status + + Powers avatar has in the group - - Teleport initialized + + Avatars Currently selected title - - Teleport in progress + + true of Avatar has chosen to list this in their profile - - Teleport failed + + + Contains an animation currently being played by an agent + - - Teleport completed + + The ID of the animation asset - - Teleport cancelled + + A number to indicate start order of currently playing animations + On Linden Grids this number is unique per region, with OpenSim it is per client - + - - - No flags set, or teleport failed + + + Holds group information on an individual profile pick + - - Set when newbie leaves help island for first time + + + Retrieve friend status notifications, and retrieve avatar names and + profiles + - - + + + Represents other avatars + + + - - Via Lure + + + Callback giving results when fetching display names + + If the request was successful + Array of display names + Array of UUIDs that could not be fetched - - Via Landmark + + The event subscribers, null of no subscribers - - Via Location + + Thread sync lock object - - Via Home + + The event subscribers, null of no subscribers - - Via Telehub + + Thread sync lock object - - Via Login + + The event subscribers, null of no subscribers - - Linden Summoned + + Thread sync lock object - - Linden Forced me + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - Agent Teleported Home via Script + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - forced to new location for example when avatar is banned or ejected + + The event subscribers, null of no subscribers - - Teleport Finished via a Lure + + Thread sync lock object - - Finished, Sim Changed + + The event subscribers, null of no subscribers - - Finished, Same Sim + + Thread sync lock object - - - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - - Instant Message - - - - Key of sender + + Thread sync lock object - - Name of sender + + The event subscribers, null of no subscribers - - Key of destination avatar + + Thread sync lock object - - ID of originating estate + + The event subscribers, null of no subscribers - - Key of originating region + + Thread sync lock object - - Coordinates in originating region + + Raised when the simulator sends us data containing + an agents animation playlist - - Instant message type + + Raised when the simulator sends us data containing + the appearance information for an agent - - Group IM session toggle + + Raised when the simulator sends us data containing + agent names/id values - - Key of IM session, for Group Messages, the groups UUID + + Raised when the simulator sends us data containing + the interests listed in an agents profile - - Timestamp of the instant message + + Raised when the simulator sends us data containing + profile property information for an agent - - Instant message text + + Raised when the simulator sends us data containing + the group membership an agent is a member of - - Whether this message is held for offline avatars + + Raised when the simulator sends us data containing + name/id pair - - Context specific packed data + + Raised when the simulator sends us data containing + the objects and effect when an agent is pointing at - - Print the struct data as a string - A string containing the field name, and field value + + Raised when the simulator sends us data containing + the objects and effect when an agent is looking at - - - Manager class for our own avatar - + + Raised when the simulator sends us data containing + an agents viewer effect information - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + the top picks from an agents profile - - Raises the ChatFromSimulator event - A ChatEventArgs object containing the - data returned from the data server + + Raised when the simulator sends us data containing + the Pick details - - Thread sync lock object + + Raised when the simulator sends us data containing + the classified ads an agent has placed - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + the details of a classified ad - - Raises the ScriptDialog event - A SctriptDialogEventArgs object containing the - data returned from the data server + + Raised when the simulator sends us data containing + the details of display name change - - Thread sync lock object + + Raises the AvatarAnimation Event + An AvatarAnimationEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the AvatarAppearance Event + A AvatarAppearanceEventArgs object containing + the data sent from the simulator - - Raises the ScriptQuestion event - A ScriptQuestionEventArgs object containing the - data returned from the data server + + Raises the UUIDNameReply Event + A UUIDNameReplyEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the AvatarInterestsReply Event + A AvatarInterestsReplyEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the AvatarPropertiesReply Event + A AvatarPropertiesReplyEventArgs object containing + the data sent from the simulator - - Raises the LoadURL event - A LoadUrlEventArgs object containing the - data returned from the data server + + Raises the AvatarGroupsReply Event + A AvatarGroupsReplyEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the AvatarPickerReply Event + A AvatarPickerReplyEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the ViewerEffectPointAt Event + A ViewerEffectPointAtEventArgs object containing + the data sent from the simulator - - Raises the MoneyBalance event - A BalanceEventArgs object containing the - data returned from the data server + + Raises the ViewerEffectLookAt Event + A ViewerEffectLookAtEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the ViewerEffect Event + A ViewerEffectEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the AvatarPicksReply Event + A AvatarPicksReplyEventArgs object containing + the data sent from the simulator - - Raises the MoneyBalanceReply event - A MoneyBalanceReplyEventArgs object containing the - data returned from the data server + + Raises the PickInfoReply Event + A PickInfoReplyEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the AvatarClassifiedReply Event + A AvatarClassifiedReplyEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the ClassifiedInfoReply Event + A ClassifiedInfoReplyEventArgs object containing + the data sent from the simulator - - Raises the IM event - A InstantMessageEventArgs object containing the - data returned from the data server + + Raises the DisplayNameUpdate Event + A DisplayNameUpdateEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Tracks the specified avatar on your map + Avatar ID to track - - The event subscribers. null if no subcribers + + + Request a single avatar name + + The avatar key to retrieve a name for - - Raises the TeleportProgress event - A TeleportEventArgs object containing the - data returned from the data server + + + Request a list of avatar names + + The avatar keys to retrieve names for - - Thread sync lock object + + + Check if Display Names functionality is available + + True if Display name functionality is available - - The event subscribers. null if no subcribers + + + Request retrieval of display names (max 90 names per request) + + List of UUIDs to lookup + Callback to report result of the operation - - Raises the AgentDataReply event - A AgentDataReplyEventArgs object containing the - data returned from the data server + + + Start a request for Avatar Properties + + + - - Thread sync lock object + + + Search for an avatar (first name, last name) + + The name to search for + An ID to associate with this query - - The event subscribers. null if no subcribers + + + Start a request for Avatar Picks + + UUID of the avatar - - Raises the AnimationsChanged event - A AnimationsChangedEventArgs object containing the - data returned from the data server + + + Start a request for Avatar Classifieds + + UUID of the avatar - - Thread sync lock object + + + Start a request for details of a specific profile pick + + UUID of the avatar + UUID of the profile pick - - The event subscribers. null if no subcribers + + + Start a request for details of a specific profile classified + + UUID of the avatar + UUID of the profile classified - - Raises the MeanCollision event - A MeanCollisionEventArgs object containing the - data returned from the data server + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raises the RegionCrossed event - A RegionCrossedEventArgs object containing the - data returned from the data server + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers + + + EQ Message fired when someone nearby changes their display name + + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - Raises the GroupChatJoined event - A GroupChatJoinedEventArgs object containing the - data returned from the data server + + + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. + + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raises the AlertMessage event - A AlertMessageEventArgs object containing the - data returned from the data server + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raises the ScriptControlChange event - A ScriptControlEventArgs object containing the - data returned from the data server + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Thread sync lock object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - The event subscribers. null if no subcribers + + Provides data for the event + The event occurs when the simulator sends + the animation playlist for an agent + + The following code example uses the and + properties to display the animation playlist of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; + private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) + { + // create a dictionary of "known" animations from the Animations class using System.Reflection + Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); + Type type = typeof(Animations); + System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + foreach (System.Reflection.FieldInfo field in fields) + { + systemAnimations.Add((UUID)field.GetValue(type), field.Name); + } + // find out which animations being played are known animations and which are assets + foreach (Animation animation in e.Animations) + { + if (systemAnimations.ContainsKey(animation.AnimationID)) + { + Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, + systemAnimations[animation.AnimationID], animation.AnimationSequence); + } + else + { + Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, + animation.AnimationID, animation.AnimationSequence); + } + } + } + - - Raises the CameraConstraint event - A CameraConstraintEventArgs object containing the - data returned from the data server + + + Construct a new instance of the AvatarAnimationEventArgs class + + The ID of the agent + The list of animations to start - - Thread sync lock object + + Get the ID of the agent - - The event subscribers. null if no subcribers + + Get the list of animations to start - - Raises the ScriptSensorReply event - A ScriptSensorReplyEventArgs object containing the - data returned from the data server + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + - - Thread sync lock object + + + Construct a new instance of the AvatarAppearanceEventArgs class + + The simulator request was from + The ID of the agent + true of the agent is a trial account + The default agent texture + The agents appearance layer textures + The for the agent - - The event subscribers. null if no subcribers + + Get the Simulator this request is from of the agent - - Raises the AvatarSitResponse event - A AvatarSitResponseEventArgs object containing the - data returned from the data server + + Get the ID of the agent - - Thread sync lock object + + true if the agent is a trial account - - The event subscribers. null if no subcribers + + Get the default agent texture - - Raises the ChatSessionMemberAdded event - A ChatSessionMemberAddedEventArgs object containing the - data returned from the data server + + Get the agents appearance layer textures - - Thread sync lock object + + Get the for the agent - - The event subscribers. null if no subcribers + + Represents the interests from the profile of an agent - - Raises the ChatSessionMemberLeft event - A ChatSessionMemberLeftEventArgs object containing the - data returned from the data server + + Get the ID of the agent - - Thread sync lock object + + The properties of an agent - - Reference to the GridClient instance + + Get the ID of the agent - - Used for movement and camera tracking + + Get the ID of the agent - - Currently playing animations for the agent. Can be used to - check the current movement status such as walking, hovering, aiming, - etc. by checking against system animations found in the Animations class + + Get the ID of the agent - - Dictionary containing current Group Chat sessions and members + + Get the ID of the avatar - + - Constructor, setup callbacks for packets related to our avatar + Event args class for display name notification messages - A reference to the Class - + - Send a text message from the Agent to the Simulator + Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. - A containing the message - The channel to send the message on, 0 is the public channel. Channels above 0 - can be used however only scripts listening on the specified channel will see the message - Denotes the type of message being sent, shout, whisper, etc. - + - Request any instant messages sent while the client was offline to be resent. + Searialize an animation asset into it's joints/keyframes/meta data + + - + - Send an Instant Message to another Avatar + Rotation Keyframe count (used internally) - The recipients - A containing the message to send - + - Send an Instant Message to an existing group chat or conference chat + Position Keyframe count (used internally) - The recipients - A containing the message to send - IM session ID (to differentiate between IM windows) - + - Send an Instant Message + Animation Priority - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - IDs of sessions for a conference - + - Send an Instant Message + The animation length in seconds. - The name this IM will show up as being from - Key of Avatar - Text message being sent - IM session ID (to differentiate between IM windows) - Type of instant message to send - Whether to IM offline avatars as well - Senders Position - RegionID Sender is In - Packed binary data that is specific to - the dialog type - + - Send an Instant Message to a group + Expression set in the client. Null if [None] is selected - of the group to send message to - Text Message being sent. - + - Send an Instant Message to a group the agent is a member of + The time in seconds to start the animation - The name this IM will show up as being from - of the group to send message to - Text message being sent - + - Send a request to join a group chat session + The time in seconds to end the animation - of Group to leave - + - Exit a group chat session. This will stop further Group chat messages - from being sent until session is rejoined. + Loop the animation - of Group chat session to leave - + - Reply to script dialog questions. + Meta data. Ease in Seconds. - Channel initial request came on - Index of button you're "clicking" - Label of button you're "clicking" - of Object that sent the dialog request - - + - Accept invite for to a chatterbox session + Meta data. Ease out seconds. - of session to accept invite to - + - Start a friends conference + Meta Data for the Hand Pose - List of UUIDs to start a conference with - the temportary session ID returned in the callback> - + - Start a particle stream between an agent and an object + Number of joints defined in the animation - Key of the source agent - Key of the target object - - The type from the enum - A unique for this effect - + - Start a particle stream between an agent and an object + Contains an array of joints - Key of the source agent - Key of the target object - A representing the beams offset from the source - A which sets the avatars lookat animation - of the Effect - + - Create a particle beam between an avatar and an primitive + Variable length strings seem to be null terminated in the animation asset.. but.. + use with caution, home grown. + advances the index. - The ID of source avatar - The ID of the target primitive - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam - + The animation asset byte array + The offset to start reading + a string - + - Create a particle swirl around a target position using a packet + Read in a Joint from an animation asset byte array + Variable length Joint fields, yay! + Advances the index - global offset - A object containing the combined red, green, blue and alpha - color values of particle beam - a float representing the duration the parcicle beam will last - A Unique ID for the beam + animation asset byte array + Byte Offset of the start of the joint + The Joint data serialized into the binBVHJoint structure - + - Sends a request to sit on the specified object + Read Keyframes of a certain type + advance i - of the object to sit on - Sit at offset + Animation Byte array + Offset in the Byte Array. Will be advanced + Number of Keyframes + Scaling Min to pass to the Uint16ToFloat method + Scaling Max to pass to the Uint16ToFloat method + + - + - Follows a call to to actually sit on the object + A Joint and it's associated meta data and keyframes - - Stands up from sitting on a prim or the ground - true of AgentUpdate was sent - - + - Does a "ground sit" at the avatar's current position + Name of the Joint. Matches the avatar_skeleton.xml in client distros - + - Starts or stops flying + Joint Animation Override? Was the same as the Priority in testing.. - True to start flying, false to stop flying - + - Starts or stops crouching + Array of Rotation Keyframes in order from earliest to latest - True to start crouching, false to stop crouching - + - Starts a jump (begin holding the jump key) + Array of Position Keyframes in order from earliest to latest + This seems to only be for the Pelvis? - + - Use the autopilot sim function to move the avatar to a new - position. Uses double precision to get precise movements + Custom application data that can be attached to a joint - The z value is currently not handled properly by the simulator - Global X coordinate to move to - Global Y coordinate to move to - Z coordinate to move to - + - Use the autopilot sim function to move the avatar to a new position + A Joint Keyframe. This is either a position or a rotation. - The z value is currently not handled properly by the simulator - Integer value for the global X coordinate to move to - Integer value for the global Y coordinate to move to - Floating-point value for the Z coordinate to move to - + - Use the autopilot sim function to move the avatar to a new position + Either a Vector3 position or a Vector3 Euler rotation - The z value is currently not handled properly by the simulator - Integer value for the local X coordinate to move to - Integer value for the local Y coordinate to move to - Floating-point value for the Z coordinate to move to - - - Macro to cancel autopilot sim function - Not certain if this is how it is really done - true if control flags were set and AgentUpdate was sent to the simulator - + - Grabs an object + Poses set in the animation metadata for the hands. - an unsigned integer of the objects ID within the simulator - - + - Overload: Grab a simulated object + Wrapper around a byte array that allows bit to be packed and unpacked + one at a time or by a variable amount. Useful for very tightly packed + data like LayerData packets - an unsigned integer of the objects ID within the simulator - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - + - Drag an object + Default constructor, initialize the bit packer / bit unpacker + with a byte array and starting position - of the object to drag - Drag target in region coordinates + Byte array to pack bits in to or unpack from + Starting position in the byte array - + - Overload: Drag an object - of the object to drag - Drag target in region coordinates - - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - + - Release a grabbed object - The Objects Simulator Local ID - - - - + - Release a grabbed object - The Objects Simulator Local ID - The texture coordinates to grab - The surface coordinates to grab - The face of the position to grab - The region coordinates of the position to grab - The surface normal of the position to grab (A normal is a vector perpindicular to the surface) - The surface binormal of the position to grab (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - + - Touches an object + Pack a floating point value in to the data - an unsigned integer of the objects ID within the simulator - + Floating point value to pack - + - Request the current L$ balance + Pack part or all of an integer in to the data + Integer containing the data to pack + Number of bits of the integer to pack - + - Give Money to destination Avatar + Pack part or all of an unsigned integer in to the data - UUID of the Target Avatar - Amount in L$ + Unsigned integer containing the data to pack + Number of bits of the integer to pack - + - Give Money to destination Avatar + Pack a single bit in to the data - UUID of the Target Avatar - Amount in L$ - Description that will show up in the - recipients transaction history + Bit to pack - + - Give L$ to an object - object to give money to - amount of L$ to give - name of object + + + + + + + + - + - Give L$ to a group - group to give money to - amount of L$ to give + + - + - Give L$ to a group - group to give money to - amount of L$ to give - description of transaction + + - + - Pay texture/animation upload fee + Unpacking a floating point value from the data + Unpacked floating point value - + - Pay texture/animation upload fee + Unpack a variable number of bits from the data in to integer format - description of the transaction + Number of bits to unpack + An integer containing the unpacked bits + This function is only useful up to 32 bits - + - Give Money to destination Object or Avatar + Unpack a variable number of bits from the data in to unsigned + integer format - UUID of the Target Object/Avatar - Amount in L$ - Reason (Optional normally) - The type of transaction - Transaction flags, mostly for identifying group - transactions + Number of bits to unpack + An unsigned integer containing the unpacked bits + This function is only useful up to 32 bits - + - Plays a gesture + Unpack a 16-bit signed integer - Asset of the gesture + 16-bit signed integer - + - Mark gesture active + Unpack a 16-bit unsigned integer - Inventory of the gesture - Asset of the gesture + 16-bit unsigned integer - + - Mark gesture inactive + Unpack a 32-bit signed integer - Inventory of the gesture + 32-bit signed integer - + - Send an AgentAnimation packet that toggles a single animation on + Unpack a 32-bit unsigned integer - The of the animation to start playing - Whether to ensure delivery of this packet or not + 32-bit unsigned integer - + - Send an AgentAnimation packet that toggles a single animation off + Capabilities is the name of the bi-directional HTTP REST protocol + used to communicate non real-time transactions such as teleporting or + group messaging - The of a - currently playing animation to stop playing - Whether to ensure delivery of this packet or not - + - Send an AgentAnimation packet that will toggle animations on or off + Default constructor - A list of animation s, and whether to - turn that animation on or off - Whether to ensure delivery of this packet or not + + + + - + - Teleports agent to their stored home location + Triggered when an event is received via the EventQueueGet + capability - true on successful teleport to home location + Event name + Decoded event data + The simulator that generated the event - + + Reference to the simulator this system is connected to + + + Capabilities URI this system was initialized with + + + Whether the capabilities event queue is connected and + listening for incoming events + + - Teleport agent to a landmark + Request the URI of a named capability - of the landmark to teleport agent to - true on success, false on failure + Name of the capability to request + The URI of the requested capability, or String.Empty if + the capability does not exist - + - Attempt to look up a simulator name and teleport to the discovered - destination + Process any incoming events, check to see if we have a message created for the event, - Region name to look up - Position to teleport to - True if the lookup and teleport were successful, otherwise - false + + + + - + - Attempt to look up a simulator name and teleport to the discovered - destination + Attempts to convert an LLSD structure to a known Packet type - Region name to look up - Position to teleport to - Target to look at - True if the lookup and teleport were successful, otherwise - false + Event name, this must match an actual + packet name for a Packet to be successfully built + LLSD to convert to a Packet + A Packet on success, otherwise null - + + Origin position of this coordinate frame + + + X axis of this coordinate frame, or Forward/At in grid terms + + + Y axis of this coordinate frame, or Left in grid terms + + + Z axis of this coordinate frame, or Up in grid terms + + - Teleport agent to another region - handle of region to teleport agent to - position in destination sim to teleport to - true on success, false on failure - This call is blocking + Looking direction, must be a normalized vector + Up direction, must be a normalized vector - + - Teleport agent to another region + Align the coordinate frame X and Y axis with a given rotation + around the Z axis in radians - handle of region to teleport agent to - position in destination sim to teleport to - direction in destination sim agent will look at - true on success, false on failure - This call is blocking + Absolute rotation around the Z axis in + radians - + - Request teleport to a another simulator + Access to the data server which allows searching for land, events, people, etc - handle of region to teleport agent to - position in destination sim to teleport to - + - Request teleport to a another simulator + Constructs a new instance of the DirectoryManager class - handle of region to teleport agent to - position in destination sim to teleport to - direction in destination sim agent will look at + An instance of GridClient - + + Classified Ad categories + + + Classified is listed in the Any category + + + Classified is shopping related + + + Classified is + + - Teleport agent to a landmark - of the landmark to teleport agent to - + - Send a teleport lure to another avatar with default "Join me in ..." invitation message - target avatars to lure - + - Send a teleport lure to another avatar with custom invitation message - target avatars to lure - custom message to send with invitation - + - Respond to a teleport lure by either accepting it and initiating - the teleport, or denying it - of the avatar sending the lure - IM session of the incoming lure request - true to accept the lure, false to decline it - + - Update agent profile - struct containing updated - profile information - + - Update agents profile interests - selection of interests from struct - + - Set the height and the width of the client window. This is used - by the server to build a virtual camera frustum for our avatar - New height of the viewer window - New width of the viewer window - + + Event Categories + + - Request the list of muted objects and avatars for this agent - + - Sets home location to agents current position - will fire an AlertMessage () with - success or failure message - + - Move an agent in to a simulator. This packet is the last packet - needed to complete the transition in to a new simulator - Object - + - Reply to script permissions request - Object - of the itemID requesting permissions - of the taskID requesting permissions - list of permissions to allow - + - Respond to a group invitation by either accepting or denying it - UUID of the group (sent in the AgentID field of the invite message) - IM Session ID from the group invitation message - Accept the group invitation or deny it - + - Requests script detection of objects and avatars - name of the object/avatar to search for - UUID of the object or avatar to search for - Type of search from ScriptSensorTypeFlags - range of scan (96 max?) - the arc in radians to search within - an user generated ID to correlate replies with - Simulator to perform search in - + - Create or update profile pick - UUID of the pick to update, or random UUID to create a new pick - Is this a top pick? (typically false) - UUID of the parcel (UUID.Zero for the current parcel) - Name of the pick - Global position of the pick landmark - UUID of the image displayed with the pick - Long description of the pick - + - Delete profile pick - UUID of the pick to delete - + - Create or update profile Classified - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Global position of the classified landmark - Name of the classified - Long description of the classified - if true, auto renew classified after expiration - + - Create or update profile Classified - UUID of the classified to update, or random UUID to create a new classified - Defines what catagory the classified is in - UUID of the image displayed with the classified - Price that the classified will cost to place for a week - Name of the classified - Long description of the classified - if true, auto renew classified after expiration - + - Delete a classified ad - The classified ads ID - + - Fetches resource usage by agents attachmetns - Called when the requested information is collected - + - Take an incoming ImprovedInstantMessage packet, auto-parse, and if - OnInstantMessage is defined call that with the appropriate arguments + Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. + Flags can be combined using the | (pipe) character, not all flags are available in all queries - The sender - The EventArgs object containing the packet data - + + Query the People database + + - Take an incoming Chat packet, auto-parse, and if OnChat is defined call - that with the appropriate arguments. - The sender - The EventArgs object containing the packet data - + - Used for parsing llDialogs - The sender - The EventArgs object containing the packet data - + + Query the Groups database + + + Query the Events database + + + Query the land holdings database for land owned by the currently connected agent + + - Used for parsing llRequestPermissions dialogs - The sender - The EventArgs object containing the packet data - + + Query the land holdings database for land which is owned by a Group + + + Specifies the query should pre sort the results based upon traffic + when searching the Places database + + - Handles Script Control changes when Script with permissions releases or takes a control - The sender - The EventArgs object containing the packet data - + - Used for parsing llLoadURL Dialogs - The sender - The EventArgs object containing the packet data - + - Update client's Position, LookAt and region handle from incoming packet - The sender - The EventArgs object containing the packet data - This occurs when after an avatar moves into a new sim - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Specifies the query should pre sort the results in an ascending order when searching the land sales database. + This flag is only used when searching the land sales database - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. + This flag is only used when searching the land sales database - + + Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results using the Name field when searching the land sales database. + This flag is only used when searching the land sales database + + + When set, only parcels less than the specified Price will be included when searching the land sales database. + This flag is only used when searching the land sales database + + + When set, only parcels greater than the specified Size will be included when searching the land sales database. + This flag is only used when searching the land sales database + + - Process TeleportFailed message sent via EventQueue, informs agent its last teleport has failed and why. - The Message Key - An IMessage object Deserialized from the recieved message event - The simulator originating the event message - + - Process TeleportFinish from Event Queue and pass it onto our TeleportHandler - The message system key for this event - IMessage object containing decoded data from OSD - The simulator originating the event message - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases - + - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - This packet is now being sent via the EventQueue + + + Land types to search dataserver for + - + + Search Auction, Mainland and Estate + + + Land which is currently up for auction + + + Parcels which are on the mainland (Linden owned) continents + + + Parcels which are on privately owned simulators + + - Group Chat event handler + The content rating of the event - The capability Key - IMessage object containing decoded data from OSD - - + + Event is PG + + + Event is Mature + + + Event is Adult + + - Response from request to join a group chat + Classified Ad Options - - IMessage object containing decoded data from OSD - + There appear to be two formats the flags are packed in. + This set of flags is for the newer style - + - Someone joined or left group chat - - IMessage object containing decoded data from OSD - - + - Handle a group chat Invitation - Caps Key - IMessage object containing decoded data from OSD - Originating Simulator - + - Moderate a chat session - the of the session to moderate, for group chats this will be the groups UUID - the of the avatar to moderate - Either "voice" to moderate users voice, or "text" to moderate users text session - true to moderate (silence user), false to allow avatar to speak - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Classified ad query options + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Include all ads in results - - Raised when a scripted object or agent within range sends a public message + + Include PG ads in results - - Raised when a scripted object sends a dialog box containing possible - options an agent can respond to + + Include Mature ads in results - - Raised when an object requests a change in the permissions an agent has permitted + + Include Adult ads in results - - Raised when a script requests an agent open the specified URL + + + The For Sale flag in PlacesReplyData + - - Raised when an agents currency balance is updated + + Parcel is not listed for sale - - Raised when a transaction occurs involving currency such as a land purchase + + Parcel is For Sale - - Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from - private messaging to friendship offers. The Dialog field defines what type of message has arrived + + + A classified ad on the grid + - - Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times - for each teleport indicating the progress of the request + + UUID for this ad, useful for looking up detailed + information about it - - Raised when a simulator sends agent specific information for our avatar. + + The title of this classified ad - - Raised when our agents animation playlist changes + + Flags that show certain options applied to the classified - - Raised when an object or avatar forcefully collides with our agent + + Creation date of the ad - - Raised when our agent crosses a region border into another region + + Expiration date of the ad - - Raised when our agent succeeds or fails to join a group chat session + + Price that was paid for this ad - - Raised when a simulator sends an urgent message usually indication the recent failure of - another action we have attempted to take such as an attempt to enter a parcel where we are denied access + + Print the struct data as a string + A string containing the field name, and field value - - Raised when a script attempts to take or release specified controls for our agent + + + A parcel retrieved from the dataserver such as results from the + "For-Sale" listings or "Places" Search + - - Raised when the simulator detects our agent is trying to view something - beyond its limits + + The unique dataserver parcel ID + This id is used to obtain additional information from the entry + by using the method - - Raised when a script sensor reply is received from a simulator + + A string containing the name of the parcel - - Raised in response to a request + + The size of the parcel + This field is not returned for Places searches - - Raised when an avatar enters a group chat session we are participating in + + The price of the parcel + This field is not returned for Places searches - - Raised when an agent exits a group chat session we are participating in + + If True, this parcel is flagged to be auctioned - - Your (client) avatars - "client", "agent", and "avatar" all represent the same thing + + If true, this parcel is currently set for sale - - Temporary assigned to this session, used for - verifying our identity in packets + + Parcel traffic - - Shared secret that is never sent over the wire + + Print the struct data as a string + A string containing the field name, and field value - - Your (client) avatar ID, local to the current region/sim + + + An Avatar returned from the dataserver + - - Where the avatar started at login. Can be "last", "home" - or a login + + Online status of agent + This field appears to be obsolete and always returns false - - The access level of this agent, usually M or PG + + The agents first name - - The CollisionPlane of Agent + + The agents last name - - An representing the velocity of our agent + + The agents - - An representing the acceleration of our agent + + Print the struct data as a string + A string containing the field name, and field value - - A which specifies the angular speed, and axis about which an Avatar is rotating. + + + Response to a "Groups" Search + - - Position avatar client will goto when login to 'home' or during - teleport request to 'home' region. + + The Group ID - - LookAt point saved/restored with HomePosition + + The name of the group - - Avatar First Name (i.e. Philip) + + The current number of members - - Avatar Last Name (i.e. Linden) + + Print the struct data as a string + A string containing the field name, and field value - - Avatar Full Name (i.e. Philip Linden) + + + Parcel information returned from a request + + Represents one of the following: + A parcel of land on the grid that has its Show In Search flag set + A parcel of land owned by the agent making the request + A parcel of land owned by a group the agent making the request is a member of + + In a request for Group Land, the First record will contain an empty record + + Note: This is not the same as searching the land for sale data source + - - Gets the health of the agent + + The ID of the Agent of Group that owns the parcel - - Gets the current balance of the agent + + The name - - Gets the local ID of the prim the agent is sitting on, - zero if the avatar is not currently sitting + + The description - - Gets the of the agents active group. + + The Size of the parcel - - Gets the Agents powers in the currently active group + + The billable Size of the parcel, for mainland + parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller + than the ActualArea. For Estate land this will always be 0 - - Current status message for teleporting + + Indicates the ForSale status of the parcel - - Current position of the agent as a relative offset from - the simulator, or the parent object if we are sitting on something + + The Gridwide X position - - Current rotation of the agent as a relative rotation from - the simulator, or the parent object if we are sitting on something + + The Gridwide Y position - - Current position of the agent in the simulator + + The Z position of the parcel, or 0 if no landing point set - - - A representing the agents current rotation - + + The name of the Region the parcel is located in - - Returns the global grid position of the avatar + + The Asset ID of the parcels Snapshot texture - - - Called once attachment resource usage information has been collected - - Indicates if operation was successfull - Attachment resource usage information + + The calculated visitor traffic - - - Used to specify movement actions for your agent - + + The billing product SKU + Known values are: + 023Mainland / Full Region024Estate / Full Region027Estate / Openspace029Estate / Homestead129Mainland / Homestead (Linden Owned) - - Empty flag + + No longer used, will always be 0 - - Move Forward (SL Keybinding: W/Up Arrow) + + Get a SL URL for the parcel + A string, containing a standard SLURL - - Move Backward (SL Keybinding: S/Down Arrow) + + Print the struct data as a string + A string containing the field name, and field value - - Move Left (SL Keybinding: Shift-(A/Left Arrow)) + + + An "Event" Listing summary + - - Move Right (SL Keybinding: Shift-(D/Right Arrow)) + + The ID of the event creator - - Not Flying: Jump/Flying: Move Up (SL Keybinding: E) + + The name of the event - - Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) + + The events ID - - Unused + + A string containing the short date/time the event will begin - - Unused + + The event start time in Unixtime (seconds since epoch) - - Unused + + The events maturity rating - - Unused + + Print the struct data as a string + A string containing the field name, and field value - - ORed with AGENT_CONTROL_AT_* if the keyboard is being used + + + The details of an "Event" + - - ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used + + The events ID - - ORed with AGENT_CONTROL_UP_* if the keyboard is being used + + The ID of the event creator - - Fly + + The name of the event - - + + The category - - Finish our current animation + + The events description - - Stand up from the ground or a prim seat + + The short date/time the event will begin - - Sit on the ground at our current location + + The event start time in Unixtime (seconds since epoch) UTC adjusted - - Whether mouselook is currently enabled + + The length of the event in minutes - - Legacy, used if a key was pressed for less than a certain amount of time + + 0 if no cover charge applies - - Legacy, used if a key was pressed for less than a certain amount of time + + The cover charge amount in L$ if applicable - - Legacy, used if a key was pressed for less than a certain amount of time + + The name of the region where the event is being held - - Legacy, used if a key was pressed for less than a certain amount of time + + The gridwide location of the event - - Legacy, used if a key was pressed for less than a certain amount of time + + The maturity rating - - Legacy, used if a key was pressed for less than a certain amount of time + + Get a SL URL for the parcel where the event is hosted + A string, containing a standard SLURL - - + + Print the struct data as a string + A string containing the field name, and field value - - + + The event subscribers. null if no subcribers - - Set when the avatar is idled or set to away. Note that the away animation is - activated separately from setting this flag + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - - Agent movement and camera control - - Agent movement is controlled by setting specific - After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags - This is most easily accomplished by setting one or more of the AgentMovement properties - - Movement of an avatar is always based on a compass direction, for example AtPos will move the - agent from West to East or forward on the X Axis, AtNeg will of course move agent from - East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis - The Z axis is Up, finer grained control of movements can be done using the Nudge properties - + + The event subscribers. null if no subcribers - - Agent camera controls + + Thread sync lock object - - Currently only used for hiding your group title + + The event subscribers. null if no subcribers - - Action state of the avatar, which can currently be - typing and editing + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - + + Raised when the data server responds to a request. - - Timer for sending AgentUpdate packets + + Raised when the data server responds to a request. - - Default constructor + + Raised when the data server responds to a request. - + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raises the EventInfoReply event + An EventInfoReplyEventArgs object containing the + data returned from the data server + + + Raises the DirEventsReply event + An DirEventsReplyEventArgs object containing the + data returned from the data server + + + Raises the PlacesReply event + A PlacesReplyEventArgs object containing the + data returned from the data server + + + Raises the DirPlacesReply event + A DirPlacesReplyEventArgs object containing the + data returned from the data server + + + Raises the DirClassifiedsReply event + A DirClassifiedsReplyEventArgs object containing the + data returned from the data server + + + Raises the DirGroupsReply event + A DirGroupsReplyEventArgs object containing the + data returned from the data server + + + Raises the DirPeopleReply event + A DirPeopleReplyEventArgs object containing the + data returned from the data server + + + Raises the DirLandReply event + A DirLandReplyEventArgs object containing the + data returned from the data server + + - Send an AgentUpdate with the camera set at the current agent - position and pointing towards the heading specified + Query the data server for a list of classified ads containing the specified string. + Defaults to searching for classified placed in any category, and includes PG, Adult and Mature + results. + Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + The event is raised when a response is received from the simulator - Camera rotation in radians - Whether to send the AgentUpdate reliable - or not + A string containing a list of keywords to search for + A UUID to correlate the results when the event is raised - + - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar + Query the data server for a list of classified ads which contain specified keywords (Overload) + The event is raised when a response is received from the simulator - Region coordinates to turn toward + A string containing a list of keywords to search for + The category to search + A set of flags which can be ORed to modify query options + such as classified maturity rating. + A UUID to correlate the results when the event is raised + + Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature + + UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); + + + Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + - + - Send new AgentUpdate packet to update our current camera - position and rotation + Starts search for places (Overloaded) + The event is raised when a response is received from the simulator + Search text + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised - + - Send new AgentUpdate packet to update our current camera - position and rotation + Queries the dataserver for parcels of land which are flagged to be shown in search + The event is raised when a response is received from the simulator - Whether to require server acknowledgement - of this packet + A string containing a list of keywords to search for separated by a space character + A set of flags which can be ORed to modify query options + such as classified maturity rating. + The category to search + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised + + Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult + + UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); + + + Additional information on the results can be obtained by using the ParcelManager.InfoRequest method + - + - Send new AgentUpdate packet to update our current camera - position and rotation + Starts a search for land sales using the directory + The event is raised when a response is received from the simulator - Whether to require server acknowledgement - of this packet - Simulator to send the update to + What type of land to search for. Auction, + estate, mainland, "first land", etc + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - + - Builds an AgentUpdate packet entirely from parameters. This - will not touch the state of Self.Movement or - Self.Movement.Camera in any way + Starts a search for land sales using the directory + The event is raised when a response is received from the simulator - - - - - - - - - - - + What type of land to search for. Auction, + estate, mainland, "first land", etc + Maximum price to search for + Maximum area to search for + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. - - Move agent positive along the X axis + + + Send a request to the data server for land sales listings + + Flags sent to specify query options + Available flags: + Specify the parcel rating with one or more of the following: + IncludePG IncludeMature IncludeAdult + Specify the field to pre sort the results with ONLY ONE of the following: + PerMeterSort NameSort AreaSort PricesSort + Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order + SortAsc + Specify additional filters to limit the results with one or both of the following: + LimitByPrice LimitByArea + Flags can be combined by separating them with the | (pipe) character + Additional details can be found in + What type of land to search for. Auction, + Estate or Mainland + Maximum price to search for when the + DirFindFlags.LimitByPrice flag is specified in findFlags + Maximum area to search for when the + DirFindFlags.LimitByArea flag is specified in findFlags + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + + The event will be raised with the response from the simulator + There is no way to determine how many results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each reply. + Any land set for sale to either anybody or specific to the connected agent will be included in the + results if the land is included in the query + + + + // request all mainland, any maturity rating that is larger than 512 sq.m + StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); + + - - Move agent negative along the X axis + + + Search for Groups + + The name or portion of the name of the group you wish to search for + Start from the match number + + - - Move agent positive along the Y axis + + + Search for Groups + + The name or portion of the name of the group you wish to search for + Start from the match number + Search flags + + - - Move agent negative along the Y axis + + + Search the People directory for other avatars + + The name or portion of the name of the avatar you wish to search for + + + + - - Move agent positive along the Z axis + + + Search Places for parcels of land you personally own + - - Move agent negative along the Z axis + + + Searches Places for land owned by the specified group + + ID of the group you want to recieve land list for (You must be a member of the group) + Transaction (Query) ID which can be associated with results from your request. - - + + + Search the Places directory for parcels that are listed in search and contain the specified keywords + + A string containing the keywords to search for + Transaction (Query) ID which can be associated with results from your request. - - + + + Search Places - All Options + + One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. + One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer + A string containing a list of keywords to search for separated by a space character + String Simulator Name to search in + LLUID of group you want to recieve results for + Transaction (Query) ID which can be associated with results from your request. + Transaction (Query) ID which can be associated with results from your request. - - + + + Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + + A string containing a list of keywords to search for separated by a space character + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + UUID of query to correlate results in callback. - - + + + Search Events + + A string containing a list of keywords to search for separated by a space character + One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult + from the Enum + Multiple flags can be combined by separating the flags with the | (pipe) character + "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled + For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + EventCategory event is listed under. + UUID of query to correlate results in callback. - - + + Requests Event Details + ID of Event returned from the method - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Causes simulator to make agent fly + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - Stop movement + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Finish animation + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Stand up from a sit + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from - - Tells simulator to sit agent on ground + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Place agent into mouselook mode + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Nudge agent positive along the X axis + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Nudge agent negative along the X axis + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Nudge agent positive along the Y axis + + Contains the Event data returned from the data server from an EventInfoRequest - - Nudge agent negative along the Y axis + + Construct a new instance of the EventInfoReplyEventArgs class + A single EventInfo object containing the details of an event - - Nudge agent positive along the Z axis + + + A single EventInfo object containing the details of an event + - - Nudge agent negative along the Z axis + + Contains the "Event" detail data returned from the data server - - + + Construct a new instance of the DirEventsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Events" returned by the search query - - + + The ID returned by - - Tell simulator to mark agent as away + + A list of "Events" returned by the data server - - + + Contains the "Event" list data returned from the data server - - + + Construct a new instance of PlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Places" returned by the data server query - - + + The ID returned by - - + + A list of "Places" returned by the data server - - - Returns "always run" value, or changes it by sending a SetAlwaysRunPacket - + + Contains the places data returned from the data server - - The current value of the agent control flags + + Construct a new instance of the DirPlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing land data returned by the data server - - Gets or sets the interval in milliseconds at which - AgentUpdate packets are sent to the current simulator. Setting - this to a non-zero value will also enable the packet sending if - it was previously off, and setting it to zero will disable + + The ID returned by - - Gets or sets whether AgentUpdate packets are sent to - the current simulator + + A list containing Places data returned by the data server - - Reset movement controls every time we send an update + + Contains the classified data returned from the data server - - - Camera controls for the agent, mostly a thin wrapper around - CoordinateFrame. This class is only responsible for state - tracking and math, it does not send any packets - + + Construct a new instance of the DirClassifiedsReplyEventArgs class + A list of classified ad data returned from the data server - - + + A list containing Classified Ads returned by the data server - - The camera is a local frame of reference inside of - the larger grid space. This is where the math happens + + Contains the group data returned from the data server - - - Default constructor - + + Construct a new instance of the DirGroupsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of groups data returned by the data server - - + + The ID returned by - - + + A list containing Groups data returned by the data server - - + + Contains the people data returned from the data server - - + + Construct a new instance of the DirPeopleReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of people data returned by the data server - - - - + + The ID returned by - - - Construct a new instance of the ChatEventArgs object - - Sim from which the message originates - The message sent - The audible level of the message - The type of message sent: whisper, shout, etc - The source type of the message sender - The name of the agent or object sending the message - The ID of the agent or object sending the message - The ID of the object owner, or the agent ID sending the message - The position of the agent or object sending the message + + A list containing People data returned by the data server - - Get the simulator sending the message + + Contains the land sales data returned from the data server - - Get the message sent + + Construct a new instance of the DirLandReplyEventArgs class + A list of parcels for sale returned by the data server - - Get the audible level of the message + + A list containing land forsale data returned by the data server - - Get the type of message sent: whisper, shout, etc + + + Represends individual HTTP Download request + - - Get the source type of the message sender + + Default constructor - - Get the name of the agent or object sending the message + + Constructor - - Get the ID of the agent or object sending the message + + URI of the item to fetch - - Get the ID of the object owner, or the agent ID sending the message + + Timout specified in milliseconds - - Get the position of the agent or object sending the message + + Download progress callback - - Contains the data sent when a primitive opens a dialog with this agent + + Download completed callback + + + Accept the following content type - + - Construct a new instance of the ScriptDialogEventArgs + Manages async HTTP downloads with a limit on maximum + concurrent downloads - The dialog message - The name of the object that sent the dialog request - The ID of the image to be displayed - The ID of the primitive sending the dialog - The first name of the senders owner - The last name of the senders owner - The communication channel the dialog was sent on - The string labels containing the options presented in this dialog - - Get the dialog message + + Default constructor - - Get the name of the object that sent the dialog request + + Maximum number of parallel downloads from a single endpoint - - Get the ID of the image to be displayed + + Client certificate - - Get the ID of the primitive sending the dialog + + Cleanup method - - Get the first name of the senders owner + + Setup http download request - - Get the last name of the senders owner + + Check the queue for pending work - - Get the communication channel the dialog was sent on, responses - should also send responses on this same channel + + Enqueue a new HTPP download - - Get the string labels containing the options presented in this dialog + + Describes tasks returned in LandStatReply - - Contains the data sent when a primitive requests debit or other permissions - requesting a YES or NO answer + + + Estate level administration and utilities + - + - Construct a new instance of the ScriptQuestionEventArgs + Constructor for EstateTools class - The simulator containing the object sending the request - The ID of the script making the request - The ID of the primitive containing the script making the request - The name of the primitive making the request - The name of the owner of the object making the request - The permissions being requested + + - - Get the simulator containing the object sending the request + + Used in the ReportType field of a LandStatRequest - - Get the ID of the script making the request + + Used by EstateOwnerMessage packets - - Get the ID of the primitive containing the script making the request + + Used by EstateOwnerMessage packets - - Get the name of the primitive making the request + + + - - Get the name of the owner of the object making the request + + No flags set - - Get the permissions being requested + + Only return targets scripted objects - - Contains the data sent when a primitive sends a request - to an agent to open the specified URL + + Only return targets objects if on others land - - - Construct a new instance of the LoadUrlEventArgs - - The name of the object sending the request - The ID of the object sending the request - The ID of the owner of the object sending the request - True if the object is owned by a group - The message sent with the request - The URL the object sent + + Returns target's scripted objects and objects on other parcels - - Get the name of the object sending the request + + Ground texture settings for each corner of the region - - Get the ID of the object sending the request + + Used by GroundTextureHeightSettings - - Get the ID of the owner of the object sending the request + + The high and low texture thresholds for each corner of the sim - - True if the object is owned by a group + + Textures for each of the four terrain height levels - - Get the message sent with the request + + Upper/lower texture boundaries for each corner of the sim - - Get the URL the object sent + + The event subscribers. null if no subcribers - - The date received from an ImprovedInstantMessage + + Thread sync lock object - - - Construct a new instance of the InstantMessageEventArgs object - - the InstantMessage object - the simulator where the InstantMessage origniated + + The event subscribers. null if no subcribers - - Get the InstantMessage object + + Thread sync lock object - - Get the simulator where the InstantMessage origniated + + The event subscribers. null if no subcribers - - Contains the currency balance + + Thread sync lock object - - - Construct a new BalanceEventArgs object - - The currenct balance + + The event subscribers. null if no subcribers - - - Get the currenct balance - + + Thread sync lock object - - Contains the transaction summary when an item is purchased, - money is given, or land is purchased + + The event subscribers. null if no subcribers - - - Construct a new instance of the MoneyBalanceReplyEventArgs object - - The ID of the transaction - True of the transaction was successful - The current currency balance - The meters credited - The meters comitted - A brief description of the transaction + + Thread sync lock object - - Get the ID of the transaction + + The event subscribers. null if no subcribers - - True of the transaction was successful + + Thread sync lock object - - Get the remaining currency balance + + The event subscribers. null if no subcribers - - Get the meters credited + + Thread sync lock object - - Get the meters comitted + + The event subscribers. null if no subcribers - - Get the description of the transaction + + Thread sync lock object - - Data sent from the simulator containing information about your agent and active group information - - - - Construct a new instance of the AgentDataReplyEventArgs object - - The agents first name - The agents last name - The agents active group ID - The group title of the agents active group - The combined group powers the agent has in the active group - The name of the group the agent has currently active - - - Get the agents first name - - - Get the agents last name + + Raised when the data server responds to a request. - - Get the active group ID of your agent + + Raised when the data server responds to a request. - - Get the active groups title of your agent + + Raised when the data server responds to a request. - - Get the combined group powers of your agent + + Raised when the data server responds to a request. - - Get the active group name of your agent + + Raised when the data server responds to a request. - - Data sent by the simulator to indicate the active/changed animations - applied to your agent + + Raised when the data server responds to a request. - - - Construct a new instance of the AnimationsChangedEventArgs class - - The dictionary that contains the changed animations + + Raised when the data server responds to a request. - - Get the dictionary that contains the changed animations + + Raised when the data server responds to a request. - - - Data sent from a simulator indicating a collision with your agent - + + Raises the TopCollidersReply event + A TopCollidersReplyEventArgs object containing the + data returned from the data server - - - Construct a new instance of the MeanCollisionEventArgs class - - The type of collision that occurred - The ID of the agent or object that perpetrated the agression - The ID of the Victim - The strength of the collision - The Time the collision occurred + + Raises the TopScriptsReply event + A TopScriptsReplyEventArgs object containing the + data returned from the data server - - Get the Type of collision + + Raises the EstateUsersReply event + A EstateUsersReplyEventArgs object containing the + data returned from the data server - - Get the ID of the agent or object that collided with your agent + + Raises the EstateGroupsReply event + A EstateGroupsReplyEventArgs object containing the + data returned from the data server - - Get the ID of the agent that was attacked + + Raises the EstateManagersReply event + A EstateManagersReplyEventArgs object containing the + data returned from the data server - - A value indicating the strength of the collision + + Raises the EstateBansReply event + A EstateBansReplyEventArgs object containing the + data returned from the data server - - Get the time the collision occurred + + Raises the EstateCovenantReply event + A EstateCovenantReplyEventArgs object containing the + data returned from the data server - - Data sent to your agent when it crosses region boundaries + + Raises the EstateUpdateInfoReply event + A EstateUpdateInfoReplyEventArgs object containing the + data returned from the data server - + - Construct a new instance of the RegionCrossedEventArgs class + Requests estate information such as top scripts and colliders - The simulator your agent just left - The simulator your agent is now in + + + + + + + + - - Get the simulator your agent just left + + Requests estate settings, including estate manager and access/ban lists - - Get the simulator your agent is now in + + Requests the "Top Scripts" list for the current region - - Data sent from the simulator when your agent joins a group chat session + + Requests the "Top Colliders" list for the current region - + - Construct a new instance of the GroupChatJoinedEventArgs class + Set several estate specific configuration variables - The ID of the session - The name of the session - A temporary session id used for establishing new sessions - True of your agent successfully joined the session - - - Get the ID of the group chat session - - - Get the name of the session - - - Get the temporary session ID used for establishing new sessions - - - True if your agent successfully joined the session - - - Data sent by the simulator containing urgent messages + The Height of the waterlevel over the entire estate. Defaults to 20 + The maximum height change allowed above the baked terrain. Defaults to 4 + The minimum height change allowed below the baked terrain. Defaults to -4 + true to use + if True forces the sun position to the position in SunPosition + The current position of the sun on the estate, or when FixedSun is true the static position + the sun will remain. 6.0 = Sunrise, 30.0 = Sunset - + - Construct a new instance of the AlertMessageEventArgs class + Request return of objects owned by specified avatar - The alert message - - - Get the alert message - - - Data sent by a script requesting to take or release specified controls to your agent + The Agents owning the primitives to return + specify the coverage and type of objects to be included in the return + true to perform return on entire estate - + - Construct a new instance of the ScriptControlEventArgs class - The controls the script is attempting to take or release to the agent - True if the script is passing controls back to the agent - True if the script is requesting controls be released to the script + + + + - - Get the controls the script is attempting to take or release to the agent + + + Used for setting and retrieving various estate panel settings + + EstateOwnerMessage Method field + List of parameters to include - - True if the script is passing controls back to the agent + + + Kick an avatar from an estate + + Key of Agent to remove - - True if the script is requesting controls be released to the script + + + Ban an avatar from an estate + Key of Agent to remove + Ban user from this estate and all others owned by the estate owner - + + Unban an avatar from an estate + Key of Agent to remove + /// Unban user from this estate and all others owned by the estate owner + - Data sent from the simulator to an agent to indicate its view limits + Send a message dialog to everyone in an entire estate + Message to send all users in the estate - + - Construct a new instance of the CameraConstraintEventArgs class + Send a message dialog to everyone in a simulator - The collision plane + Message to send all users in the simulator - - Get the collision plane + + + Send an avatar back to their home location + + Key of avatar to send home - + - Data containing script sensor requests which allow an agent to know the specific details - of a primitive sending script sensor requests + Begin the region restart process - + - Construct a new instance of the ScriptSensorReplyEventArgs + Cancels a region restart - The ID of the primitive sending the sensor - The ID of the group associated with the primitive - The name of the primitive sending the sensor - The ID of the primitive sending the sensor - The ID of the owner of the primitive sending the sensor - The position of the primitive sending the sensor - The range the primitive specified to scan - The rotation of the primitive sending the sensor - The type of sensor the primitive sent - The velocity of the primitive sending the sensor - - Get the ID of the primitive sending the sensor + + Estate panel "Region" tab settings - - Get the ID of the group associated with the primitive + + Estate panel "Debug" tab settings - - Get the name of the primitive sending the sensor + + Used for setting the region's terrain textures for its four height levels + + + + + + + + - - Get the ID of the primitive sending the sensor + + Used for setting sim terrain texture heights - - Get the ID of the owner of the primitive sending the sensor - - - Get the position of the primitive sending the sensor + + Requests the estate covenant - - Get the range the primitive specified to scan + + + Upload a terrain RAW file + + A byte array containing the encoded terrain data + The name of the file being uploaded + The Id of the transfer request - - Get the rotation of the primitive sending the sensor + + + Teleports all users home in current Estate + - - Get the type of sensor the primitive sent + + + Remove estate manager + Key of Agent to Remove + removes manager to this estate and all others owned by the estate owner - - Get the velocity of the primitive sending the sensor + + + Add estate manager + Key of Agent to Add + Add agent as manager to this estate and all others owned by the estate owner - - Contains the response data returned from the simulator in response to a + + + Add's an agent to the estate Allowed list + Key of Agent to Add + Add agent as an allowed reisdent to All estates if true - - Construct a new instance of the AvatarSitResponseEventArgs object + + + Removes an agent from the estate Allowed list + Key of Agent to Remove + Removes agent as an allowed reisdent from All estates if true - - Get the ID of the primitive the agent will be sitting on + + + Add's a group to the estate Allowed list + Key of Group to Add + Add Group as an allowed group to All estates if true - - True if the simulator Autopilot functions were involved + + + Removes a group from the estate Allowed list + Key of Group to Remove + Removes Group as an allowed Group from All estates if true - - Get the camera offset of the agent when seated + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Get the camera eye offset of the agent when seated + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - True of the agent will be in mouselook mode when seated + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Get the position of the agent when seated + + Raised on LandStatReply when the report type is for "top colliders" - - Get the rotation of the agent when seated + + Construct a new instance of the TopCollidersReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply - - Data sent when an agent joins a chat session your agent is currently participating in + + + The number of returned items in LandStatReply + - + - Construct a new instance of the ChatSessionMemberAddedEventArgs object + A Dictionary of Object UUIDs to tasks returned in LandStatReply - The ID of the chat session - The ID of the agent joining - - Get the ID of the chat session + + Raised on LandStatReply when the report type is for "top Scripts" - - Get the ID of the agent that joined + + Construct a new instance of the TopScriptsReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply - - Data sent when an agent exits a chat session your agent is currently participating in + + + The number of scripts returned in LandStatReply + - + - Construct a new instance of the ChatSessionMemberLeftEventArgs object + A Dictionary of Object UUIDs to tasks returned in LandStatReply - The ID of the chat session - The ID of the Agent that left - - Get the ID of the chat session + + Returned, along with other info, upon a successful .RequestInfo() - - Get the ID of the agent that left + + Construct a new instance of the EstateBansReplyEventArgs class + The estate's identifier on the grid + The number of returned items in LandStatReply + User UUIDs banned - + - Return a decoded capabilities message as a strongly typed object + The identifier of the estate - A string containing the name of the capabilities message key - An to decode - A strongly typed object containing the decoded information from the capabilities message, or null - if no existing Message object exists for the specified event - + - Represents a string of characters encoded with specific formatting properties + The number of returned itmes - - A text string containing main text of the notecard + + + List of UUIDs of Banned Users + - - List of s embedded on the notecard + + Returned, along with other info, upon a successful .RequestInfo() - - Construct an Asset of type Notecard + + Construct a new instance of the EstateUsersReplyEventArgs class + The estate's identifier on the grid + The number of users + Allowed users UUIDs - + - Construct an Asset object of type Notecard + The identifier of the estate - A unique specific to this asset - A byte array containing the raw asset data - + - Encode the raw contents of a string with the specific Linden Text properties + The number of returned items - + - Decode the raw asset data including the Linden Text properties + List of UUIDs of Allowed Users - true if the AssetData was successfully decoded - - Override the base classes AssetType + + Returned, along with other info, upon a successful .RequestInfo() - + + Construct a new instance of the EstateGroupsReplyEventArgs class + The estate's identifier on the grid + The number of Groups + Allowed Groups UUIDs + + - Class for controlling various system settings. + The identifier of the estate - Some values are readonly because they affect things that - happen when the GridClient object is initialized, so changing them at - runtime won't do any good. Non-readonly values may affect things that - happen at login or dynamically - - - Main grid login server - - - Beta grid login server - + - InventoryManager requests inventory information on login, - GridClient initializes an Inventory store for main inventory. + The number of returned items - + - InventoryManager requests library information on login, - GridClient initializes an Inventory store for the library. + List of UUIDs of Allowed Groups - - Number of milliseconds between sending pings to each sim - - - Number of milliseconds between sending camera updates + + Returned, along with other info, upon a successful .RequestInfo() - - Number of milliseconds between updating the current - positions of moving, non-accelerating and non-colliding objects + + Construct a new instance of the EstateManagersReplyEventArgs class + The estate's identifier on the grid + The number of Managers + Managers UUIDs - - Millisecond interval between ticks, where all ACKs are - sent out and the age of unACKed packets is checked + + + The identifier of the estate + - - The initial size of the packet inbox, where packets are - stored before processing + + + The number of returned items + - - Maximum size of packet that we want to send over the wire + + + List of UUIDs of the Estate's Managers + - - The maximum value of a packet sequence number before it - rolls over back to one + + Returned, along with other info, upon a successful .RequestInfo() - - The maximum size of the sequence number archive, used to - check for resent and/or duplicate packets + + Construct a new instance of the EstateCovenantReplyEventArgs class + The Covenant ID + The timestamp + The estate's name + The Estate Owner's ID (can be a GroupID) - - The relative directory where external resources are kept + + + The Covenant + - - Login server to connect to - - - IP Address the client will bind to - - - Use XML-RPC Login or LLSD Login, default is XML-RPC Login - - - Number of milliseconds before an asset transfer will time - out - - - Number of milliseconds before a teleport attempt will time - out - - - Number of milliseconds before NetworkManager.Logout() will - time out - - - Number of milliseconds before a CAPS call will time out - Setting this too low will cause web requests time out and - possibly retry repeatedly - - - Number of milliseconds for xml-rpc to timeout - - - Milliseconds before a packet is assumed lost and resent - - - Milliseconds without receiving a packet before the - connection to a simulator is assumed lost - - - Milliseconds to wait for a simulator info request through - the grid interface - - - Maximum number of queued ACKs to be sent before SendAcks() - is forced - - - Network stats queue length (seconds) - - - Enable/disable storing terrain heightmaps in the - TerrainManager + + + The timestamp + - - Enable/disable sending periodic camera updates + + + The Estate name + - - Enable/disable automatically setting agent appearance at - login and after sim crossing + + + The Estate Owner's ID (can be a GroupID) + - - Enable/disable automatically setting the bandwidth throttle - after connecting to each simulator - The default throttle uses the equivalent of the maximum - bandwidth setting in the official client. If you do not set a - throttle your connection will by default be throttled well below - the minimum values and you may experience connection problems + + Returned, along with other info, upon a successful .RequestInfo() - - Enable/disable the sending of pings to monitor lag and - packet loss + + Construct a new instance of the EstateUpdateInfoReplyEventArgs class + The estate's name + The Estate Owners ID (can be a GroupID) + The estate's identifier on the grid + + - - Should we connect to multiple sims? This will allow - viewing in to neighboring simulators and sim crossings - (Experimental) + + + The estate's name + - - If true, all object update packets will be decoded in to - native objects. If false, only updates for our own agent will be - decoded. Registering an event handler will force objects for that - type to always be decoded. If this is disabled the object tracking - will have missing or partial prim and avatar information + + + The Estate Owner's ID (can be a GroupID) + - - If true, when a cached object check is received from the - server the full object info will automatically be requested + + + The identifier of the estate on the grid + - - Whether to establish connections to HTTP capabilities - servers for simulators + + + - - Whether to decode sim stats + + + Registers, unregisters, and fires events generated by incoming packets + - - The capabilities servers are currently designed to - periodically return a 502 error which signals for the client to - re-establish a connection. Set this to true to log those 502 errors + + + Default constructor + + + - - If true, any reference received for a folder or item - the library is not aware of will automatically be fetched + + + Object that is passed to worker threads in the ThreadPool for + firing packet callbacks + - - If true, and SEND_AGENT_UPDATES is true, - AgentUpdate packets will continuously be sent out to give the bot - smoother movement and autopiloting + + Callback to fire for this packet - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectAvatars. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + Reference to the simulator that this packet came from - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectPrimitives. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received + + The packet that needs to be processed - - If true, position and velocity will periodically be - interpolated (extrapolated, technically) for objects and - avatars that are being tracked by the library. This is - necessary to increase the accuracy of speed and position - estimates for simulated objects + + Reference to the GridClient object - + - If true, utilization statistics will be tracked. There is a minor penalty - in CPU time for enabling this option. + Register an event handler + Use PacketType.Default to fire this event on every + incoming packet + Packet type to register the handler for + Callback to be fired + True if this callback should be ran + asynchronously, false to run it synchronous - - If true, parcel details will be stored in the - Simulator.Parcels dictionary as they are received + + + Unregister an event handler + + Packet type to unregister the handler for + Callback to be unregistered - + - If true, an incoming parcel properties reply will automatically send - a request for the parcel access list + Fire the events registered for this packet type + Incoming packet type + Incoming packet + Simulator this packet was received from - + - if true, an incoming parcel properties reply will automatically send - a request for the traffic count. + Registers, unregisters, and fires events generated by the Capabilities + event queue - + - If true, images, and other assets downloaded from the server - will be cached in a local directory + Default constructor + Reference to the GridClient object - - Path to store cached texture data + + + Object that is passed to worker threads in the ThreadPool for + firing CAPS callbacks + - - Maximum size cached files are allowed to take on disk (bytes) + + Callback to fire for this packet - - Default color used for viewer particle effects + + Name of the CAPS event - - Maximum number of times to resend a failed packet + + Strongly typed decoded data - - Throttle outgoing packet rate + + Reference to the simulator that generated this event - - UUID of a texture used by some viewers to indentify type of client used + + Reference to the GridClient object - + - Download textures using GetTexture capability when available + Register an new event handler for a capabilities event sent via the EventQueue + Use String.Empty to fire this event on every CAPS event + Capability event name to register the + handler for + Callback to fire - - The maximum number of concurrent texture downloads allowed - Increasing this number will not necessarily increase texture retrieval times due to - simulator throttles - - + - The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + Unregister a previously registered capabilities handler - This is a static variable which applies to all instances + Capability event name unregister the + handler for + Callback to unregister - + - Textures taking longer than this value will be flagged as timed out and removed from the pipeline + Fire the events registered for this event type synchronously + Capability name + Decoded event body + Reference to the simulator that + generated this event - + - Get or set the minimum log level to output to the console by default - - If the library is not compiled with DEBUG defined and this level is set to DEBUG - You will get no output on the console. This behavior can be overriden by creating - a logger configuration file for log4net + Fire the events registered for this event type asynchronously + Capability name + Decoded event body + Reference to the simulator that + generated this event - - Attach avatar names to log messages - - - Log packet retransmission info - - - Constructor - Reference to a GridClient object - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Cost of uploading an asset - Read-only since this value is dynamically fetched at login - - - - NetworkManager is responsible for managing the network layer of - OpenMetaverse. It tracks all the server connections, serializes - outgoing traffic and deserializes incoming traffic, and provides - instances of delegates for network-related events. - + - Login Routines - - The event subscribers, null of no subscribers - - - Raises the PacketSent Event - A PacketSentEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the LoggedOut Event - A LoggedOutEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the SimConnecting Event - A SimConnectingEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the SimConnected Event - A SimConnectedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the SimDisconnected Event - A SimDisconnectedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the Disconnected Event - A DisconnectedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the SimChanged Event - A SimChangedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the EventQueueRunning Event - A EventQueueRunningEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - All of the simulators we are currently connected to - - - Handlers for incoming capability events + + The avatar has no rights - - Handlers for incoming packets + + The avatar can see the online status of the target avatar - - Incoming packets that are awaiting handling + + The avatar can see the location of the target avatar on the map - - Outgoing packets that are awaiting handling + + The avatar can modify the ojects of the target avatar - + - Default constructor + This class holds information about an avatar in the friends list. There are two ways + to interface to this class. The first is through the set of boolean properties. This is the typical + way clients of this class will use it. The second interface is through two bitflag properties, + TheirFriendsRights and MyFriendsRights - Reference to the GridClient object - + - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library + Used internally when building the initial list of friends at login time - Packet type to trigger events for - Callback to fire when a packet of this type - is received + System ID of the avatar being prepesented + Rights the friend has to see you online and to modify your objects + Rights you have to see your friend online and to modify their objects - + - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library + System ID of the avatar - Packet type to trigger events for - Callback to fire when a packet of this type - is received - True if the callback should be ran - asynchronously. Only set this to false (synchronous for callbacks - that will always complete quickly) - If any callback for a packet type is marked as - asynchronous, all callbacks for that packet type will be fired - asynchronously - + - Unregister an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library + full name of the avatar - Packet type this callback is registered with - Callback to stop firing events for - + - Register a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library + True if the avatar is online - Name of the CAPS event to register a handler for - Callback to fire when a CAPS event is received - + - Unregister a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library + True if the friend can see if I am online - Name of the CAPS event this callback is - registered with - Callback to stop firing events for - + - Send a packet to the simulator the avatar is currently occupying + True if the friend can see me on the map - Packet to send - + - Send a packet to a specified simulator + True if the freind can modify my objects - Packet to send - Simulator to send the packet to - + - Connect to a simulator + True if I can see if my friend is online - IP address to connect to - Port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null - + - Connect to a simulator + True if I can see if my friend is on the map - IP address and port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null - + - Initiate a blocking logout request. This will return when the logout - handshake has completed or when Settings.LOGOUT_TIMEOUT - has expired and the network layer is manually shut down + True if I can modify my friend's objects - + - Initiate the logout process. Check if logout succeeded with the - OnLogoutReply event, and if this does not fire the - Shutdown() function needs to be manually called + My friend's rights represented as bitmapped flags - + - Close a connection to the given simulator + My rights represented as bitmapped flags - - - + - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout + FriendInfo represented as a string - Type of shutdown + A string reprentation of both my rights and my friends rights - + - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout + This class is used to add and remove avatars from your friends list and to manage their permission. - Type of shutdown - Shutdown message - + - Searches through the list of currently connected simulators to find - one attached to the given IPEndPoint + Internal constructor - IPEndPoint of the Simulator to search for - A Simulator reference on success, otherwise null + A reference to the GridClient Object - - - Fire an event when an event queue connects for capabilities - - Simulator the event queue is attached to + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Thread sync lock object - - The event subscribers, null of no subscribers + + The event subscribers. null if no subcribers - - Raises the LoginProgress Event - A LoginProgressEventArgs object containing - the data sent from the simulator + + Thread sync lock object - + + The event subscribers. null if no subcribers + + Thread sync lock object - - Seed CAPS URL returned from the login server + + The event subscribers. null if no subcribers - - A list of packets obtained during the login process which - networkmanager will log but not process + + Thread sync lock object - + + The event subscribers. null if no subcribers + + + Thread sync lock object + + - Generate sane default values for a login request + A dictionary of key/value pairs containing known friends of this avatar. + The Key is the of the friend, the value is a + object that contains detailed information including permissions you have and have given to the friend - Account first name - Account last name - Account password - Client application name - Client application version - A populated struct containing - sane defaults - + - Simplified login that takes the most common and required fields + A Dictionary of key/value pairs containing current pending frienship offers. + The key is the of the avatar making the request, + the value is the of the request which is used to accept + or decline the friendship offer - Account first name - Account last name - Account password - Client application name - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - + + Raised when the simulator sends notification one of the members in our friends list comes online + + + Raised when the simulator sends notification one of the members in our friends list goes offline + + + Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions + + + Raised when the simulator sends us the names on our friends list + + + Raised when the simulator sends notification another agent is offering us friendship + + + Raised when a request we sent to friend another agent is accepted or declined + + + Raised when the simulator sends notification one of the members in our friends list has terminated + our friendship + + + Raised when the simulator sends the location of a friend we have + requested map location info for + + + Raises the FriendOnline event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Raises the FriendOffline event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Raises the FriendRightsUpdate event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Raises the FriendNames event + A FriendNamesEventArgs object containing the + data returned from the data server + + + Raises the FriendshipOffered event + A FriendshipOfferedEventArgs object containing the + data returned from the data server + + + Raises the FriendshipResponse event + A FriendshipResponseEventArgs object containing the + data returned from the data server + + + Raises the FriendshipTerminated event + A FriendshipTerminatedEventArgs object containing the + data returned from the data server + + + Raises the FriendFoundReply event + A FriendFoundReplyEventArgs object containing the + data returned from the data server + + - Simplified login that takes the most common fields along with a - starting location URI, and can accept an MD5 string instead of a - plaintext password + Accept a friendship request - Account first name - Account last name - Account password or MD5 hash of the password - such as $1$1682a1e45e9f957dcdf0bb56eb43319c - Client application name - Starting location URI that can be built with - StartLocation() - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error + agentID of avatatar to form friendship with + imSessionID of the friendship request message - + - Login that takes a struct of all the values that will be passed to - the login server + Decline a friendship request - The values that will be passed to the login - server, all fields must be set even if they are String.Empty - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error + + of friend + imSessionID of the friendship request message - + - Build a start location URI for passing to the Login function + Overload: Offer friendship to an avatar. - Name of the simulator to start in - X coordinate to start at - Y coordinate to start at - Z coordinate to start at - String with a URI that can be used to login to a specified - location + System ID of the avatar you are offering friendship to - + - Handles response from XML-RPC login replies + Offer friendship to an avatar. + System ID of the avatar you are offering friendship to + A message to send with the request - + - Handle response from LLSD login replies + Terminate a friendship with an avatar - - - + System ID of the avatar you are terminating the friendship with - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + - Get current OS + Change the rights of a friend avatar. - Either "Win" or "Linux" + the of the friend + the new rights to give the friend + This method will implicitly set the rights to those passed in the rights parameter. - + - Get clients default Mac Address + Use to map a friends location on the grid. - A string containing the first found Mac Address - - - Raised when the simulator sends us data containing - ... + Friends UUID to find + + + - - Raised when the simulator sends us data containing - ... + + + Use to track a friends movement on the grid + + Friends Key - - Raised when the simulator sends us data containing - ... + + + Ask for a notification of friend's online status + + Friend's UUID - - Raised when the simulator sends us data containing - ... + + + This handles the asynchronous response of a RequestAvatarNames call. + + + + names cooresponding to the the list of IDs sent the the RequestAvatarNames call. - - Raised when the simulator sends us data containing - ... + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raised when the simulator sends us data containing - ... + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raised when the simulator sends us data containing - ... + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Raised when the simulator sends us data containing - ... + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Unique identifier associated with our connections to - simulators + + + Populate FriendList with data from the login reply + + true if login was successful + true if login request is requiring a redirect + A string containing the response to the login request + A string containing the reason for the request + A object containing the decoded + reply from the login server - - The simulator that the logged in avatar is currently - occupying + + Contains information on a member of our friends list - - Shows whether the network layer is logged in to the - grid or not + + + Construct a new instance of the FriendInfoEventArgs class + + The FriendInfo - - Number of packets in the incoming queue + + Get the FriendInfo - - Number of packets in the outgoing queue + + Contains Friend Names - - Raised when the simulator sends us data containing - ... + + + Construct a new instance of the FriendNamesEventArgs class + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - Called when a reply is received from the login server, the - login sequence will block until this event returns + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name - - Current state of logging in + + Sent when another agent requests a friendship with our agent - - Upon login failure, contains a short string key for the - type of login error that occurred + + + Construct a new instance of the FriendshipOfferedEventArgs class + + The ID of the agent requesting friendship + The name of the agent requesting friendship + The ID of the session, used in accepting or declining the + friendship offer - - The raw XML-RPC reply from the login server, exactly as it - was received (minus the HTTP header) + + Get the ID of the agent requesting friendship - - During login this contains a descriptive version of - LoginStatusCode. After a successful login this will contain the - message of the day, and after a failed login a descriptive error - message will be returned + + Get the name of the agent requesting friendship - + + Get the ID of the session, used in accepting or declining the + friendship offer + + + A response containing the results of our request to form a friendship with another agent + + - Explains why a simulator or the grid disconnected from us + Construct a new instance of the FriendShipResponseEventArgs class + The ID of the agent we requested a friendship with + The name of the agent we requested a friendship with + true if the agent accepted our friendship offer - - The client requested the logout or simulator disconnect + + Get the ID of the agent we requested a friendship with - - The server notified us that it is disconnecting + + Get the name of the agent we requested a friendship with - - Either a socket was closed or network traffic timed out + + true if the agent accepted our friendship offer - - The last active simulator shut down + + Contains data sent when a friend terminates a friendship with us - + - Holds a simulator reference and a decoded packet, these structs are put in - the packet inbox for event handling + Construct a new instance of the FrindshipTerminatedEventArgs class + The ID of the friend who terminated the friendship with us + The name of the friend who terminated the friendship with us - - Reference to the simulator that this packet came from + + Get the ID of the agent that terminated the friendship with us - - Packet that needs to be processed + + Get the name of the agent that terminated the friendship with us - + - Holds a simulator reference and a serialized packet, these structs are put in - the packet outbox for sending + Data sent in response to a request which contains the information to allow us to map the friends location - - Reference to the simulator this packet is destined for - - - Packet that needs to be sent + + + Construct a new instance of the FriendFoundReplyEventArgs class + + The ID of the agent we have requested location information for + The region handle where our friend is located + The simulator local position our friend is located - - Sequence number of the wrapped packet + + Get the ID of the agent we have received location information for - - Number of times this packet has been resent + + Get the region handle where our mapped friend is located - - Environment.TickCount when this packet was last sent over the wire + + Get the simulator local position where our friend is located - + - + Main class to expose grid functionality to clients. All of the + classes needed for sending and receiving data are accessible through + this class. - - - - - + + + // Example minimum code required to instantiate class and + // connect to a simulator. + using System; + using System.Collections.Generic; + using System.Text; + using OpenMetaverse; + namespace FirstBot + { + class Bot + { + public static GridClient Client; + static void Main(string[] args) + { + Client = new GridClient(); // instantiates the GridClient class + // to the global Client object + // Login to Simulator + Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); + // Wait for a Keypress + Console.ReadLine(); + // Logout of simulator + Client.Network.Logout(); + } + } + } + + - + - Type of return to use when returning objects from a parcel + Default constructor - - - - - Return objects owned by parcel owner + + Networking subsystem - - Return objects set to group + + Settings class including constant values and changeable + parameters for everything - - Return objects not owned by parcel owner or set to group + + Parcel (subdivided simulator lots) subsystem - - Return a specific list of objects on parcel + + Our own avatars subsystem - - Return objects that are marked for-sale + + Other avatars subsystem - - - Blacklist/Whitelist flags used in parcels Access List - + + Estate subsystem - - Agent is denied access + + Friends list subsystem - - Agent is granted access + + Grid (aka simulator group) subsystem - - - The result of a request for parcel properties - + + Object subsystem - - No matches were found for the request + + Group subsystem - - Request matched a single parcel + + Asset subsystem - - Request matched multiple parcels + + Appearance subsystem - - - Flags used in the ParcelAccessListRequest packet to specify whether - we want the access list (whitelist), ban list (blacklist), or both - + + Inventory subsystem - - Request the access list + + Directory searches including classifieds, people, land + sales, etc - - Request the ban list + + Handles land, wind, and cloud heightmaps - - Request both White and Black lists + + Handles sound-related networking - + + Throttling total bandwidth usage, or allocating bandwidth + for specific data stream types + + - Sequence ID in ParcelPropertiesReply packets (sent when avatar - tries to cross a parcel border) + Return the full name of this instance + Client avatars full name - - Parcel is currently selected - - - Parcel restricted to a group the avatar is not a - member of + + + Map layer request type + - - Avatar is banned from the parcel + + Objects and terrain are shown - - Parcel is restricted to an access list that the - avatar is not on + + Only the terrain is shown, no objects - - Response to hovering over a parcel + + Overlay showing land for sale and for auction - + - The tool to use when modifying terrain levels + Type of grid item, such as telehub, event, populator location, etc. - - Level the terrain + + Telehub - - Raise the terrain + + PG rated event - - Lower the terrain + + Mature rated event - - Smooth the terrain + + Popular location - - Add random noise to the terrain + + Locations of avatar groups in a region - - Revert terrain to simulator default + + Land for sale - + + Classified ad + + + Adult rated event + + + Adult land for sale + + - The tool size to use when changing terrain levels + Information about a region on the grid map - - Small + + Sim X position on World Map - - Medium + + Sim Y position on World Map - - Large + + Sim Name (NOTE: In lowercase!) - + - Reasons agent is denied access to a parcel on the simulator - - Agent is not denied, access is granted + + Appears to always be zero (None) - - Agent is not a member of the group set for the parcel, or which owns the parcel + + Sim's defined Water Height - - Agent is not on the parcels specific allow list + + + - - Agent is on the parcels ban list + + UUID of the World Map image - - Unknown + + Unique identifier for this region, a combination of the X + and Y position - - Agent is not age verified and parcel settings deny access to non age verified avatars + + + + + - + - Parcel overlay type. This is used primarily for highlighting and - coloring which is why it is a single integer instead of a set of - flags - These values seem to be poorly thought out. The first three - bits represent a single value, not flags. For example Auction (0x05) is - not a combination of OwnedByOther (0x01) and ForSale(0x04). However, - the BorderWest and BorderSouth values are bit flags that get attached - to the value stored in the first three bits. Bits four, five, and six - are unused + + - - Public land + + + + + + + - - Land is owned by another avatar + + + Visual chunk of the grid map + - - Land is owned by a group + + + Base class for Map Items + - - Land is owned by the current avatar + + The Global X position of the item - - Land is for sale + + The Global Y position of the item - - Land is being auctioned + + Get the Local X position of the item - - To the west of this area is a parcel border + + Get the Local Y position of the item - - To the south of this area is a parcel border + + Get the Handle of the region - + - Various parcel properties + Represents an agent or group of agents location - - No flags set + + + Represents a Telehub location + - - Allow avatars to fly (a client-side only restriction) + + + Represents a non-adult parcel of land for sale + - - Allow foreign scripts to run + + + Represents an Adult parcel of land for sale + - - This parcel is for sale + + + Represents a PG Event + - - Allow avatars to create a landmark on this parcel + + + Represents a Mature event + - - Allows all avatars to edit the terrain on this parcel + + + Represents an Adult event + - - Avatars have health and can take damage on this parcel. - If set, avatars can be killed and sent home here + + + Manages grid-wide tasks such as the world map + - - Foreign avatars can create objects here + + + Constructor + + Instance of GridClient object to associate with this GridManager instance - - All objects on this parcel can be purchased + + The event subscribers. null if no subcribers - - Access is restricted to a group + + Thread sync lock object - - Access is restricted to a whitelist + + The event subscribers. null if no subcribers - - Ban blacklist is enabled + + Thread sync lock object - - Unknown + + The event subscribers. null if no subcribers - - List this parcel in the search directory + + Thread sync lock object - - Allow personally owned parcels to be deeded to group + + The event subscribers. null if no subcribers - - If Deeded, owner contributes required tier to group parcel is deeded to + + Thread sync lock object - - Restrict sounds originating on this parcel to the - parcel boundaries + + The event subscribers. null if no subcribers - - Objects on this parcel are sold when the land is - purchsaed + + Thread sync lock object - - Allow this parcel to be published on the web + + A dictionary of all the regions, indexed by region name - - The information for this parcel is mature content + + A dictionary of all the regions, indexed by region handle - - The media URL is an HTML page + + Raised when the simulator sends a + containing the location of agents in the simulator - - The media URL is a raw HTML string + + Raised when the simulator sends a Region Data in response to + a Map request - - Restrict foreign object pushes + + Raised when the simulator sends GridLayer object containing + a map tile coordinates and texture information - - Ban all non identified/transacted avatars + + Raised when the simulator sends GridItems object containing + details on events, land sales at a specific location - - Allow group-owned scripts to run + + Raised in response to a Region lookup - - Allow object creation by group members or group - objects + + Unknown - - Allow all objects to enter this parcel + + Current direction of the sun - - Only allow group and owner objects to enter this parcel + + Current angular velocity of the sun - - Voice Enabled on this parcel + + Microseconds since the start of SL 4-hour day - - Use Estate Voice channel for Voice on this parcel + + Raises the CoarseLocationUpdate event + A CoarseLocationUpdateEventArgs object containing the + data sent by simulator - - Deny Age Unverified Users + + Raises the GridRegion event + A GridRegionEventArgs object containing the + data sent by simulator - + + Raises the GridLayer event + A GridLayerEventArgs object containing the + data sent by simulator + + + Raises the GridItems event + A GridItemEventArgs object containing the + data sent by simulator + + + Raises the RegionHandleReply event + A RegionHandleReplyEventArgs object containing the + data sent by simulator + + - Parcel ownership status + + - - Placeholder - - - Parcel is leased (owned) by an avatar or group + + + Request a map layer + + The name of the region + The type of layer - - Parcel is in process of being leased (purchased) by an avatar or group + + + + + + + + + + + + + + + - - Parcel has been abandoned back to Governor Linden + + + + + + + + + + + + + - + - Category parcel is listed in under search + + + + + + - - No assigned category + + + Request data for all mainland (Linden managed) simulators + - - Linden Infohub or public area + + + Request the region handle for the specified region UUID + + UUID of the region to look up - - Adult themed area + + + Get grid region information using the region name, this function + will block until it can find the region or gives up + + Name of sim you're looking for + Layer that you are requesting + Will contain a GridRegion for the sim you're + looking for if successful, otherwise an empty structure + True if the GridRegion was successfully fetched, otherwise + false - - Arts and Culture + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Business + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Educational + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Gaming + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Hangout or Club + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Newcomer friendly + + + Avatar group management + - - Parks and Nature + + Key of Group Member - - Residential + + Total land contribution - - Shopping + + Online status information - - Not Used? + + Abilities that the Group Member has - - Other + + Current group title - - Not an actual category, only used for queries + + Is a group owner - + - Type of teleport landing for a parcel + Role manager for a group - - Unset, simulator default + + Key of the group - - Specific landing point set for this parcel + + Key of Role - - No landing point set, direct teleports enabled for - this parcel + + Name of Role - - - Parcel Media Command used in ParcelMediaCommandMessage - + + Group Title associated with Role - - Stop the media stream and go back to the first frame + + Description of Role - - Pause the media stream (stop playing but stay on current frame) + + Abilities Associated with Role - - Start the current media stream playing and stop when the end is reached + + Returns the role's title + The role's title - - Start the current media stream playing, - loop to the beginning when the end is reached and continue to play + + + Class to represent Group Title + - - Specifies the texture to replace with video - If passing the key of a texture, it must be explicitly typecast as a key, - not just passed within double quotes. + + Key of the group - - Specifies the movie URL (254 characters max) - - - Specifies the time index at which to begin playing - - - Specifies a single agent to apply the media command to - - - Unloads the stream. While the stop command sets the texture to the first frame of the movie, - unload resets it to the real texture that the movie was replacing. - - - Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties - (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. + + ID of the role title belongs to - - Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). - Use "text/html" for HTML. + + Group Title - - Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). - This might still not be working + + Whether title is Active - - Sets a description for the media being displayed (1.19.1 RC0 and later only). + + Returns group title - + - Some information about a parcel of land returned from a DirectoryManager search + Represents a group on the grid - - Global Key of record + + Key of Group - - Parcel Owners + + Key of Group Insignia - - Name field of parcel, limited to 128 characters + + Key of Group Founder - - Description field of parcel, limited to 256 characters + + Key of Group Role for Owners - - Total Square meters of parcel + + Name of Group - - Total area billable as Tier, for group owned land this will be 10% less than ActualArea + + Text of Group Charter - - True of parcel is in Mature simulator + + Title of "everyone" role - - Grid global X position of parcel + + Is the group open for enrolement to everyone - - Grid global Y position of parcel + + Will group show up in search - - Grid global Z position of parcel (not used) + + + - - Name of simulator parcel is located in + + + - - Texture of parcels display picture + + + - - Float representing calculated traffic based on time spent on parcel by avatars + + Is the group Mature - - Sale price of parcel (not used) + + Cost of group membership - - Auction ID of parcel + + + - + - Parcel Media Information - - A byte, if 0x1 viewer should auto scale media to fit object + + The total number of current members this group has - - A boolean, if true the viewer should loop the media + + The number of roles this group has configured - - The Asset UUID of the Texture which when applied to a - primitive will display the media + + Show this group in agent's profile - - A URL which points to any Quicktime supported media type + + Returns the name of the group + A string containing the name of the group - - A description of the media + + + A group Vote + - - An Integer which represents the height of the media + + Key of Avatar who created Vote - - An integer which represents the width of the media + + Text of the Vote proposal - - A string which contains the mime type of the media + + Total number of votes - + - Parcel of land, a portion of virtual real estate in a simulator + A group proposal - - The total number of contiguous 4x4 meter blocks your agent owns within this parcel + + The Text of the proposal - - The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own + + The minimum number of members that must vote before proposal passes or failes - - Deprecated, Value appears to always be 0 + + The required ration of yes/no votes required for vote to pass + The three options are Simple Majority, 2/3 Majority, and Unanimous + TODO: this should be an enum + + The duration in days votes are accepted - - Simulator-local ID of this parcel + + + - - UUID of the owner of this parcel + + + - - Whether the land is deeded to a group or not + + + - - + + + - - Date land was claimed + + + - - Appears to always be zero + + + - - This field is no longer used + + + - - Minimum corner of the axis-aligned bounding box for this - parcel + + + - - Maximum corner of the axis-aligned bounding box for this - parcel + + + - - Bitmap describing land layout in 4x4m squares across the - entire region + + + - - Total parcel land area + + + - - + + + - - Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used + + + - - Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel - owned by the agent or group that owns this parcel + + + - - Maximum number of primitives this parcel supports + + + - - Total number of primitives on this parcel + + + - - For group-owned parcels this indicates the total number of prims deeded to the group, - for parcels owned by an individual this inicates the number of prims owned by the individual + + + - - Total number of primitives owned by the parcel group on - this parcel, or for parcels owned by an individual with a group set the - total number of prims set to that group. + + + - - Total number of prims owned by other avatars that are not set to group, or not the parcel owner + + + - - A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect - the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed + + + - - Autoreturn value in minutes for others' objects - - - - - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it + + + Struct representing a group notice + - - Parcel Name + + + - - Parcel Description + + + - - URL For Music Stream + + + - - + + + - - Price for a temporary pass + + + + + - - How long is pass valid for + + + Struct representing a group notice list entry + - - + + Notice ID - - Key of authorized buyer + + Creation timestamp of notice - - Key of parcel snapshot + + Agent name who created notice - - The landing point location + + Notice subject - - The landing point LookAt + + Is there an attachment? - - The type of landing enforced from the enum + + Attachment Type - - + + + Struct representing a member of a group chat session and their settings + - - + + The of the Avatar - - + + True if user has voice chat enabled - - Access list of who is whitelisted on this - parcel + + True of Avatar has moderator abilities - - Access list of who is blacklisted on this - parcel + + True if a moderator has muted this avatars chat - - TRUE of region denies access to age unverified users + + True if a moderator has muted this avatars voice - - true to obscure (hide) media url + + + Role update flags + - - true to obscure (hide) music url + + + - - A struct containing media details + + + - + - Displays a parcel object in string format - string containing key=value pairs of a parcel object - + - Defalt constructor - Local ID of this parcel - + - Update the simulator with any local changes to this Parcel object - Simulator to send updates to - Whether we want the simulator to confirm - the update with a reply packet or not - + - Set Autoreturn time - Simulator to send the update to - + - Parcel (subdivided simulator lots) subsystem - - The event subscribers. null if no subcribers + + Can send invitations to groups default role - - Raises the ParcelDwellReply event - A ParcelDwellReplyEventArgs object containing the - data returned from the simulator + + Can eject members from group - - Thread sync lock object + + Can toggle 'Open Enrollment' and change 'Signup fee' - - The event subscribers. null if no subcribers + + Member is visible in the public member list - - Raises the ParcelInfoReply event - A ParcelInfoReplyEventArgs object containing the - data returned from the simulator + + Can create new roles - - Thread sync lock object + + Can delete existing roles - - The event subscribers. null if no subcribers + + Can change Role names, titles and descriptions - - Raises the ParcelProperties event - A ParcelPropertiesEventArgs object containing the - data returned from the simulator + + Can assign other members to assigners role - - Thread sync lock object + + Can assign other members to any role - - The event subscribers. null if no subcribers + + Can remove members from roles - - Raises the ParcelAccessListReply event - A ParcelAccessListReplyEventArgs object containing the - data returned from the simulator + + Can assign and remove abilities in roles - - Thread sync lock object + + Can change group Charter, Insignia, 'Publish on the web' and which + members are publicly visible in group member listings - - The event subscribers. null if no subcribers + + Can buy land or deed land to group - - Raises the ParcelObjectOwnersReply event - A ParcelObjectOwnersReplyEventArgs object containing the - data returned from the simulator + + Can abandon group owned land to Governor Linden on mainland, or Estate owner for + private estates - - Thread sync lock object + + Can set land for-sale information on group owned parcels - - The event subscribers. null if no subcribers + + Can subdivide and join parcels - - Raises the SimParcelsDownloaded event - A SimParcelsDownloadedEventArgs object containing the - data returned from the simulator + + Can join group chat sessions - - Thread sync lock object + + Can use voice chat in Group Chat sessions - - The event subscribers. null if no subcribers + + Can moderate group chat sessions - - Raises the ForceSelectObjectsReply event - A ForceSelectObjectsReplyEventArgs object containing the - data returned from the simulator + + Can toggle "Show in Find Places" and set search category - - Thread sync lock object + + Can change parcel name, description, and 'Publish on web' settings - - The event subscribers. null if no subcribers + + Can set the landing point and teleport routing on group land - - Raises the ParcelMediaUpdateReply event - A ParcelMediaUpdateReplyEventArgs object containing the - data returned from the simulator + + Can change music and media settings - - Thread sync lock object + + Can toggle 'Edit Terrain' option in Land settings - - The event subscribers. null if no subcribers + + Can toggle various About Land > Options settings - - Raises the ParcelMediaCommand event - A ParcelMediaCommandEventArgs object containing the - data returned from the simulator + + Can always terraform land, even if parcel settings have it turned off - - Thread sync lock object + + Can always fly while over group owned land - - - Default constructor - - A reference to the GridClient object + + Can always rez objects on group owned land - - - Request basic information for a single parcel - - Simulator-local ID of the parcel + + Can always create landmarks for group owned parcels - - - Request properties of a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - multiple simultaneous requests + + Can set home location on any group owned parcel - - - Request the access list for a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelAccessList reply, useful for distinguishing between - multiple simultaneous requests - + + Can modify public access settings for group owned parcels - - - Request properties of parcels using a bounding box selection - - Simulator containing the parcel - Northern boundary of the parcel selection - Eastern boundary of the parcel selection - Southern boundary of the parcel selection - Western boundary of the parcel selection - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - different types of parcel property requests - A boolean that is returned with the - ParcelProperties reply, useful for snapping focus to a single - parcel + + Can manager parcel ban lists on group owned land - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) + + Can manage pass list sales information - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - If TRUE, will force a full refresh - Number of milliseconds to pause in between each request + + Can eject and freeze other avatars on group owned land - - - Request the dwell value for a parcel - - Simulator containing the parcel - Simulator-local ID of the parcel + + Can return objects set to group - - - Send a request to Purchase a parcel of land - - The Simulator the parcel is located in - The parcels region specific local ID - true if this parcel is being purchased by a group - The groups - true to remove tier contribution if purchase is successful - The parcels size - The purchase price of the parcel - + + Can return non-group owned/set objects - - - Reclaim a parcel of land - - The simulator the parcel is in - The parcels region specific local ID + + Can return group owned objects - - - Deed a parcel to a group - - The simulator the parcel is in - The parcels region specific local ID - The groups + + Can landscape using Linden plants - - - Request prim owners of a parcel of land. - - Simulator parcel is in - The parcels region specific local ID + + Can deed objects to group - - - Return objects from a parcel - - Simulator parcel is in - The parcels region specific local ID - the type of objects to return, - A list containing object owners s to return + + Can move group owned objects - - - Subdivide (split) a parcel - - - - - - + + Can set group owned objects for-sale - - - Join two parcels of land creating a single parcel - - - - - - + + Pay group liabilities and receive group dividends - - - Get a parcels LocalID - - Simulator parcel is in - Vector3 position in simulator (Z not used) - 0 on failure, or parcel LocalID on success. - A call to Parcels.RequestAllSimParcels is required to populate map and - dictionary. + + Can send group notices - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + + Can receive group notices - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + + Can create group proposals - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() + + Can vote on group proposals - + - Terraform (raise, lower, etc) an area or whole parcel of land + Handles all network traffic related to reading and writing group + information - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - Height at which the terraform operation is acting at - + - Sends a request to the simulator to return a list of objects owned by specific owners + Construct a new instance of the GroupManager class - Simulator local ID of parcel - Owners, Others, Etc - List containing keys of avatars objects to select; - if List is null will return Objects of type selectType - Response data is returned in the event + A reference to the current instance - - - Eject and optionally ban a user from a parcel - - target key of avatar to eject - true to also ban target + + The event subscribers. null if no subcribers - - - Freeze or unfreeze an avatar over your land - - target key to freeze - true to freeze, false to unfreeze + + Thread sync lock object - - - Abandon a parcel of land - - Simulator parcel is in - Simulator local ID of parcel + + The event subscribers. null if no subcribers - - - Requests the UUID of the parcel in a remote region at a specified location - - Location of the parcel in the remote region - Remote region handle - Remote region UUID - If successful UUID of the remote parcel, UUID.Zero otherwise + + Thread sync lock object - - - Retrieves information on resources used by the parcel - - UUID of the parcel - Should per object resource usage be requested - Callback invoked when the request is complete + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Thread sync lock object - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers. null if no subcribers - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event + + Thread sync lock object - - Raised when the simulator responds to a request + + The event subscribers. null if no subcribers - - Raised when the simulator responds to a request + + Thread sync lock object - - Raised when the simulator responds to a request + + The event subscribers. null if no subcribers - - Raised when the simulator responds to a request + + Thread sync lock object - - Raised when the simulator responds to a request + + The event subscribers. null if no subcribers - - Raised when the simulator responds to a request + + Thread sync lock object - - Raised when the simulator responds to a request + + The event subscribers. null if no subcribers - - Raised when the simulator responds to a Parcel Update request + + Thread sync lock object - - Raised when the parcel your agent is located sends a ParcelMediaCommand + + The event subscribers. null if no subcribers - - - Parcel Accesslist - + + Thread sync lock object - - Agents + + The event subscribers. null if no subcribers - - + + Thread sync lock object - - Flags for specific entry in white/black lists + + The event subscribers. null if no subcribers - - - Owners of primitives on parcel - + + Thread sync lock object - - Prim Owners + + The event subscribers. null if no subcribers - - True of owner is group + + Thread sync lock object - - Total count of prims owned by OwnerID + + The event subscribers. null if no subcribers - - true of OwnerID is currently online and is not a group + + Thread sync lock object - - The date of the most recent prim left by OwnerID + + A reference to the current instance - - - Called once parcel resource usage information has been collected - - Indicates if operation was successfull - Parcel resource usage information + + Currently-active group members requests - - Contains a parcels dwell data returned from the simulator in response to an + + Currently-active group roles requests - - - Construct a new instance of the ParcelDwellReplyEventArgs class - - The global ID of the parcel - The simulator specific ID of the parcel - The calculated dwell for the parcel + + Currently-active group role-member requests - - Get the global ID of the parcel + + Dictionary keeping group members while request is in progress - - Get the simulator specific ID of the parcel + + Dictionary keeping mebmer/role mapping while request is in progress - - Get the calculated dwell + + Dictionary keeping GroupRole information while request is in progress - - Contains basic parcel information data returned from the - simulator in response to an request + + Caches group name lookups - - - Construct a new instance of the ParcelInfoReplyEventArgs class - - The object containing basic parcel info + + Raised when the simulator sends us data containing + our current group membership - - Get the object containing basic parcel info + + Raised when the simulator responds to a RequestGroupName + or RequestGroupNames request - - Contains basic parcel information data returned from the simulator in response to an request + + Raised when the simulator responds to a request - - - Construct a new instance of the ParcelPropertiesEventArgs class - - The object containing the details - The object containing the details - The result of the request - The number of primitieves your agent is - currently selecting and or sitting on in this parcel - The user assigned ID used to correlate a request with - these results - TODO: + + Raised when the simulator responds to a request - - Get the simulator the parcel is located in + + Raised when the simulator responds to a request - - Get the object containing the details - If Result is NoData, this object will not contain valid data + + Raised when the simulator responds to a request - - Get the result of the request + + Raised when the simulator responds to a request - - Get the number of primitieves your agent is - currently selecting and or sitting on in this parcel + + Raised when a response to a RequestGroupAccountSummary is returned + by the simulator - - Get the user assigned ID used to correlate a request with - these results + + Raised when a request to create a group is successful - - TODO: + + Raised when a request to join a group either + fails or succeeds - - Contains blacklist and whitelist data returned from the simulator in response to an request + + Raised when a request to leave a group either + fails or succeeds - - - Construct a new instance of the ParcelAccessListReplyEventArgs class - - The simulator the parcel is located in - The user assigned ID used to correlate a request with - these results - The simulator specific ID of the parcel - TODO: - The list containing the white/blacklisted agents for the parcel + + Raised when A group is removed from the group server - - Get the simulator the parcel is located in + + Raised when a request to eject a member from a group either + fails or succeeds - - Get the user assigned ID used to correlate a request with - these results + + Raised when the simulator sends us group notices + - - Get the simulator specific ID of the parcel + + Raised when another agent invites our avatar to join a group - - TODO: + + Raises the CurrentGroups event + A CurrentGroupsEventArgs object containing the + data sent from the simulator - - Get the list containing the white/blacklisted agents for the parcel + + Raises the GroupNamesReply event + A GroupNamesEventArgs object containing the + data response from the simulator - - Contains blacklist and whitelist data returned from the - simulator in response to an request + + Raises the GroupProfile event + An GroupProfileEventArgs object containing the + data returned from the simulator - - - Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - - The simulator the parcel is located in - The list containing prim ownership counts + + Raises the GroupMembers event + A GroupMembersEventArgs object containing the + data returned from the simulator - - Get the simulator the parcel is located in + + Raises the GroupRolesDataReply event + A GroupRolesDataReplyEventArgs object containing the + data returned from the simulator - - Get the list containing prim ownership counts + + Raises the GroupRoleMembersReply event + A GroupRolesRoleMembersReplyEventArgs object containing the + data returned from the simulator - - Contains the data returned when all parcel data has been retrieved from a simulator - - - - Construct a new instance of the SimParcelsDownloadedEventArgs class - - The simulator the parcel data was retrieved from - The dictionary containing the parcel data - The multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + Raises the GroupTitlesReply event + A GroupTitlesReplyEventArgs object containing the + data returned from the simulator - - Get the simulator the parcel data was retrieved from + + Raises the GroupAccountSummary event + A GroupAccountSummaryReplyEventArgs object containing the + data returned from the simulator - - A dictionary containing the parcel data where the key correlates to the ParcelMap entry + + Raises the GroupCreated event + An GroupCreatedEventArgs object containing the + data returned from the simulator - - Get the multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + + Raises the GroupJoined event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - Contains the data returned when a request + + Raises the GroupLeft event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator - - - Construct a new instance of the ForceSelectObjectsReplyEventArgs class - - The simulator the parcel data was retrieved from - The list of primitive IDs - true if the list is clean and contains the information - only for a given request + + Raises the GroupDropped event + An GroupDroppedEventArgs object containing the + the group your agent left - - Get the simulator the parcel data was retrieved from + + Raises the GroupMemberEjected event + An GroupMemberEjectedEventArgs object containing the + data returned from the simulator - - Get the list of primitive IDs + + Raises the GroupNoticesListReply event + An GroupNoticesListReplyEventArgs object containing the + data returned from the simulator - - true if the list is clean and contains the information - only for a given request + + Raises the GroupInvitation event + An GroupInvitationEventArgs object containing the + data returned from the simulator - - Contains data when the media data for a parcel the avatar is on changes + + + Request a current list of groups the avatar is a member of. + + CAPS Event Queue must be running for this to work since the results + come across CAPS. - + - Construct a new instance of the ParcelMediaUpdateReplyEventArgs class + Lookup name of group based on groupID - the simulator the parcel media data was updated in - The updated media information + groupID of group to lookup name for. - - Get the simulator the parcel media data was updated in + + + Request lookup of multiple group names + + List of group IDs to request. - - Get the updated media information + + Lookup group profile data such as name, enrollment, founder, logo, etc + Subscribe to OnGroupProfile event to receive the results. + group ID (UUID) - - Contains the media command for a parcel the agent is currently on + + Request a list of group members. + Subscribe to OnGroupMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - - Construct a new instance of the ParcelMediaCommandEventArgs class - - The simulator the parcel media command was issued in - - - The media command that was sent - + + Request group roles + Subscribe to OnGroupRoles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - Get the simulator the parcel media command was issued in + + Request members (members,role) role mapping for a group. + Subscribe to OnGroupRolesMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - + + Request a groups Titles + Subscribe to OnGroupTitles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache - - + + Begin to get the group account summary + Subscribe to the OnGroupAccountSummary event to receive the results. + group ID (UUID) + How long of an interval + Which interval (0 for current, 1 for last) - - Get the media command that was sent + + Invites a user to a group + The group to invite to + A list of roles to invite a person to + Key of person to invite - - + + Set a group as the current active group + group ID (UUID) - - - - + + Change the role that determines your active title + Group ID to use + Role ID to change to - - - - + + Set this avatar's tier contribution + Group ID to change tier in + amount of tier to donate - + - + Save wheather agent wants to accept group notices and list this group in their profile + Group + Accept notices from this group + List this group in the profile - - - - + + Request to join a group + Subscribe to OnGroupJoined event for confirmation. + group ID (UUID) to join. - + - + Request to create a new group. If the group is successfully + created, L$100 will automatically be deducted - - + Subscribe to OnGroupCreated event to receive confirmation. + Group struct containing the new group info - - - The ObservableDictionary class is used for storing key/value pairs. It has methods for firing - events to subscribers when items are added, removed, or changed. - - Key - Value + + Update a group's profile and other information + Groups ID (UUID) to update. + Group struct to update. - - - A dictionary of callbacks to fire when specified action occurs - + + Eject a user from a group + Group ID to eject the user from + Avatar's key to eject - - - Register a callback to be fired when an action occurs - - The action - The callback to fire + + Update role information + Modified role to be updated - - - Unregister a callback - - The action - The callback to fire + + Create a new group role + Group ID to update + Role to create - - - - - - + + Delete a group role + Group ID to update + Role to delete - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking + + Remove an avatar from a role + Group ID to update + Role ID to be removed from + Avatar's Key to remove - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); - - + + Assign an avatar to a role + Group ID to update + Role ID to assign to + Avatar's ID to assign to role - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); - - + + Request the group notices list + Group ID to fetch notices for - - - Try to get entry from the with specified key - - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - - - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - + + Request a group notice by key + ID of group notice - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - + + Send out a group notice + Group ID to update + + GroupNotice structure containing notice data - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - + + Start a group proposal (vote) + The Group ID to send proposal to + + GroupProposal structure containing the proposal - - Check if Key exists in Dictionary - Key to check for - if found, otherwise + + Request to leave a group + Subscribe to OnGroupLeft event to receive confirmation + The group to leave - - Check if Value exists in Dictionary - Value to check for - if found, otherwise + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Removes the specified key, dictionary locking is not performed - - The key. - if successful, otherwise + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Clear the contents of the dictionary - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Enumerator for iterating dictionary entries - - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Gets the number of Key/Value pairs contained in the - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Indexer for the dictionary - - The key - The value + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Avatar group management - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Key of Group Member + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Total land contribution + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Online status information + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Abilities that the Group Member has + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Current group title + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Is a group owner + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Role manager for a group - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Key of the group + + Contains the current groups your agent is a member of - - Key of Role + + Construct a new instance of the CurrentGroupsEventArgs class + The current groups your agent is a member of - - Name of Role + + Get the current groups your agent is a member of - - Group Title associated with Role + + A Dictionary of group names, where the Key is the groups ID and the value is the groups name - - Description of Role + + Construct a new instance of the GroupNamesEventArgs class + The Group names dictionary - - Abilities Associated with Role + + Get the Group Names dictionary - - Returns the role's title - The role's title + + Represents the members of a group - + - Class to represent Group Title + Construct a new instance of the GroupMembersReplyEventArgs class + The ID of the request + The ID of the group + The membership list of the group - - Key of the group + + Get the ID as returned by the request to correlate + this result set and the request - - ID of the role title belongs to + + Get the ID of the group - - Group Title + + Get the dictionary of members - - Whether title is Active + + Represents the roles associated with a group - - Returns group title + + Construct a new instance of the GroupRolesDataReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The dictionary containing the roles - - - Represents a group on the grid - + + Get the ID as returned by the request to correlate + this result set and the request - - Key of Group + + Get the ID of the group - - Key of Group Insignia + + Get the dictionary containing the roles - - Key of Group Founder + + Represents the Role to Member mappings for a group - - Key of Group Role for Owners + + Construct a new instance of the GroupRolesMembersReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The member to roles map - - Name of Group + + Get the ID as returned by the request to correlate + this result set and the request - - Text of Group Charter + + Get the ID of the group - - Title of "everyone" role - - - Is the group open for enrolement to everyone - - - Will group show up in search + + Get the member to roles map - - + + Represents the titles for a group - - + + Construct a new instance of the GroupTitlesReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The titles - - + + Get the ID as returned by the request to correlate + this result set and the request - - Is the group Mature + + Get the ID of the group - - Cost of group membership + + Get the titles - - + + Represents the summary data for a group - - + + Construct a new instance of the GroupAccountSummaryReplyEventArgs class + The ID of the group + The summary data - - The total number of current members this group has + + Get the ID of the group - - The number of roles this group has configured + + Get the summary data - - Show this group in agent's profile + + A response to a group create request - - Returns the name of the group - A string containing the name of the group + + Construct a new instance of the GroupCreatedReplyEventArgs class + The ID of the group + the success or faulure of the request + A string containing additional information - - - A group Vote - + + Get the ID of the group - - Key of Avatar who created Vote + + true of the group was created successfully - - Text of the Vote proposal + + A string containing the message - - Total number of votes + + Represents a response to a request - - - A group proposal - + + Construct a new instance of the GroupOperationEventArgs class + The ID of the group + true of the request was successful - - The Text of the proposal + + Get the ID of the group - - The minimum number of members that must vote before proposal passes or failes + + true of the request was successful - - The required ration of yes/no votes required for vote to pass - The three options are Simple Majority, 2/3 Majority, and Unanimous - TODO: this should be an enum + + Represents your agent leaving a group - - The duration in days votes are accepted + + Construct a new instance of the GroupDroppedEventArgs class + The ID of the group - - - - + + Get the ID of the group - - + + Represents a list of active group notices - - + + Construct a new instance of the GroupNoticesListReplyEventArgs class + The ID of the group + The list containing active notices - - + + Get the ID of the group - - + + Get the notices list - - + + Represents the profile of a group - - + + Construct a new instance of the GroupProfileEventArgs class + The group profile - - + + Get the group profile - - + + + Provides notification of a group invitation request sent by another Avatar + + The invitation is raised when another avatar makes an offer for our avatar + to join a group. - - + + The ID of the Avatar sending the group invitation - - + + The name of the Avatar sending the group invitation - - + + A message containing the request information which includes + the name of the group, the groups charter and the fee to join details - - + + The Simulator - - + + Set to true to accept invitation, false to decline - - + + + Static helper functions and global variables + - - + + + Passed to Logger.Log() to identify the severity of a log entry + - - + + No logging information will be output - - + + Non-noisy useful information, may be helpful in + debugging a problem - - + + A non-critical error occurred. A warning will not + prevent the rest of the library from operating as usual, + although it may be indicative of an underlying issue - - + + A critical error has occurred. Generally this will + be followed by the network layer shutting down, although the + stability of the library after an error is uncertain - - - Struct representing a group notice + + Used for internal testing, this logging level can + generate very noisy (long and/or repetitive) messages. Don't + pass this to the Log() function, use DebugLog() instead. - - + + This header flag signals that ACKs are appended to the packet - - + + This header flag signals that this packet has been sent before - - + + This header flags signals that an ACK is expected for this packet - - + + This header flag signals that the message is compressed using zerocoding - + - - + + + + - + - Struct representing a group notice list entry + + + + + + - - Notice ID - - - Creation timestamp of notice - - - Agent name who created notice - - - Notice subject - - - Is there an attachment? - - - Attachment Type - - + - Struct representing a member of a group chat session and their settings + + + + - - The of the Avatar - - - True if user has voice chat enabled - - - True of Avatar has moderator abilities - - - True if a moderator has muted this avatars chat - - - True if a moderator has muted this avatars voice + + + + + + + + + - + - Role update flags + Given an X/Y location in absolute (grid-relative) terms, a region + handle is returned along with the local X/Y location in that region + The absolute X location, a number such as + 255360.35 + The absolute Y location, a number such as + 255360.35 + The sim-local X position of the global X + position, a value from 0.0 to 256.0 + The sim-local Y position of the global Y + position, a value from 0.0 to 256.0 + A 64-bit region handle that can be used to teleport to - - + + + Converts a floating point number to a terse string format used for + transmitting numbers in wearable asset files + + Floating point number to convert to a string + A terse string representation of the input number + + + + Convert a variable length field (byte array) to a string, with a + field name prepended to each line of the output + + If the byte array has unprintable characters in it, a + hex dump will be written instead + The StringBuilder object to write to + The byte array to convert to a string + A field name to prepend to each line of output + + + + Decode a zerocoded byte array, used to decompress packets marked + with the zerocoded flag + + Any time a zero is encountered, the next byte is a count + of how many zeroes to expand. One zero is encoded with 0x00 0x01, + two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The + first four bytes are copied directly to the output buffer. + + The byte array to decode + The length of the byte array to decode. This + would be the length of the packet up to (but not including) any + appended ACKs + The output byte array to decode to + The length of the output buffer + + + + Encode a byte array with zerocoding. Used to compress packets marked + with the zerocoded flag. Any zeroes in the array are compressed down + to a single zero byte followed by a count of how many zeroes to expand + out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, + three zeroes becomes 0x00 0x03, etc. The first four bytes are copied + directly to the output buffer. + + The byte array to encode + The length of the byte array to encode + The output byte array to encode to + The length of the output buffer + + + + Calculates the CRC (cyclic redundancy check) needed to upload inventory. + + Creation date + Sale type + Inventory type + Type + Asset ID + Group ID + Sale price + Owner ID + Creator ID + Item ID + Folder ID + Everyone mask (permissions) + Flags + Next owner mask (permissions) + Group mask (permissions) + Owner mask (permissions) + The calculated CRC + + + + Attempts to load a file embedded in the assembly + + The filename of the resource to load + A Stream for the requested file, or null if the resource + was not successfully loaded + + + + Attempts to load a file either embedded in the assembly or found in + a given search path + + The filename of the resource to load + An optional path that will be searched if + the asset is not found embedded in the assembly + A Stream for the requested file, or null if the resource + was not successfully loaded + + + + Converts a list of primitives to an object that can be serialized + with the LLSD system + + Primitives to convert to a serializable object + An object that can be serialized with LLSD + + + + Deserializes OSD in to a list of primitives + + Structure holding the serialized primitive list, + must be of the SDMap type + A list of deserialized primitives + + + + Converts a struct or class object containing fields only into a key value separated string + + The struct object + A string containing the struct fields as the keys, and the field value as the value separated + + + // Add the following code to any struct or class containing only fields to override the ToString() + // method to display the values of the passed object + /// Print the struct data as a string + ///A string containing the field name, and field value + public override string ToString() + { + return Helpers.StructToString(this); + } + + + + + + The InternalDictionary class is used through the library for storing key/value pairs. + It is intended to be a replacement for the generic Dictionary class and should + be used in its place. It contains several methods for allowing access to the data from + outside the library that are read only and thread safe. + + Key + Value + + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); + + + + + + Initializes a new instance of the Class + with the specified key/value, has its initial valies copied from the specified + + + + to copy initial values from + + + // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. + // populates with copied values from example KeyNameCache Dictionary. + // create source dictionary + Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); + KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); + KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); + // Initialize new dictionary. + public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); + + + + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); + + + + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + on this member + + + + Indexer for the dictionary + + The key + The value + + + + Gets the number of Key/Value pairs contained in the + + + + Try to get entry from with specified key + + Key to use for lookup + Value returned + + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + + + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + + + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + + + Perform an on each entry in an + + to perform + + + // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + if (prim.Text != null) + { + Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", + prim.PropertiesFamily.Name, prim.ID, prim.Text); + } + }); + + + + + Perform an on each key of an + + to perform + + + + Perform an on each KeyValuePair of an + + to perform + + + Check if Key exists in Dictionary + Key to check for + + if found, otherwise + + + Check if Value exists in Dictionary + Value to check for + + if found, otherwise + + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + The key + The value + + + + Removes the specified key, dictionary locking is not performed + + The key. + + if successful, otherwise + + + + Exception class to identify inventory exceptions + + + + + Responsible for maintaining inventory structure. Inventory constructs nodes + and manages node children as is necessary to maintain a coherant hirarchy. + Other classes should not manipulate or create InventoryNodes explicitly. When + A node's parent changes (when a folder is moved, for example) simply pass + Inventory the updated InventoryFolder and it will make the appropriate changes + to its internal representation. + + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + + By using the bracket operator on this class, the program can get the + InventoryObject designated by the specified uuid. If the value for the corresponding + UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). + If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), + the uuid parameter is ignored. + + The UUID of the InventoryObject to get or set, ignored if set to non-null value. + The InventoryObject corresponding to uuid. + + + + The root folder of this avatars inventory + + + + + The default shared library folder + + + + + The root node of the avatars inventory + + + + + The root node of the default shared library + + + + Raises the InventoryObjectUpdated Event + A InventoryObjectUpdatedEventArgs object containing + the data sent from the simulator + + + Raises the InventoryObjectRemoved Event + A InventoryObjectRemovedEventArgs object containing + the data sent from the simulator + + + Raises the InventoryObjectAdded Event + A InventoryObjectAddedEventArgs object containing + the data sent from the simulator + + + + Returns the contents of the specified folder + + A folder's UUID + The contents of the folder corresponding to folder + When folder does not exist in the inventory + + + + Updates the state of the InventoryNode and inventory data structure that + is responsible for the InventoryObject. If the item was previously not added to inventory, + it adds the item, and updates structure accordingly. If it was, it updates the + InventoryNode, changing the parent node if item.parentUUID does + not match node.Parent.Data.UUID. + You can not set the inventory root folder using this method + + The InventoryObject to store + + + + Removes the InventoryObject and all related node data from Inventory. + + The InventoryObject to remove. + + + + Used to find out if Inventory contains the InventoryObject + specified by uuid. + + The UUID to check. + true if inventory contains uuid, false otherwise + + + + Saves the current inventory structure to a cache file + + Name of the cache file to save to + + + + Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + + Name of the cache file to load + The number of inventory items sucessfully reconstructed into the inventory node tree + + + Sort by name + + + Sort by date + + + Sort folders by name, regardless of whether items are + sorted by name or date + + + Place system folders at the top + + + + Possible destinations for DeRezObject request + + + + + + + + Copy from in-world to agent inventory + + + Derez to TaskInventory + + + + + + + Take Object + + + + + + + Delete Object + + + Put an avatar attachment into agent inventory + + + + + + + Return an object back to the owner's inventory + + + Return a deeded object back to the last owner's inventory + + + + Upper half of the Flags field for inventory items + + + + Indicates that the NextOwner permission will be set to the + most restrictive set of permissions found in the object set + (including linkset items and object inventory items) on next rez + + + Indicates that the object sale information has been + changed + + + If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez + + + Indicates whether this object is composed of multiple + items or not + + + Indicates that the asset is only referenced by this + inventory item. If this item is deleted or updated to reference a + new assetID, the asset can be deleted + + + + Base Class for Inventory Items + + + + + Constructor, takes an itemID as a parameter + + The of the item + + + + + + + + + + of item/folder + + + + of parent folder + + + Name of item/folder + + + Item/Folder Owners + + + + + + + + + + Generates a number corresponding to the value of the object to support the use of a hash table, + suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryBase fields + + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same + + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same + + + + An Item in Inventory + + + + + Construct a new InventoryItem object + + The of the item + + + + Construct a new InventoryItem object of a specific Type + + The type of item from + + of the item + + + + + + + + + The of this item + + + The combined of this item + + + The type of item from + + + The type of item from the enum + + + The of the creator of this item + + + A Description of this item + + + The s this item is set to or owned by + + + If true, item is owned by a group + + + The price this item can be purchased for + + + The type of sale from the enum + + + Combined flags from + + + Time and date this inventory item was created, stored as + UTC (Coordinated Universal Time) + + + Used to update the AssetID in requests sent to the server + + + The of the previous owner of the item + + + + Indicates inventory item is a link + + True if inventory item is a link to another inventory item + + + + + + + + + + Generates a number corresponding to the value of the object to support the use of a hash table. + Suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryItem fields + + + + Compares an object + + The object to compare + true if comparison object matches + + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same + + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same + + + + InventoryTexture Class representing a graphical image + + + + + + Construct an InventoryTexture object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryTexture object from a serialization stream + + + + + InventorySound Class representing a playable sound + - - + + + Construct an InventorySound object + + A which becomes the + objects AssetUUID - - + + + Construct an InventorySound object from a serialization stream + - - + + + InventoryCallingCard Class, contains information on another avatar + - - + + + Construct an InventoryCallingCard object + + A which becomes the + objects AssetUUID - - + + + Construct an InventoryCallingCard object from a serialization stream + - - + + + InventoryLandmark Class, contains details on a specific location + - - Can send invitations to groups default role + + + Construct an InventoryLandmark object + + A which becomes the + objects AssetUUID - - Can eject members from group + + + Construct an InventoryLandmark object from a serialization stream + - - Can toggle 'Open Enrollment' and change 'Signup fee' + + + Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + - - Member is visible in the public member list + + + InventoryObject Class contains details on a primitive or coalesced set of primitives + - - Can create new roles + + + Construct an InventoryObject object + + A which becomes the + objects AssetUUID - - Can delete existing roles + + + Construct an InventoryObject object from a serialization stream + - - Can change Role names, titles and descriptions + + + Gets or sets the upper byte of the Flags value + - - Can assign other members to assigners role + + + Gets or sets the object attachment point, the lower byte of the Flags value + - - Can assign other members to any role + + + InventoryNotecard Class, contains details on an encoded text document + - - Can remove members from roles + + + Construct an InventoryNotecard object + + A which becomes the + objects AssetUUID - - Can assign and remove abilities in roles + + + Construct an InventoryNotecard object from a serialization stream + - - Can change group Charter, Insignia, 'Publish on the web' and which - members are publicly visible in group member listings + + + InventoryCategory Class + + TODO: Is this even used for anything? - - Can buy land or deed land to group + + + Construct an InventoryCategory object + + A which becomes the + objects AssetUUID - - Can abandon group owned land to Governor Linden on mainland, or Estate owner for - private estates + + + Construct an InventoryCategory object from a serialization stream + - - Can set land for-sale information on group owned parcels + + + InventoryLSL Class, represents a Linden Scripting Language object + - - Can subdivide and join parcels + + + Construct an InventoryLSL object + + A which becomes the + objects AssetUUID - - Can join group chat sessions + + + Construct an InventoryLSL object from a serialization stream + - - Can use voice chat in Group Chat sessions + + + InventorySnapshot Class, an image taken with the viewer + - - Can moderate group chat sessions + + + Construct an InventorySnapshot object + + A which becomes the + objects AssetUUID - - Can toggle "Show in Find Places" and set search category + + + Construct an InventorySnapshot object from a serialization stream + - - Can change parcel name, description, and 'Publish on web' settings + + + InventoryAttachment Class, contains details on an attachable object + - - Can set the landing point and teleport routing on group land + + + Construct an InventoryAttachment object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryAttachment object from a serialization stream + + + + + Get the last AttachmentPoint this object was attached to + + + + + InventoryWearable Class, details on a clothing item or body part + + + + + Construct an InventoryWearable object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryWearable object from a serialization stream + + + + + The , Skin, Shape, Skirt, Etc + + + + + InventoryAnimation Class, A bvh encoded object which animates an avatar + + + + + Construct an InventoryAnimation object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryAnimation object from a serialization stream + + + + + InventoryGesture Class, details on a series of animations, sounds, and actions + + + + + Construct an InventoryGesture object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryGesture object from a serialization stream + + + + + A folder contains s and has certain attributes specific + to itself + + + + + Constructor + + UUID of the folder + + + + Construct an InventoryFolder object from a serialization stream + + + + The Preferred for a folder. + + + The Version of this folder + + + Number of child items this folder contains. + + + + + + + + + + Get Serilization data for this InventoryFolder object + - - Can change music and media settings + + + + + - - Can toggle 'Edit Terrain' option in Land settings + + + + + + + - - Can toggle various About Land > Options settings + + + + + + + - - Can always terraform land, even if parcel settings have it turned off + + + + + + + - - Can always fly while over group owned land + + + Tools for dealing with agents inventory + - - Can always rez objects on group owned land + + + Default constructor + + Reference to the GridClient object - - Can always create landmarks for group owned parcels + + + Callback for inventory item creation finishing + + Whether the request to create an inventory + item succeeded or not + Inventory item being created. If success is + false this will be null - - Can set home location on any group owned parcel + + + Callback for an inventory item being create from an uploaded asset + + true if inventory item creation was successful + + + + + + - - Can modify public access settings for group owned parcels + + + + + - - Can manager parcel ban lists on group owned land + + + Reply received when uploading an inventory asset + + Has upload been successful + Error message if upload failed + Inventory asset UUID + New asset UUID - - Can manage pass list sales information + + + Delegate that is invoked when script upload is completed + + Has upload succeded (note, there still might be compile errors) + Upload status message + Is compilation successful + If compilation failed, list of error messages, null on compilation success + Script inventory UUID + Script's new asset UUID - - Can eject and freeze other avatars on group owned land + + Used for converting shadow_id to asset_id - - Can return objects set to group + + The event subscribers, null of no subscribers - - Can return non-group owned/set objects + + Thread sync lock object - - Can return group owned objects + + The event subscribers, null of no subscribers - - Can landscape using Linden plants + + Thread sync lock object - - Can deed objects to group + + The event subscribers, null of no subscribers - - Can move group owned objects + + Thread sync lock object - - Can set group owned objects for-sale + + The event subscribers, null of no subscribers - - Pay group liabilities and receive group dividends + + Thread sync lock object - - Can send group notices + + The event subscribers, null of no subscribers - - Can receive group notices + + Thread sync lock object - - Can create group proposals + + The event subscribers, null of no subscribers - - Can vote on group proposals + + Thread sync lock object - - - Handles all network traffic related to reading and writing group - information - + + The event subscribers, null of no subscribers - - The event subscribers. null if no subcribers + + Thread sync lock object - - Raises the CurrentGroups event - A CurrentGroupsEventArgs object containing the - data sent from the simulator + + The event subscribers, null of no subscribers - + Thread sync lock object - - The event subscribers. null if no subcribers + + Partial mapping of AssetTypes to folder names - - Raises the GroupNamesReply event - A GroupNamesEventArgs object containing the - data response from the simulator + + Raised when the simulator sends us data containing + ... - - Thread sync lock object + + Raised when the simulator sends us data containing + ... - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + an inventory object sent by another avatar or primitive - - Raises the GroupProfile event - An GroupProfileEventArgs object containing the - data returned from the simulator + + Raised when the simulator sends us data containing + ... - - Thread sync lock object + + Raised when the simulator sends us data containing + ... - - The event subscribers. null if no subcribers + + Raised when the simulator sends us data containing + ... - - Raises the GroupMembers event - A GroupMembersEventArgs object containing the - data returned from the simulator + + Raised when the simulator sends us data containing + ... - - Thread sync lock object + + Raised when the simulator sends us data containing + ... - - The event subscribers. null if no subcribers + + + Get this agents Inventory data + - - Raises the GroupRolesDataReply event - A GroupRolesDataReplyEventArgs object containing the - data returned from the simulator + + Raises the ItemReceived Event + A ItemReceivedEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the FolderUpdated Event + A FolderUpdatedEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the InventoryObjectOffered Event + A InventoryObjectOfferedEventArgs object containing + the data sent from the simulator - - Raises the GroupRoleMembersReply event - A GroupRolesRoleMembersReplyEventArgs object containing the - data returned from the simulator + + Raises the TaskItemReceived Event + A TaskItemReceivedEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the FindObjectByPath Event + A FindObjectByPathEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + Raises the TaskInventoryReply Event + A TaskInventoryReplyEventArgs object containing + the data sent from the simulator - - Raises the GroupTitlesReply event - A GroupTitlesReplyEventArgs object containing the - data returned from the simulator + + Raises the SaveAssetToInventory Event + A SaveAssetToInventoryEventArgs object containing + the data sent from the simulator - - Thread sync lock object + + Raises the ScriptRunningReply Event + A ScriptRunningReplyEventArgs object containing + the data sent from the simulator - - The event subscribers. null if no subcribers + + + Fetch an inventory item from the dataserver + + The items + The item Owners + a integer representing the number of milliseconds to wait for results + An object on success, or null if no item was found + Items will also be sent to the event - - Raises the GroupAccountSummary event - A GroupAccountSummaryReplyEventArgs object containing the - data returned from the simulator + + + Request A single inventory item + + The items + The item Owners + - - Thread sync lock object + + + Request inventory items + + Inventory items to request + Owners of the inventory items + - - The event subscribers. null if no subcribers + + + Get contents of a folder + + The of the folder to search + The of the folders owner + true to retrieve folders + true to retrieve items + sort order to return results in + a integer representing the number of milliseconds to wait for results + A list of inventory items matching search criteria within folder + + InventoryFolder.DescendentCount will only be accurate if both folders and items are + requested - - Raises the GroupCreated event - An GroupCreatedEventArgs object containing the - data returned from the simulator + + + Request the contents of an inventory folder + + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - - Thread sync lock object + + + Request the contents of an inventory folder using HTTP capabilities + + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + - - The event subscribers. null if no subcribers + + + Returns the UUID of the folder (category) that defaults to + containing 'type'. The folder is not necessarily only for that + type + + This will return the root folder if one does not exist + + + The UUID of the desired folder if found, the UUID of the RootFolder + if not found, or UUID.Zero on failure - - Raises the GroupJoined event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + + Find an object in inventory using a specific path to search + + The folder to begin the search in + The object owners + A string path to search + milliseconds to wait for a reply + Found items or if + timeout occurs or item is not found - - Thread sync lock object + + + Find inventory items by path + + The folder to begin the search in + The object owners + A string path to search, folders/objects separated by a '/' + Results are sent to the event - - The event subscribers. null if no subcribers + + + Search inventory Store object for an item or folder + + The folder to begin the search in + An array which creates a path to search + Number of levels below baseFolder to conduct searches + if True, will stop searching after first match is found + A list of inventory items found - - Raises the GroupLeft event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator + + + Move an inventory item or folder to a new location + + The item or folder to move + The to move item or folder to - - Thread sync lock object + + + Move an inventory item or folder to a new location and change its name + + The item or folder to move + The to move item or folder to + The name to change the item or folder to - - The event subscribers. null if no subcribers + + + Move and rename a folder + + The source folders + The destination folders + The name to change the folder to - - Raises the GroupDropped event - An GroupDroppedEventArgs object containing the - the group your agent left + + + Update folder properties + + + of the folder to update + Sets folder's parent to + Folder name + Folder type - - Thread sync lock object + + + Move a folder + + The source folders + The destination folders - - The event subscribers. null if no subcribers + + + Move multiple folders, the keys in the Dictionary parameter, + to a new parents, the value of that folder's key. + + A Dictionary containing the + of the source as the key, and the + of the destination as the value - - Raises the GroupMemberEjected event - An GroupMemberEjectedEventArgs object containing the - data returned from the simulator + + + Move an inventory item to a new folder + + The of the source item to move + The of the destination folder - - Thread sync lock object + + + Move and rename an inventory item + + The of the source item to move + The of the destination folder + The name to change the folder to - - The event subscribers. null if no subcribers + + + Move multiple inventory items to new locations + + A Dictionary containing the + of the source item as the key, and the + of the destination folder as the value - - Raises the GroupNoticesListReply event - An GroupNoticesListReplyEventArgs object containing the - data returned from the simulator + + + Remove descendants of a folder + + The of the folder - - Thread sync lock object + + + Remove a single item from inventory + + The of the inventory item to remove - - The event subscribers. null if no subcribers + + + Remove a folder from inventory + + The of the folder to remove - - Raises the GroupInvitation event - An GroupInvitationEventArgs object containing the - data returned from the simulator + + + Remove multiple items or folders from inventory + + A List containing the s of items to remove + A List containing the s of the folders to remove - - Thread sync lock object + + + Empty the Lost and Found folder + - - A reference to the current instance + + + Empty the Trash folder + - - Currently-active group members requests + + + + + + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + + + - - Currently-active group roles requests + + + + + + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + + + + + - - Currently-active group role-member requests + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + The UUID of the newly created folder - - Dictionary keeping group members while request is in progress + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + Sets this folder as the default folder + for new assets of the specified type. Use AssetType.Unknown + to create a normal folder, otherwise it will likely create a + duplicate of an existing folder type + The UUID of the newly created folder + If you specify a preferred type of AsseType.Folder + it will create a new root folder which may likely cause all sorts + of strange problems - - Dictionary keeping mebmer/role mapping while request is in progress + + + Create an inventory item and upload asset data + + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Delegate that will receive feedback on success or failure - - Dictionary keeping GroupRole information while request is in progress + + + Create an inventory item and upload asset data + + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Permission of the newly created item + (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) + Delegate that will receive feedback on success or failure - - Caches group name lookups + + + Creates inventory link to another inventory item or folder + + Put newly created link in folder with this UUID + Inventory item or folder + Method to call upon creation of the link - + - Construct a new instance of the GroupManager class + Creates inventory link to another inventory item - A reference to the current instance + Put newly created link in folder with this UUID + Original inventory item + Method to call upon creation of the link - + - Request a current list of groups the avatar is a member of. + Creates inventory link to another inventory folder - CAPS Event Queue must be running for this to work since the results - come across CAPS. + Put newly created link in folder with this UUID + Original inventory folder + Method to call upon creation of the link - + - Lookup name of group based on groupID + Creates inventory link to another inventory item or folder - groupID of group to lookup name for. + Put newly created link in folder with this UUID + Original item's UUID + Name + Description + Asset Type + Inventory Type + Transaction UUID + Method to call upon creation of the link - + - Request lookup of multiple group names - List of group IDs to request. + + + + + + + + - - Lookup group profile data such as name, enrollment, founder, logo, etc - Subscribe to OnGroupProfile event to receive the results. - group ID (UUID) + + + + + + + + + + + + + - - Request a list of group members. - Subscribe to OnGroupMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + + + + + + + + + + + + - - Request group roles - Subscribe to OnGroupRoles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + + Request a copy of an asset embedded within a notecard + + Usually UUID.Zero for copying an asset from a notecard + UUID of the notecard to request an asset from + Target folder for asset to go to in your inventory + UUID of the embedded asset + callback to run when item is copied to inventory - - Request members (members,role) role mapping for a group. - Subscribe to OnGroupRolesMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + + + + - - Request a groups Titles - Subscribe to OnGroupTitles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache + + + + + - - Begin to get the group account summary - Subscribe to the OnGroupAccountSummary event to receive the results. - group ID (UUID) - How long of an interval - Which interval (0 for current, 1 for last) + + + + + + + - - Invites a user to a group - The group to invite to - A list of roles to invite a person to - Key of person to invite + + + + + + + + + - - Set a group as the current active group - group ID (UUID) + + + Save changes to notecard embedded in object contents + + Encoded notecard asset data + Notecard UUID + Object's UUID + Called upon finish of the upload with status information - - Change the role that determines your active title - Group ID to use - Role ID to change to + + + Upload new gesture asset for an inventory gesture item + + Encoded gesture asset + Gesture inventory UUID + Callback whick will be called when upload is complete - - Set this avatar's tier contribution - Group ID to change tier in - amount of tier to donate + + + Update an existing script in an agents Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + if true, sets the script content to run on the mono interpreter + + - + - Save wheather agent wants to accept group notices and list this group in their profile + Update an existing script in an task Inventory - Group - Accept notices from this group - List this group in the profile + A byte[] array containing the encoded scripts contents + the itemID of the script + UUID of the prim containting the script + if true, sets the script content to run on the mono interpreter + if true, sets the script to running + + - - Request to join a group - Subscribe to OnGroupJoined event for confirmation. - group ID (UUID) to join. + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details - + - Request to create a new group. If the group is successfully - created, L$100 will automatically be deducted + Rez an object from inventory - Subscribe to OnGroupCreated event to receive confirmation. - Group struct containing the new group info + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object - - Update a group's profile and other information - Groups ID (UUID) to update. - Group struct to update. + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object - - Eject a user from a group - Group ID to eject the user from - Avatar's key to eject + + + DeRez an object from the simulator to the agents Objects folder in the agents Inventory + + The simulator Local ID of the object + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - Update role information - Modified role to be updated + + + DeRez an object from the simulator and return to inventory + + The simulator Local ID of the object + The type of destination from the enum + The destination inventory folders -or- + if DeRezzing object to a tasks Inventory, the Tasks + The transaction ID for this request which + can be used to correlate this request with other packets + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - Create a new group role - Group ID to update - Role to create + + + Rez an item from inventory to its previous simulator location + + + + + + + + + - - Delete a group role - Group ID to update - Role to delete + + + Give an inventory item to another avatar + + The of the item to give + The name of the item + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - - Remove an avatar from a role - Group ID to update - Role ID to be removed from - Avatar's Key to remove + + + Give an inventory Folder with contents to another avatar + + The of the Folder to give + The name of the folder + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer - - Assign an avatar to a role - Group ID to update - Role ID to assign to - Avatar's ID to assign to role + + + Copy or move an from agent inventory to a task (primitive) inventory + + The target object + The item to copy or move from inventory + + + For items with copy permissions a copy of the item is placed in the tasks inventory, + for no-copy items the object is moved to the tasks inventory - - Request the group notices list - Group ID to fetch notices for + + + Retrieve a listing of the items contained in a task (Primitive) + + The tasks + The tasks simulator local ID + milliseconds to wait for reply from simulator + A list containing the inventory items inside the task or null + if a timeout occurs + This request blocks until the response from the simulator arrives + or timeoutMS is exceeded - - Request a group notice by key - ID of group notice + + + Request the contents of a tasks (primitives) inventory from the + current simulator + + The LocalID of the object + - - Send out a group notice - Group ID to update - GroupNotice structure containing notice data + + + Request the contents of a tasks (primitives) inventory + + The simulator Local ID of the object + A reference to the simulator object that contains the object + - - Start a group proposal (vote) - The Group ID to send proposal to - GroupProposal structure containing the proposal + + + Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + + LocalID of the object in the simulator + UUID of the task item to move + The ID of the destination folder in this agents inventory + Simulator Object + Raises the event - - Request to leave a group - Subscribe to OnGroupLeft event to receive confirmation - The group to leave + + + Remove an item from an objects (Prim) Inventory + + LocalID of the object in the simulator + UUID of the task item to remove + Simulator Object + You can confirm the removal by comparing the tasks inventory serial before and after the + request with the request combined with + the event - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Copy an InventoryScript item from the Agents Inventory into a primitives task inventory + + An unsigned integer representing a primitive being simulated + An which represents a script object from the agents inventory + true to set the scripts running state to enabled + A Unique Transaction ID + + The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory + and assumes the script exists in the agents inventory. + + uint primID = 95899503; // Fake prim ID + UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory + Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, + false, true, InventorySortOrder.ByName, 10000); + Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Request the running status of a script contained in a task (primitive) inventory + + The ID of the primitive containing the script + The ID of the script + The event can be used to obtain the results of the + request + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Send a request to set the running state of a script contained in a task (primitive) inventory + + The ID of the primitive containing the script + The ID of the script + true to set the script running, false to stop a running script + To verify the change you can use the method combined + with the event - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Create a CRC from an InventoryItem + + The source InventoryItem + A uint representing the source InventoryItem as a CRC - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + + Obfuscated shadow_id value + Deobfuscated asset_id value - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id + + asset_id value to obfuscate + Obfuscated shadow_id value - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Wrapper for creating a new object + + The type of item from the enum + The of the newly created object + An object with the type and id passed - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Parse the results of a RequestTaskInventory() response + + A string which contains the data from the task reply + A List containing the items contained within the tasks inventory - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events + + + UpdateCreateInventoryItem packets are received when a new inventory item + is created. This may occur when an object that's rezzed in world is + taken into inventory, when an item is created using the CreateInventoryItem + packet, or when an object is purchased + The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - Raised when the simulator sends us data containing - our current group membership - - - Raised when the simulator responds to a RequestGroupName - or RequestGroupNames request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when a response to a RequestGroupAccountSummary is returned - by the simulator - - - Raised when a request to create a group is successful + + Set to true to accept offer, false to decline it - - Raised when a request to join a group either - fails or succeeds + + The folder to accept the inventory into, if null default folder for will be used - - Raised when a request to leave a group either - fails or succeeds + + + Callback when an inventory object is accepted and received from a + task inventory. This is the callback in which you actually get + the ItemID, as in ObjectOfferedCallback it is null when received + from a task. + - - Raised when A group is removed from the group server + + + - - Raised when a request to eject a member from a group either - fails or succeeds + + + + + - - Raised when the simulator sends us group notices - + + + De-serialization constructor for the InventoryNode Class + - - Raised when another agent invites our avatar to join a group + + + De-serialization handler for the InventoryNode Class + - - Contains the current groups your agent is a member of + + + - - Construct a new instance of the CurrentGroupsEventArgs class - The current groups your agent is a member of + + + - - Get the current groups your agent is a member of + + + - - A Dictionary of group names, where the Key is the groups ID and the value is the groups name + + + - - Construct a new instance of the GroupNamesEventArgs class - The Group names dictionary + + + For inventory folder nodes specifies weather the folder needs to be + refreshed from the server + - - Get the Group Names dictionary + + + Serialization handler for the InventoryNode Class + - - Represents the members of a group + + + + + - + - Construct a new instance of the GroupMembersReplyEventArgs class + Singleton logging class for the entire library - The ID of the request - The ID of the group - The membership list of the group - - Get the ID as returned by the request to correlate - this result set and the request + + + Default constructor + - - Get the ID of the group + + + Callback used for client apps to receive log messages from + the library + + Data being logged + The severity of the log entry from - - Get the dictionary of members + + log4net logging engine - - Represents the roles associated with a group + + Triggered whenever a message is logged. If this is left + null, log messages will go to the console - - Construct a new instance of the GroupRolesDataReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The dictionary containing the roles + + + Send a log message to the logging engine + + The log message + The severity of the log entry - - Get the ID as returned by the request to correlate - this result set and the request + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client - - Get the ID of the group + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Exception that was raised - - Get the dictionary containing the roles + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client + Exception that was raised - - Represents the Role to Member mappings for a group + + + If the library is compiled with DEBUG defined, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine - - Construct a new instance of the GroupRolesMembersReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The member to roles map + + + If the library is compiled with DEBUG defined and + GridClient.Settings.DEBUG is true, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine + Instance of the client - - Get the ID as returned by the request to correlate - this result set and the request + + + - - Get the ID of the group + + + - - Get the member to roles map + + + - - Represents the titles for a group + + + - - Construct a new instance of the GroupTitlesReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The titles + + + - - Get the ID as returned by the request to correlate - this result set and the request + + + - - Get the ID of the group + + + - - Get the titles + + + - - Represents the summary data for a group + + + Login Request Parameters + - - Construct a new instance of the GroupAccountSummaryReplyEventArgs class - The ID of the group - The summary data + + + Default constuctor, initializes sane default values + - - Get the ID of the group + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number - - Get the summary data + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number + URI of the login server - - A response to a group create request + + The URL of the Login Server - - Construct a new instance of the GroupCreatedReplyEventArgs class - The ID of the group - the success or faulure of the request - A string containing additional information + + The number of milliseconds to wait before a login is considered + failed due to timeout - - Get the ID of the group + + The request method + login_to_simulator is currently the only supported method - - true of the group was created successfully + + The Agents First name - - A string containing the message + + The Agents Last name - - Represents a response to a request + + A md5 hashed password + plaintext password will be automatically hashed - - Construct a new instance of the GroupOperationEventArgs class - The ID of the group - true of the request was successful + + The agents starting location once logged in + Either "last", "home", or a string encoded URI + containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 - - Get the ID of the group + + A string containing the client software channel information + Second Life Release - - true of the request was successful + + The client software version information + The official viewer uses: Second Life Release n.n.n.n + where n is replaced with the current version of the viewer - - Represents your agent leaving a group + + A string containing the platform information the agent is running on - - Construct a new instance of the GroupDroppedEventArgs class - The ID of the group + + A string hash of the network cards Mac Address - - Get the ID of the group + + Unknown or deprecated - - Represents a list of active group notices + + A string hash of the first disk drives ID used to identify this clients uniqueness - - Construct a new instance of the GroupNoticesListReplyEventArgs class - The ID of the group - The list containing active notices + + A string containing the viewers Software, this is not directly sent to the login server but + instead is used to generate the Version string - - Get the ID of the group + + A string representing the software creator. This is not directly sent to the login server but + is used by the library to generate the Version information - - Get the notices list + + If true, this agent agrees to the Terms of Service of the grid its connecting to - - Represents the profile of a group + + Unknown - - Construct a new instance of the GroupProfileEventArgs class - The group profile + + An array of string sent to the login server to enable various options - - Get the group profile + + A randomly generated ID to distinguish between login attempts. This value is only used + internally in the library and is never sent over the wire - + - Provides notification of a group invitation request sent by another Avatar + The decoded data returned from the login server after a successful login - The invitation is raised when another avatar makes an offer for our avatar - to join a group. - - The ID of the Avatar sending the group invitation - - - The name of the Avatar sending the group invitation - - - A message containing the request information which includes - the name of the group, the groups charter and the fee to join details + + true, false, indeterminate - - The Simulator + + Login message of the day - - Set to true to accept invitation, false to decline + + M or PG, also agent_region_access and agent_access_max - + - + Parse LLSD Login Reply Data - Looking direction, must be a normalized vector - Up direction, must be a normalized vector + An + contaning the login response data + XML-RPC logins do not require this as XML-RPC.NET + automatically populates the struct properly using attributes - + - Align the coordinate frame X and Y axis with a given rotation - around the Z axis in radians + Login Routines - Absolute rotation around the Z axis in - radians - - - Origin position of this coordinate frame - - - X axis of this coordinate frame, or Forward/At in grid terms - - - Y axis of this coordinate frame, or Left in grid terms - - - Z axis of this coordinate frame, or Up in grid terms - - - Avatar profile flags + NetworkManager is responsible for managing the network layer of + OpenMetaverse. It tracks all the server connections, serializes + outgoing traffic and deserializes incoming traffic, and provides + instances of delegates for network-related events. - + - Represents an avatar (other than your own) + Default constructor + Reference to the GridClient object - - Groups that this avatar is a member of + + + Explains why a simulator or the grid disconnected from us + - - Positive and negative ratings + + The client requested the logout or simulator disconnect - - Avatar properties including about text, profile URL, image IDs and - publishing settings + + The server notified us that it is disconnecting - - Avatar interests including spoken languages, skills, and "want to" - choices + + Either a socket was closed or network traffic timed out - - Movement control flags for avatars. Typically not set or used by - clients. To move your avatar, use Client.Self.Movement instead + + The last active simulator shut down - + - Contains the visual parameters describing the deformation of the avatar + Holds a simulator reference and a decoded packet, these structs are put in + the packet inbox for event handling - + + Reference to the simulator that this packet came from + + + Packet that needs to be processed + + - Default constructor + Holds a simulator reference and a serialized packet, these structs are put in + the packet outbox for sending - - First name + + Reference to the simulator this packet is destined for - - Last name + + Packet that needs to be sent - - Full name + + Sequence number of the wrapped packet - - Active group + + Number of times this packet has been resent - + + Environment.TickCount when this packet was last sent over the wire + + + Type of the packet + + - Positive and negative ratings + + + + + + + + + + - - Positive ratings for Behavior - - - Negative ratings for Behavior + + The event subscribers, null of no subscribers - - Positive ratings for Appearance + + Thread sync lock object - - Negative ratings for Appearance + + Seed CAPS URL returned from the login server - - Positive ratings for Building + + Maximum number of groups an agent can belong to, -1 for unlimited - - Negative ratings for Building + + XMPP server to connect to for Group chat and IM services - - Positive ratings given by this avatar + + A list of packets obtained during the login process which + networkmanager will log but not process - - Negative ratings given by this avatar + + The event subscribers, null of no subscribers - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - + + Thread sync lock object - - First Life about text + + The event subscribers, null of no subscribers - - First Life image ID + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - Profile image ID + + The event subscribers, null of no subscribers - - Flags of the profile + + Thread sync lock object - - Web URL for this profile + + The event subscribers, null of no subscribers - - Should this profile be published on the web + + Thread sync lock object - - Avatar Online Status + + The event subscribers, null of no subscribers - - Is this a mature profile + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - - Avatar interests including spoken languages, skills, and "want to" - choices - + + All of the simulators we are currently connected to - - Languages profile field + + Handlers for incoming capability events - - + + Handlers for incoming packets - - + + Incoming packets that are awaiting handling - - + + Outgoing packets that are awaiting handling - - + + Raised when the simulator sends us data containing + ... - - - Extract the avatar UUID encoded in a SIP URI - - - + + Called when a reply is received from the login server, the + login sequence will block until this event returns - - - Permissions for control of object media - + + Raised when the simulator sends us data containing + ... - - - Style of cotrols that shold be displayed to the user - + + Raised when the simulator sends us data containing + ... - - - Class representing media data for a single face - + + Raised when the simulator sends us data containing + ... - - Is display of the alternative image enabled + + Raised when the simulator sends us data containing + ... - - Should media auto loop + + Raised when the simulator sends us data containing + ... - - Shoule media be auto played + + Raised when the simulator sends us data containing + ... - - Auto scale media to prim face + + Raised when the simulator sends us data containing + ... - - Should viewer automatically zoom in on the face when clicked + + Raised when the simulator sends us data containing + ... - - Should viewer interpret first click as interaction with the media - or when false should the first click be treated as zoom in commadn + + Current state of logging in - - Style of controls viewer should display when - viewer media on this face + + Upon login failure, contains a short string key for the + type of login error that occurred - - Starting URL for the media + + The raw XML-RPC reply from the login server, exactly as it + was received (minus the HTTP header) - - Currently navigated URL + + During login this contains a descriptive version of + LoginStatusCode. After a successful login this will contain the + message of the day, and after a failed login a descriptive error + message will be returned - - Media height in pixes + + Unique identifier associated with our connections to + simulators - - Media width in pixels + + The simulator that the logged in avatar is currently + occupying - - Who can controls the media + + Shows whether the network layer is logged in to the + grid or not - - Who can interact with the media + + Number of packets in the incoming queue - - Is URL whitelist enabled + + Number of packets in the outgoing queue - - Array of URLs that are whitelisted + + Raises the LoginProgress Event + A LoginProgressEventArgs object containing + the data sent from the simulator - + - Serialize to OSD + Generate sane default values for a login request - OSDMap with the serialized data + Account first name + Account last name + Account password + Client application name + Client application version + A populated struct containing + sane defaults - + - Deserialize from OSD data + Simplified login that takes the most common and required fields - Serialized OSD data - Deserialized object + Account first name + Account last name + Account password + Client application name + Client application version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - Operation to apply when applying color to texture + Simplified login that takes the most common fields along with a + starting location URI, and can accept an MD5 string instead of a + plaintext password + Account first name + Account last name + Account password or MD5 hash of the password + such as $1$1682a1e45e9f957dcdf0bb56eb43319c + Client application name + Starting location URI that can be built with + StartLocation() + Client application version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - Information needed to translate visual param value to RGBA color + Login that takes a struct of all the values that will be passed to + the login server + The values that will be passed to the login + server, all fields must be set even if they are String.Empty + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error - + - Construct VisualColorParam + Build a start location URI for passing to the Login function - Operation to apply when applying color to texture - Colors + Name of the simulator to start in + X coordinate to start at + Y coordinate to start at + Z coordinate to start at + String with a URI that can be used to login to a specified + location - + - Represents alpha blending and bump infor for a visual parameter - such as sleive length + LoginParams and the initial login XmlRpcRequest were made on a remote machine. + This method now initializes libomv with the results. - - Stregth of the alpha to apply - - - File containing the alpha channel - - - Skip blending if parameter value is 0 - - - Use miltiply insted of alpha blending - - + - Create new alhpa information for a visual param + Handles response from XML-RPC login replies - Stregth of the alpha to apply - File containing the alpha channel - Skip blending if parameter value is 0 - Use miltiply insted of alpha blending - + - A single visual characteristic of an avatar mesh, such as eyebrow height + Handles response from XML-RPC login replies with already parsed LoginResponseData - - Index of this visual param - - - Internal name + + + Handle response from LLSD login replies + + + + + + + - - Group ID this parameter belongs to + + + Get current OS + + Either "Win" or "Linux" - - Name of the wearable this parameter belongs to + + + Get clients default Mac Address + + A string containing the first found Mac Address - - Displayable label of this characteristic + + Raises the PacketSent Event + A PacketSentEventArgs object containing + the data sent from the simulator - - Displayable label for the minimum value of this characteristic + + Raises the LoggedOut Event + A LoggedOutEventArgs object containing + the data sent from the simulator - - Displayable label for the maximum value of this characteristic + + Raises the SimConnecting Event + A SimConnectingEventArgs object containing + the data sent from the simulator - - Default value + + Raises the SimConnected Event + A SimConnectedEventArgs object containing + the data sent from the simulator - - Minimum value + + Raises the SimDisconnected Event + A SimDisconnectedEventArgs object containing + the data sent from the simulator - - Maximum value + + Raises the Disconnected Event + A DisconnectedEventArgs object containing + the data sent from the simulator - - Is this param used for creation of bump layer? + + Raises the SimChanged Event + A SimChangedEventArgs object containing + the data sent from the simulator - - Alpha blending/bump info + + Raises the EventQueueRunning Event + A EventQueueRunningEventArgs object containing + the data sent from the simulator - - Color information + + + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type to trigger events for + Callback to fire when a packet of this type + is received - - Array of param IDs that are drivers for this parameter + + + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type to trigger events for + Callback to fire when a packet of this type + is received + True if the callback should be ran + asynchronously. Only set this to false (synchronous for callbacks + that will always complete quickly) + If any callback for a packet type is marked as + asynchronous, all callbacks for that packet type will be fired + asynchronously - + - Set all the values through the constructor + Unregister an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library - Index of this visual param - Internal name - - - Displayable label of this characteristic - Displayable label for the minimum value of this characteristic - Displayable label for the maximum value of this characteristic - Default value - Minimum value - Maximum value - Is this param used for creation of bump layer? - Array of param IDs that are drivers for this parameter - Alpha blending/bump info - Color information + Packet type this callback is registered with + Callback to stop firing events for - + - Holds the Params array of all the avatar appearance parameters + Register a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + Name of the CAPS event to register a handler for + Callback to fire when a CAPS event is received - + - The InternalDictionary class is used through the library for storing key/value pairs. - It is intended to be a replacement for the generic Dictionary class and should - be used in its place. It contains several methods for allowing access to the data from - outside the library that are read only and thread safe. - + Unregister a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library - Key - Value + Name of the CAPS event this callback is + registered with + Callback to stop firing events for - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - on this member + + + Send a packet to the simulator the avatar is currently occupying + + Packet to send - + - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. + Send a packet to a specified simulator - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); - - + Packet to send + Simulator to send the packet to - + - Initializes a new instance of the Class - with the specified key/value, has its initial valies copied from the specified - + Connect to a simulator - - to copy initial values from - - - // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. - // populates with copied values from example KeyNameCache Dictionary. - - // create source dictionary - Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); - KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); - KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); - - // Initialize new dictionary. - public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); - - + IP address to connect to + Port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. + Connect to a simulator - Initial size of dictionary - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); - - + IP address and port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null - + - Try to get entry from with specified key + Initiate a blocking logout request. This will return when the logout + handshake has completed or when Settings.LOGOUT_TIMEOUT + has expired and the network layer is manually shut down - Key to use for lookup - Value returned - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - - + - Finds the specified match. + Initiate the logout process. Check if logout succeeded with the + OnLogoutReply event, and if this does not fire the + Shutdown() function needs to be manually called - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - + + + Close a connection to the given simulator + + + + + - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - + + + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + Type of shutdown - - Perform an on each entry in an - to perform - - - // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. - Client.Network.CurrentSim.ObjectsPrimitives.ForEach( - delegate(Primitive prim) - { - if (prim.Text != null) - { - Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", - prim.PropertiesFamily.Name, prim.ID, prim.Text); - } - }); - - + + + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + Type of shutdown + Shutdown message - - Perform an on each key of an - to perform + + + Searches through the list of currently connected simulators to find + one attached to the given IPEndPoint + + IPEndPoint of the Simulator to search for + A Simulator reference on success, otherwise null - + - Perform an on each KeyValuePair of an + Fire an event when an event queue connects for capabilities - to perform + Simulator the event queue is attached to - - Check if Key exists in Dictionary - Key to check for - if found, otherwise + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Check if Value exists in Dictionary - Value to check for - if found, otherwise + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - - The key - The value + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Removes the specified key, dictionary locking is not performed + A Name Value pair with additional settings, used in the protocol + primarily to transmit avatar names and active group in object packets - The key. - if successful, otherwise - + - Gets the number of Key/Value pairs contained in the + Constructor that takes all the fields as parameters + + + + + + + + + + - + - Indexer for the dictionary + Constructor that takes a single line from a NameValue field - The key - The value + + - - - This is used to initialize and stop the Connector as a whole. The Connector - Create call must be completed successfully before any other requests are made - (typically during application initialization). The shutdown should be called - when the application is shutting down to gracefully release resources - - A string value indicting the Application name - URL for the management server - LoggingSettings - - + + Type of the value - - - Shutdown Connector -- Should be called when the application is shutting down - to gracefully release resources - - Handle returned from successful Connector ‘create’ request + + Unknown - - - Mute or unmute the microphone - - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) + + String value - + - Mute or unmute the speaker - Handle returned from successful Connector ‘create’ request - true (mute) or false (unmute) - + - Set microphone volume - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume - + - Set local speaker volume - Handle returned from successful Connector ‘create’ request - The level of the audio, a number between -100 and 100 where - 0 represents ‘normal’ speaking volume - + - Starts a thread that keeps the daemon running - - - - - Stops the daemon and the thread keeping it running - + + Deprecated - - - - - - - + + String value, but designated as an asset - + - This is used to get a list of audio devices that can be used for capture (input) of voice. - - + - This is used to get a list of audio devices that can be used for render (playback) of voice. - + - This command is used to select the render device. - The name of the device as returned by the Aux.GetRenderDevices command. - + - This command is used to select the capture device. - The name of the device as returned by the Aux.GetCaptureDevices command. - + - This command is used to start the audio capture process which will cause - AuxAudioProperty Events to be raised. These events can be used to display a - microphone VU meter for the currently selected capture device. This command - should not be issued if the user is on a call. - (unused but required) - - + - This command is used to stop the audio capture process. - - + - This command is used to set the mic volume while in the audio tuning process. - Once an acceptable mic level is attained, the application must issue a - connector set mic volume command to have that level be used while on voice - calls. - the microphone volume (-100 to 100 inclusive) - - + - This command is used to set the speaker volume while in the audio tuning - process. Once an acceptable speaker level is attained, the application must - issue a connector set speaker volume command to have that level be used while - on voice calls. - the speaker volume (-100 to 100 inclusive) - - + - Create a Session - Sessions typically represent a connection to a media session with one or more - participants. This is used to generate an ‘outbound’ call to another user or - channel. The specifics depend on the media types involved. A session handle is - required to control the local user functions within the session (or remote - users if the current account has rights to do so). Currently creating a - session automatically connects to the audio media, there is no need to call - Session.Connect at this time, this is reserved for future use. - Handle returned from successful Connector ‘create’ request - This is the URI of the terminating point of the session (ie who/what is being called) - This is the display name of the entity being called (user or channel) - Only needs to be supplied when the target URI is password protected - This indicates the format of the password as passed in. This can either be - “ClearText” or “SHA1UserName”. If this element does not exist, it is assumed to be “ClearText”. If it is - “SHA1UserName”, the password as passed in is the SHA1 hash of the password and username concatenated together, - then base64 encoded, with the final “=” character stripped off. - - - - + - Used to accept a call - SessionHandle such as received from SessionNewEvent - "default" - - + - This command is used to start the audio render process, which will then play - the passed in file through the selected audio render device. This command - should not be issued if the user is on a call. - The fully qualified path to the sound file. - True if the file is to be played continuously and false if it is should be played once. - - + - This command is used to stop the audio render process. - The fully qualified path to the sound file issued in the start render command. - - + - This is used to ‘end’ an established session (i.e. hang-up or disconnect). - Handle returned from successful Session ‘create’ request or a SessionNewEvent - - + - Set the combined speaking and listening position in 3D space. - Handle returned from successful Session ‘create’ request or a SessionNewEvent - Speaking position - Listening position - - + - Set User Volume for a particular user. Does not affect how other users hear that user. - Handle returned from successful Session ‘create’ request or a SessionNewEvent - - The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume - - + - Start up the Voice service. - + - Handle miscellaneous request status - - - ///If something goes wrong, we log it. - + - Cleanup oject resources - - - Request voice cap when changing regions - + + No report - - - Handle a change in session state - + + Unknown report type - - - Close a voice session - - + + Bug report - - - Locate a Session context from its handle - - Creates the session context if it does not exist. + + Complaint report - - - Handle completion of main voice cap request. - - - - + + Customer service report - + - Daemon has started so connect to it. + Bitflag field for ObjectUpdateCompressed data blocks, describing + which options are present for each object - - - The daemon TCP connection is open. - + + Unknown - - - Handle creation of the Connector. - + + Whether the object has a TreeSpecies - - - Handle response to audio output device query - + + Whether the object has floating text ala llSetText - - - Handle response to audio input device query - + + Whether the object has an active particle system - - - Set voice channel for new parcel - - + + Whether the object has sound attached to it - + + Whether the object is attached to a root object or not + + + Whether the object has texture animation settings + + + Whether the object has an angular velocity + + + Whether the object has a name value pairs string + + + Whether the object has a Media URL set + + - Request info from a parcel capability Uri. + Specific Flags for MultipleObjectUpdate requests - - - - Receive parcel voice cap - - - - + + None + + + Change position of prims + + + Change rotation of prims + + + Change size of prims + + + Perform operation on link set + + + Scale prims uniformly, same as selecing ctrl+shift in the + viewer. Used in conjunction with Scale - + - Tell Vivox where we are standing + Special values in PayPriceReply. If the price is not one of these + literal value of the price should be use - This has to be called when we move or turn. - + - Start and stop updating out position. + Indicates that this pay option should be hidden - - + - This is used to login a specific user account(s). It may only be called after - Connector initialization has completed successfully + Indicates that this pay option should have the default value - Handle returned from successful Connector ‘create’ request - User's account name - User's account password - Values may be “AutoAnswer” or “VerifyAnswer” - "" - This is an integer that specifies how often - the daemon will send participant property events while in a channel. If this is not set - the default will be “on state change”, which means that the events will be sent when - the participant starts talking, stops talking, is muted, is unmuted. - The valid values are: - 0 – Never - 5 – 10 times per second - 10 – 5 times per second - 50 – 1 time per second - 100 – on participant state change (this is the default) - false - - + - This is used to logout a user session. It should only be called with a valid AccountHandle. + Contains the variables sent in an object update packet for objects. + Used to track position and movement of prims and avatars - Handle returned from successful Connector ‘login’ request - - + - Event for most mundane request reposnses. - - Response to Connector.Create request - - - Response to Aux.GetCaptureDevices request - - - Response to Aux.GetRenderDevices request - - - Audio Properties Events are sent after audio capture is started. - These events are used to display a microphone VU meter - - - Response to Account.Login request - - - This event message is sent whenever the login state of the - particular Account has transitioned from one value to another - - + - List of audio input devices - + - List of audio output devices - + - Set audio test mode - - Enable logging - - - The folder where any logs will be created - - - This will be prepended to beginning of each log file - - - The suffix or extension to be appended to each log file - - + - 0: NONE - No logging - 1: ERROR - Log errors only - 2: WARNING - Log errors and warnings - 3: INFO - Log errors, warnings and info - 4: DEBUG - Log errors, warnings, info and debug - + - Constructor for default logging settings - - Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - - + - Abstract base for rendering plugins - + - Generates a basic mesh structure from a primitive - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh - + - Generates a basic mesh structure from a sculpted primitive and - texture - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh - + - Generates a series of faces, each face containing a mesh and - metadata - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh - + - Generates a series of faces for a sculpted prim, each face - containing a mesh and metadata + Handles all network traffic related to prims and avatar positions and + movement. - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh - + - Apply texture coordinate modifications from a - to a list of vertices + Construct a new instance of the ObjectManager class - Vertex list to modify texture coordinates for - Center-point of the face - Face texture parameters + A reference to the instance - + - pre-defined built in sounds + Callback for getting object media data via CAP + Indicates if the operation was succesfull + Object media version string + Array indexed on prim face of media entry data - - - - - - - - - - - - - - - - - - - - - - - - - - coins - - - cash register bell - - - - - - - - - rubber - - - plastic - - - flesh + + The event subscribers, null of no subscribers - - wood splintering? + + Thread sync lock object - - glass break + + The event subscribers, null of no subscribers - - metal clunk + + Thread sync lock object - - whoosh + + The event subscribers, null of no subscribers - - shake + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - ding + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - + + The event subscribers, null of no subscribers - - + + Thread sync lock object - - - A dictionary containing all pre-defined sounds - - A dictionary containing the pre-defined sounds, - where the key is the sounds ID, and the value is a string - containing a name to identify the purpose of the sound + + Reference to the GridClient object - - - Simulator (region) properties - + + Does periodic dead reckoning calculation to convert + velocity and acceleration to new positions for objects - - No flags set + + Raised when the simulator sends us data containing + A , Foliage or Attachment + + - - Agents can take damage and be killed + + Raised when the simulator sends us data containing + additional information + + - - Landmarks can be created here + + Raised when the simulator sends us data containing + Primitive.ObjectProperties for an object we are currently tracking - - Home position can be set in this sim + + Raised when the simulator sends us data containing + additional and details + - - Home position is reset when an agent teleports away + + Raised when the simulator sends us data containing + updated information for an - - Sun does not move + + Raised when the simulator sends us data containing + and movement changes - - No object, land, etc. taxes + + Raised when the simulator sends us data containing + updates to an Objects DataBlock - - Disable heightmap alterations (agents can still plant - foliage) + + Raised when the simulator informs us an + or is no longer within view - - Land cannot be released, sold, or purchased + + Raised when the simulator sends us data containing + updated sit information for our - - All content is wiped nightly + + Raised when the simulator sends us data containing + purchase price information for a - - Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) + + Raised when the simulator sends us data containing + additional information + + - - Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. + + Raises the ObjectProperties Event + A ObjectPropertiesEventArgs object containing + the data sent from the simulator - - Region does not update agent prim interest lists. Internal debugging option. + + Raises the ObjectPropertiesUpdated Event + A ObjectPropertiesUpdatedEventArgs object containing + the data sent from the simulator - - No collision detection for non-agent objects + + Raises the ObjectPropertiesFamily Event + A ObjectPropertiesFamilyEventArgs object containing + the data sent from the simulator - - No scripts are ran + + Raises the AvatarUpdate Event + A AvatarUpdateEventArgs object containing + the data sent from the simulator - - All physics processing is turned off + + Raises the ObjectDataBlockUpdate Event + A ObjectDataBlockUpdateEventArgs object containing + the data sent from the simulator - - Region can be seen from other regions on world map. (Legacy world map option?) + + Raises the KillObject Event + A KillObjectEventArgs object containing + the data sent from the simulator - - Region can be seen from mainland on world map. (Legacy world map option?) + + Raises the AvatarSitChanged Event + A AvatarSitChangedEventArgs object containing + the data sent from the simulator - - Agents not explicitly on the access list can visit the region. + + Raises the PayPriceReply Event + A PayPriceReplyEventArgs object containing + the data sent from the simulator - - Traffic calculations are not run across entire region, overrides parcel settings. + + Raises the PhysicsProperties Event + A PhysicsPropertiesEventArgs object containing + the data sent from the simulator - - Flight is disabled (not currently enforced by the sim) + + + Request information for a single object from a + you are currently connected to + + The the object is located + The Local ID of the object - - Allow direct (p2p) teleporting + + + Request information for multiple objects contained in + the same simulator + + The the objects are located + An array containing the Local IDs of the objects - - Estate owner has temporarily disabled scripting + + + Attempt to purchase an original object, a copy, or the contents of + an object + + The the object is located + The Local ID of the object + Whether the original, a copy, or the object + contents are on sale. This is used for verification, if the this + sale type is not valid for the object the purchase will fail + Price of the object. This is used for + verification, if it does not match the actual price the purchase + will fail + Group ID that will be associated with the new + purchase + Inventory folder UUID where the object or objects + purchased should be placed + + + BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, + 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); + + - - Restricts the usage of the LSL llPushObject function, applies to whole region. + + + Request prices that should be displayed in pay dialog. This will triggger the simulator + to send us back a PayPriceReply which can be handled by OnPayPriceReply event + + The the object is located + The ID of the object + The result is raised in the event - - Deny agents with no payment info on file + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + - - Deny agents with payment info on file + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + if true, a call to is + made immediately following the request + - - Deny agents who have made a monetary transaction + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + Should objects be deselected immediately after selection + - - Parcels within the region may be joined or divided by anyone, not just estate owners/managers. + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + - - Abuse reports sent from within this region are sent to the estate owner defined email. + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on - - Region is Voice Enabled + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on + Type of the represetnation prim will have in the physics engine + Density - normal value 1000 + Friction - normal value 0.6 + Restitution - standard value 0.5 + Gravity multiplier - standar value 1.0 - - Removes the ability from parcel owners to set their parcels to show in search. + + + Sets the sale properties of a single object + + The the object is located + The Local ID of the object + One of the options from the enum + The price of the object - - Deny agents who have not been age verified from entering the region. + + + Sets the sale properties of multiple objects + + The the objects are located + An array containing the Local IDs of the objects + One of the options from the enum + The price of the object - + - Access level for a simulator + Deselect a single object + The the object is located + The Local ID of the object - - Unknown or invalid access level + + + Deselect multiple objects. + + The the objects are located + An array containing the Local IDs of the objects - - Trial accounts allowed + + + Perform a click action on an object + + The the object is located + The Local ID of the object - - PG rating + + + Perform a click action (Grab) on a single object + + The the object is located + The Local ID of the object + The texture coordinates to touch + The surface coordinates to touch + The face of the position to touch + The region coordinates of the position to touch + The surface normal of the position to touch (A normal is a vector perpindicular to the surface) + The surface binormal of the position to touch (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space - - Mature rating + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - - Adult rating + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Specify the + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties - - Simulator is offline + + + Rez a Linden tree + + A reference to the object where the object resides + The size of the tree + The rotation of the tree + The position of the tree + The Type of tree + The of the group to set the tree to, + or UUID.Zero if no group is to be set + true to use the "new" Linden trees, false to use the old - - Simulator does not exist + + + Rez grass and ground cover + + A reference to the object where the object resides + The size of the grass + The rotation of the grass + The position of the grass + The type of grass from the enum + The of the group to set the tree to, + or UUID.Zero if no group is to be set - + - + Set the textures to apply to the faces of an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply - + - + Set the textures to apply to the faces of an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + A media URL (not used) - + - Initialize the UDP packet handler in server mode + Set the Light data on an object - Port to listening for incoming UDP packets on + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - + - Initialize the UDP packet handler in client mode + Set the flexible data on an object - Remote UDP server to connect to + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - + - + Set the sculptie texture and data on an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set - + - + Unset additional primitive parameters on an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The extra parameters to set - + - + Link multiple prims into a linkset + A reference to the object where the objects reside + An array which contains the IDs of the objects to link + The last object in the array will be the root object of the linkset TODO: Is this true? - - A public reference to the client that this Simulator object - is attached to - - - A Unique Cache identifier for this simulator - - - The capabilities for this simulator - - - - - - The current version of software this simulator is running - - - - - - A 64x64 grid of parcel coloring values. The values stored - in this array are of the type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true if your agent has Estate Manager rights on this region - - - - - - - - - - - - Statistics information for this simulator and the - connection to the simulator, calculated by the simulator itself - and the library - - - The regions Unique ID - - - The physical data center the simulator is located - Known values are: - - Dallas - Chandler - SF - - - - - The CPU Class of the simulator - Most full mainland/estate sims appear to be 5, - Homesteads and Openspace appear to be 501 - - - The number of regions sharing the same CPU as this one - "Full Sims" appear to be 1, Homesteads appear to be 4 - - - The billing product name - Known values are: - - Mainland / Full Region (Sku: 023) - Estate / Full Region (Sku: 024) - Estate / Openspace (Sku: 027) - Estate / Homestead (Sku: 029) - Mainland / Homestead (Sku: 129) (Linden Owned) - Mainland / Linden Homes (Sku: 131) - - - - - The billing product SKU - Known values are: - - 023 Mainland / Full Region - 024 Estate / Full Region - 027 Estate / Openspace - 029 Estate / Homestead - 129 Mainland / Homestead (Linden Owned) - 131 Linden Homes / Full Region - - - - - The current sequence number for packets sent to this - simulator. Must be Interlocked before modifying. Only - useful for applications manipulating sequence numbers - - + - A thread-safe dictionary containing avatars in a simulator + Delink/Unlink multiple prims from a linkset + A reference to the object where the objects reside + An array which contains the IDs of the objects to delink - + - A thread-safe dictionary containing primitives in a simulator + Change the rotation of an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation of the object - + - Provides access to an internal thread-safe dictionary containing parcel - information found in this simulator + Set the name of an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new name of the object - + - Checks simulator parcel map to make sure it has downloaded all data successfully + Set the name of multiple objects - true if map is full (contains no 0's) - - - Used internally to track sim disconnections - - - Event that is triggered when the simulator successfully - establishes a connection - - - Whether this sim is currently connected or not. Hooked up - to the property Connected - - - Coarse locations of avatars in this simulator - - - AvatarPositions key representing TrackAgent target + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the name of + An array which contains the new names of the objects - - Sequence numbers of packets we've received - (for duplicate checking) + + + Set the description of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new description of the object - - Packets we sent out that need ACKs from the simulator + + + Set the descriptions of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the description of + An array which contains the new descriptions of the objects - - Sequence number for pause/resume + + + Attach an object to this avatar + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The point on the avatar the object will be attached + The rotation of the attached object - - Indicates if UDP connection to the sim is fully established + + + Drop an attached object from this avatar + + A reference to the + object where the objects reside. This will always be the simulator the avatar is currently in + + The object's ID which is local to the simulator the object is in - + - + Detach an object from yourself - Reference to the GridClient object - IPEndPoint of the simulator - handle of the simulator + A reference to the + object where the objects reside + This will always be the simulator the avatar is currently in + + An array which contains the IDs of the objects to detach - + - Called when this Simulator object is being destroyed + Change the position of an object, Will change position of entire linkset + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object - + - Attempt to connect to this simulator + Change the position of an object - Whether to move our agent in to this sim or not - True if the connection succeeded or connection status is - unknown, false if there was a failure + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + if true, will change position of (this) child prim only, not entire linkset - + - Initiates connection to the simulator + Change the Scale (size) of an object + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change scale of this prim only, not entire linkset + True to resize prims uniformly - + - Disconnect from this simulator + Change the Rotation of an object that is either a child or a whole linkset + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change rotation of this prim only, not entire linkset - + - Instructs the simulator to stop sending update (and possibly other) packets + Send a Multiple Object Update packet to change the size, scale or rotation of a primitive + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation, size, or position of the target object + The flags from the Enum - + - Instructs the simulator to resume sending update packets (unpause) + Deed an object (prim) to a group, Object must be shared with group which + can be accomplished with SetPermissions() + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The of the group to deed the object to - + - Retrieve the terrain height at a given coordinate + Deed multiple objects (prims) to a group, Objects must be shared with group which + can be accomplished with SetPermissions() - Sim X coordinate, valid range is from 0 to 255 - Sim Y coordinate, valid range is from 0 to 255 - The terrain height at the given point if the - lookup was successful, otherwise 0.0f - True if the lookup was successful, otherwise false + A reference to the object where the object resides + An array which contains the IDs of the objects to deed + The of the group to deed the object to - + - Sends a packet + Set the permissions on multiple objects - Packet to be sent + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the permissions on + The new Who mask to set + Which permission to modify + The new state of permission - + - + Request additional properties for an object + A reference to the object where the object resides + + - + - Returns Simulator Name as a String + Request additional properties for an object - + A reference to the object where the object resides + Absolute UUID of the object + Whether to require server acknowledgement of this request - + - + Set the ownership of a list of objects to the specified group - + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the group id on + The Groups ID - + - + Update current URL of the previously set prim media - - + UUID of the prim + Set current URL to this + Prim face number + Simulator in which prim is located - + - Sends out pending acknowledgements + Set object media - Number of ACKs sent + UUID of the prim + Array the length of prims number of faces. Null on face indexes where there is + no media, on faces which contain the media + Simulatior in which prim is located - + - Resend unacknowledged packets + Retrieve information about object media + UUID of the primitive + Simulator where prim is located + Call this callback when done - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + - Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. + A terse object update, used when a transformation matrix or + velocity/acceleration for an object changes but nothing else + (scale/position/rotation/acceleration/velocity) + The sender + The EventArgs object containing the packet data - - The IP address and port of the server + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Whether there is a working connection to the simulator or - not + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Coarse locations of avatars in this simulator + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - AvatarPositions key representing TrackAgent target + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Indicates if UDP connection to the sim is fully established + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + - Simulator Statistics + + + + + + - - Total number of packets sent by this simulator to this agent - - - Total number of packets received by this simulator to this agent - - - Total number of bytes sent by this simulator to this agent - - - Total number of bytes received by this simulator to this agent - - - Time in seconds agent has been connected to simulator + + + Setup construction data for a basic primitive shape + + Primitive shape to construct + Construction data that can be plugged into a - - Total number of packets that have been resent + + + + + + + + + + + - - Total number of resent packets recieved + + + + + + + - - Total number of pings sent to this simulator by this agent + + + Set the Shape data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + Data describing the prim shape - - Total number of ping replies sent to this agent by this simulator + + + Set the Material data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new material of the object - + - Incoming bytes per second - It would be nice to have this claculated on the fly, but - this is far, far easier + + + + + + + + - + - Outgoing bytes per second - It would be nice to have this claculated on the fly, but - this is far, far easier + + + + + + + + - - Time last ping was sent + + Provides data for the event + + The event occurs when the simulator sends + an containing a Primitive, Foliage or Attachment data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or + if an Avatar crosses the border into a new simulator and returns to the current simulator + + + The following code example uses the , , and + properties to display new Primitives and Attachments on the window. + + // Subscribe to the event that gives us prim and foliage information + Client.Objects.ObjectUpdate += Objects_ObjectUpdate; + private void Objects_ObjectUpdate(object sender, PrimEventArgs e) + { + Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); + } + + + + - - ID of last Ping sent + + + Construct a new instance of the PrimEventArgs class + + The simulator the object originated from + The Primitive + The simulator time dilation + The prim was not in the dictionary before this update + true if the primitive represents an attachment to an agent - - + + Get the simulator the originated from - - + + Get the details - - Current time dilation of this simulator + + true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - Current Frames per second of simulator + + true if the is attached to an - - Current Physics frames per second of simulator + + Get the simulator Time Dilation - - + + Provides data for the event + + The event occurs when the simulator sends + an containing Avatar data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator + + + The following code example uses the property to make a request for the top picks + using the method in the class to display the names + of our own agents picks listings on the window. + + // subscribe to the AvatarUpdate event to get our information + Client.Objects.AvatarUpdate += Objects_AvatarUpdate; + Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; + private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) + { + // we only want our own data + if (e.Avatar.LocalID == Client.Self.LocalID) + { + // Unsubscribe from the avatar update event to prevent a loop + // where we continually request the picks every time we get an update for ourselves + Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; + // make the top picks request through AvatarManager + Client.Avatars.RequestAvatarPicks(e.Avatar.ID); + } + } + private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) + { + // we'll unsubscribe from the AvatarPicksReply event since we now have the data + // we were looking for + Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; + // loop through the dictionary and extract the names of the top picks from our profile + foreach (var pickName in e.Picks.Values) + { + Console.WriteLine(pickName); + } + } + + + - - + + + Construct a new instance of the AvatarUpdateEventArgs class + + The simulator the packet originated from + The data + The simulator time dilation + The avatar was not in the dictionary before this update - - + + Get the simulator the object originated from - - + + Get the data - - + + Get the simulator time dilation - - + + true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) - - + + Provides additional primitive data for the event + + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment data + The event is also raised when a request is + made. + + + The following code example uses the , and + + properties to display new attachments and send a request for additional properties containing the name of the + attachment then display it on the window. + + // Subscribe to the event that provides additional primitive details + Client.Objects.ObjectProperties += Objects_ObjectProperties; + // handle the properties data that arrives + private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); + } + - - + + + Construct a new instance of the ObjectPropertiesEventArgs class + + The simulator the object is located + The primitive Properties - - Total number of objects Simulator is simulating + + Get the simulator the object is located - - Total number of Active (Scripted) objects running + + Get the primitive properties - - Number of agents currently in this simulator + + Provides additional primitive data for the event + + The event occurs when the simulator sends + an containing additional details for a Primitive or Foliage data that is currently + being tracked in the dictionary + The event is also raised when a request is + made and is enabled + - - Number of agents in neighbor simulators + + + Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class + + The simulator the object is located + The Primitive + The primitive Properties - - Number of Active scripts running in this simulator + + Get the simulator the object is located - - + + Get the primitive details - - + + Get the primitive properties - - + + Provides additional primitive data, permissions and sale info for the event + + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment. This includes + Permissions, Sale info, and other basic details on an object + The event is also raised when a request is + made, the viewer equivalent is hovering the mouse cursor over an object + - - Number of downloads pending + + Get the simulator the object is located - - Number of uploads pending + + + - - + + + - - + + Provides primitive data containing updated location, velocity, rotation, textures for the event + + The event occurs when the simulator sends updated location, velocity, rotation, etc + - - Number of local uploads pending + + Get the simulator the object is located - - Unacknowledged bytes in queue + + Get the primitive details - + - Checks the instance back into the object pool - + - Returns an instance of the class that has been checked out of the Object Pool. - + - Creates a new instance of the ObjectPoolBase class. Initialize MUST be called - after using this constructor. - + + Get the simulator the object is located + + + Get the primitive details + + - Creates a new instance of the ObjectPool Base class. - The object pool is composed of segments, which - are allocated whenever the size of the pool is exceeded. The number of items - in a segment should be large enough that allocating a new segmeng is a rare - thing. For example, on a server that will have 10k people logged in at once, - the receive buffer object pool should have segment sizes of at least 1000 - byte arrays per segment. - - The minimun number of segments that may exist. - Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. - The frequency which segments are checked to see if they're eligible for cleanup. - + - Forces the segment cleanup algorithm to be run. This method is intended - primarly for use from the Unit Test libraries. - + - Responsible for allocate 1 instance of an object that will be stored in a segment. - An instance of whatever objec the pool is pooling. - + - Checks in an instance of T owned by the object pool. This method is only intended to be called - by the WrappedObject class. - The segment from which the instance is checked out. - The instance of T to check back into the segment. - + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event + + + Get the simulator the object is located + + + The LocalID of the object + + - Checks an instance of T from the pool. If the pool is not sufficient to - allow the checkout, a new segment is created. + Provides updates sit position data - A WrappedObject around the instance of T. To check - the instance back into the segment, be sureto dispose the WrappedObject - when finished. - + + Get the simulator the object is located + + - The total number of segments created. Intended to be used by the Unit Tests. - + - The number of items that are in a segment. Items in a segment - are all allocated at the same time, and are hopefully close to - each other in the managed heap. - + - The minimum number of segments. When segments are reclaimed, - this number of segments will always be left alone. These - segments are allocated at startup. - + - The age a segment must be before it's eligible for cleanup. - This is used to prevent thrash, and typical values are in - the 5 minute range. - + + Get the simulator the object is located + + - The frequence which the cleanup thread runs. This is typically - expected to be in the 5 minute range. - + - Exception class to identify inventory exceptions - + - Responsible for maintaining inventory structure. Inventory constructs nodes - and manages node children as is necessary to maintain a coherant hirarchy. - Other classes should not manipulate or create InventoryNodes explicitly. When - A node's parent changes (when a folder is moved, for example) simply pass - Inventory the updated InventoryFolder and it will make the appropriate changes - to its internal representation. - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectUpdated Event - A InventoryObjectUpdatedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectRemoved Event - A InventoryObjectRemovedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the InventoryObjectAdded Event - A InventoryObjectAddedEventArgs object containing - the data sent from the simulator + + + Indicates if the operation was successful + - - Thread sync lock object + + + Media version string + - + - Returns the contents of the specified folder + Array of media entries indexed by face number - A folder's UUID - The contents of the folder corresponding to folder - When folder does not exist in the inventory - + - Updates the state of the InventoryNode and inventory data structure that - is responsible for the InventoryObject. If the item was previously not added to inventory, - it adds the item, and updates structure accordingly. If it was, it updates the - InventoryNode, changing the parent node if item.parentUUID does - not match node.Parent.Data.UUID. - - You can not set the inventory root folder using this method + Set when simulator sends us infomation on primitive's physical properties - The InventoryObject to store - + - Removes the InventoryObject and all related node data from Inventory. + Constructor - The InventoryObject to remove. + Simulator where the message originated + Updated physical properties - + + Simulator where the message originated + + + Updated physical properties + + - Used to find out if Inventory contains the InventoryObject - specified by uuid. + Create an allocated UDP packet buffer for receiving a packet - The UUID to check. - true if inventory contains uuid, false otherwise - + - Saves the current inventory structure to a cache file + Create an allocated UDP packet buffer for sending a packet - Name of the cache file to save to + EndPoint of the remote host - + - Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + Create an allocated UDP packet buffer for sending a packet - Name of the cache file to load - The number of inventory items sucessfully reconstructed into the inventory node tree + EndPoint of the remote host + Size of the buffer to allocate for packet data - - Raised when the simulator sends us data containing - ... + + Size of the byte array used to store raw packet data - - Raised when the simulator sends us data containing - ... + + Raw packet data buffer - - Raised when the simulator sends us data containing - ... + + Length of the data to transmit + + + EndPoint of the remote host - + - The root folder of this avatars inventory + Object pool for packet buffers. This is used to allocate memory for all + incoming and outgoing packets, and zerocoding buffers for those packets - + - The default shared library folder + Initialize the object pool in client mode + Server to connect to + + + + - + - The root node of the avatars inventory + Initialize the object pool in server mode + + + + - + - The root node of the default shared library + Returns a packet buffer with EndPoint set if the buffer is in + client mode, or with EndPoint set to null in server mode + Initialized UDPPacketBuffer object - + - By using the bracket operator on this class, the program can get the - InventoryObject designated by the specified uuid. If the value for the corresponding - UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). - If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), - the uuid parameter is ignored. + Default constructor - The UUID of the InventoryObject to get or set, ignored if set to non-null value. - The InventoryObject corresponding to uuid. - + - Registers, unregisters, and fires events generated by incoming packets + Check a packet buffer out of the pool + A packet buffer object - - Reference to the GridClient object - - + - Default constructor + Returns an instance of the class that has been checked out of the Object Pool. - - + - Register an event handler + Checks the instance back into the object pool - Use PacketType.Default to fire this event on every - incoming packet - Packet type to register the handler for - Callback to be fired - True if this callback should be ran - asynchronously, false to run it synchronous - + - Unregister an event handler + Creates a new instance of the ObjectPoolBase class. Initialize MUST be called + after using this constructor. - Packet type to unregister the handler for - Callback to be unregistered - + - Fire the events registered for this packet type + Creates a new instance of the ObjectPool Base class. - Incoming packet type - Incoming packet - Simulator this packet was received from + The object pool is composed of segments, which + are allocated whenever the size of the pool is exceeded. The number of items + in a segment should be large enough that allocating a new segmeng is a rare + thing. For example, on a server that will have 10k people logged in at once, + the receive buffer object pool should have segment sizes of at least 1000 + byte arrays per segment. + + The minimun number of segments that may exist. + Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. + The frequency which segments are checked to see if they're eligible for cleanup. - + - Object that is passed to worker threads in the ThreadPool for - firing packet callbacks + The total number of segments created. Intended to be used by the Unit Tests. - - Callback to fire for this packet - - - Reference to the simulator that this packet came from - - - The packet that needs to be processed - - + - Registers, unregisters, and fires events generated by the Capabilities - event queue + The number of items that are in a segment. Items in a segment + are all allocated at the same time, and are hopefully close to + each other in the managed heap. - - Reference to the GridClient object - - + - Default constructor + The minimum number of segments. When segments are reclaimed, + this number of segments will always be left alone. These + segments are allocated at startup. - Reference to the GridClient object - + - Register an new event handler for a capabilities event sent via the EventQueue + The age a segment must be before it's eligible for cleanup. + This is used to prevent thrash, and typical values are in + the 5 minute range. - Use String.Empty to fire this event on every CAPS event - Capability event name to register the - handler for - Callback to fire - + - Unregister a previously registered capabilities handler + The frequence which the cleanup thread runs. This is typically + expected to be in the 5 minute range. - Capability event name unregister the - handler for - Callback to unregister - + - Fire the events registered for this event type synchronously + Forces the segment cleanup algorithm to be run. This method is intended + primarly for use from the Unit Test libraries. - Capability name - Decoded event body - Reference to the simulator that - generated this event - + - Fire the events registered for this event type asynchronously + Responsible for allocate 1 instance of an object that will be stored in a segment. - Capability name - Decoded event body - Reference to the simulator that - generated this event + An instance of whatever objec the pool is pooling. - + - Object that is passed to worker threads in the ThreadPool for - firing CAPS callbacks + Checks in an instance of T owned by the object pool. This method is only intended to be called + by the WrappedObject class. + The segment from which the instance is checked out. + The instance of T to check back into the segment. - - Callback to fire for this packet - - - Name of the CAPS event - - - Strongly typed decoded data - - - Reference to the simulator that generated this event - - + - Represends individual HTTP Download request + Checks an instance of T from the pool. If the pool is not sufficient to + allow the checkout, a new segment is created. + A WrappedObject around the instance of T. To check + the instance back into the segment, be sureto dispose the WrappedObject + when finished. - - URI of the item to fetch - - - Timout specified in milliseconds - - - Download progress callback - - - Download completed callback - - - Accept the following content type - - - Default constructor - - - Constructor - - + - Manages async HTTP downloads with a limit on maximum - concurrent downloads - - Default constructor - - - Cleanup method - - - Setup http download request - - - Check the queue for pending work - - - Enqueue a new HTPP download - - - Maximum number of parallel downloads from a single endpoint - - - Client certificate - - - Positional vector of the users position - - - Velocity vector of the position - - - At Orientation (X axis) of the position - - - Up Orientation (Y axis) of the position - - - Left Orientation (Z axis) of the position - - + - Represents Mesh asset - - Initializes a new instance of an AssetMesh object + + + - - Initializes a new instance of an AssetMesh object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + + - + - TODO: Encodes a scripts contents into a LSO Bytecode file + The ObservableDictionary class is used for storing key/value pairs. It has methods for firing + events to subscribers when items are added, removed, or changed. + Key + Value - + - TODO: Decode LSO Bytecode into a string + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. - true + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); + + - - Override the base classes AssetType + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); + + - + - Static helper functions and global variables + A dictionary of callbacks to fire when specified action occurs - - This header flag signals that ACKs are appended to the packet - - - This header flag signals that this packet has been sent before + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking - - This header flags signals that an ACK is expected for this packet + + + Indexer for the dictionary + + The key + The value - - This header flag signals that the message is compressed using zerocoding + + + Gets the number of Key/Value pairs contained in the - + - + Register a callback to be fired when an action occurs - - + The action + The callback to fire - + - + Unregister a callback - - - + The action + The callback to fire - + - - - + + + + - + - + Try to get entry from the with specified key - - - + Key to use for lookup + Value returned + + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + - + - Given an X/Y location in absolute (grid-relative) terms, a region - handle is returned along with the local X/Y location in that region + Finds the specified match. - The absolute X location, a number such as - 255360.35 - The absolute Y location, a number such as - 255360.35 - The sim-local X position of the global X - position, a value from 0.0 to 256.0 - The sim-local Y position of the global Y - position, a value from 0.0 to 256.0 - A 64-bit region handle that can be used to teleport to + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + - + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + + + Check if Key exists in Dictionary + Key to check for + + if found, otherwise + + + Check if Value exists in Dictionary + Value to check for + + if found, otherwise + + - Converts a floating point number to a terse string format used for - transmitting numbers in wearable asset files - - Floating point number to convert to a string - A terse string representation of the input number + Adds the specified key to the dictionary, dictionary locking is not performed, + + The key + The value - + - Convert a variable length field (byte array) to a string, with a - field name prepended to each line of the output + Removes the specified key, dictionary locking is not performed - If the byte array has unprintable characters in it, a - hex dump will be written instead - The StringBuilder object to write to - The byte array to convert to a string - A field name to prepend to each line of output + The key. + + if successful, otherwise - + - Decode a zerocoded byte array, used to decompress packets marked - with the zerocoded flag + Clear the contents of the dictionary - Any time a zero is encountered, the next byte is a count - of how many zeroes to expand. One zero is encoded with 0x00 0x01, - two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The - first four bytes are copied directly to the output buffer. - - The byte array to decode - The length of the byte array to decode. This - would be the length of the packet up to (but not including) any - appended ACKs - The output byte array to decode to - The length of the output buffer - + - Encode a byte array with zerocoding. Used to compress packets marked - with the zerocoded flag. Any zeroes in the array are compressed down - to a single zero byte followed by a count of how many zeroes to expand - out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, - three zeroes becomes 0x00 0x03, etc. The first four bytes are copied - directly to the output buffer. + Enumerator for iterating dictionary entries - The byte array to encode - The length of the byte array to encode - The output byte array to encode to - The length of the output buffer + + - + - Calculates the CRC (cyclic redundancy check) needed to upload inventory. + A custom decoder callback - Creation date - Sale type - Inventory type - Type - Asset ID - Group ID - Sale price - Owner ID - Creator ID - Item ID - Folder ID - Everyone mask (permissions) - Flags - Next owner mask (permissions) - Group mask (permissions) - Owner mask (permissions) - The calculated CRC + The key of the object + the data to decode + A string represending the fieldData - + - Attempts to load a file embedded in the assembly + Add a custom decoder callback - The filename of the resource to load - A Stream for the requested file, or null if the resource - was not successfully loaded + The key of the field to decode + The custom decode handler - + - Attempts to load a file either embedded in the assembly or found in - a given search path + Remove a custom decoder callback - The filename of the resource to load - An optional path that will be searched if - the asset is not found embedded in the assembly - A Stream for the requested file, or null if the resource - was not successfully loaded + The key of the field to decode + The custom decode handler - + - Converts a list of primitives to an object that can be serialized - with the LLSD system + Creates a formatted string containing the values of a Packet - Primitives to convert to a serializable object - An object that can be serialized with LLSD + The Packet + A formatted string of values of the nested items in the Packet object - + - Deserializes OSD in to a list of primitives + Decode an IMessage object into a beautifully formatted string - Structure holding the serialized primitive list, - must be of the SDMap type - A list of deserialized primitives + The IMessage object + Recursion level (used for indenting) + A formatted string containing the names and values of the source object - - - Converts a struct or class object containing fields only into a key value separated string - - The struct object - A string containing the struct fields as the keys, and the field value as the value separated - - - // Add the following code to any struct or class containing only fields to override the ToString() - // method to display the values of the passed object - - /// Print the struct data as a string - ///A string containing the field name, and field value - public override string ToString() - { - return Helpers.StructToString(this); - } - - + + + Type of return to use when returning objects from a parcel + - + - Passed to Logger.Log() to identify the severity of a log entry - - No logging information will be output + + Return objects owned by parcel owner - - Non-noisy useful information, may be helpful in - debugging a problem + + Return objects set to group - - A non-critical error occurred. A warning will not - prevent the rest of the library from operating as usual, - although it may be indicative of an underlying issue + + Return objects not owned by parcel owner or set to group - - A critical error has occurred. Generally this will - be followed by the network layer shutting down, although the - stability of the library after an error is uncertain + + Return a specific list of objects on parcel - - Used for internal testing, this logging level can - generate very noisy (long and/or repetitive) messages. Don't - pass this to the Log() function, use DebugLog() instead. + + Return objects that are marked for-sale + + + + Blacklist/Whitelist flags used in parcels Access List - + + Agent is denied access + + + Agent is granted access + + - A set of textures that are layered on texture of each other and "baked" - in to a single texture, for avatar appearances + The result of a request for parcel properties - - Final baked texture + + No matches were found for the request - - Component layers + + Request matched a single parcel + + + Request matched multiple parcels + + + + Flags used in the ParcelAccessListRequest packet to specify whether + we want the access list (whitelist), ban list (blacklist), or both + - - Width of the final baked image and scratchpad + + Request the access list - - Height of the final baked image and scratchpad + + Request the ban list - - Bake type + + Request both White and Black lists - + - Default constructor + Sequence ID in ParcelPropertiesReply packets (sent when avatar + tries to cross a parcel border) - Bake type - - - Adds layer for baking - - TexturaData struct that contains texture and its params + + Parcel is currently selected - - - Converts avatar texture index (face) to Bake type - - Face number (AvatarTextureIndex) - BakeType, layer to which this texture belongs to + + Parcel restricted to a group the avatar is not a + member of - - - Make sure images exist, resize source if needed to match the destination - - Destination image - Source image - Sanitization was succefull + + Avatar is banned from the parcel - - - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color - - Color of the base of this layer + + Parcel is restricted to an access list that the + avatar is not on - + + Response to hovering over a parcel + + - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if - the image is a pure solid color + The tool to use when modifying terrain levels - Red value - Green value - Blue value - - Final baked texture + + Level the terrain - - Component layers + + Raise the terrain - - Width of the final baked image and scratchpad + + Lower the terrain - - Height of the final baked image and scratchpad + + Smooth the terrain - - Bake type + + Add random noise to the terrain - - Is this one of the 3 skin bakes + + Revert terrain to simulator default - + - Represents an Animation + The tool size to use when changing terrain levels - - Default Constructor + + Small - - - Construct an Asset object of type Animation - - A unique specific to this asset - A byte array containing the raw asset data + + Medium - - Override the base classes AssetType + + Large - + - Index of TextureEntry slots for avatar appearances + Reasons agent is denied access to a parcel on the simulator - - - Bake layers for avatar appearance - + + Agent is not denied, access is granted - - Maximum number of concurrent downloads for wearable assets and textures + + Agent is not a member of the group set for the parcel, or which owns the parcel - - Maximum number of concurrent uploads for baked textures + + Agent is not on the parcels specific allow list - - Timeout for fetching inventory listings + + Agent is on the parcels ban list - - Timeout for fetching a single wearable, or receiving a single packet response + + Unknown - - Timeout for fetching a single texture + + Agent is not age verified and parcel settings deny access to non age verified avatars - - Timeout for uploading a single baked texture + + + Parcel overlay type. This is used primarily for highlighting and + coloring which is why it is a single integer instead of a set of + flags + + These values seem to be poorly thought out. The first three + bits represent a single value, not flags. For example Auction (0x05) is + not a combination of OwnedByOther (0x01) and ForSale(0x04). However, + the BorderWest and BorderSouth values are bit flags that get attached + to the value stored in the first three bits. Bits four, five, and six + are unused - - Number of times to retry bake upload + + Public land - - When changing outfit, kick off rebake after - 20 seconds has passed since the last change + + Land is owned by another avatar - - Total number of wearables for each avatar + + Land is owned by a group - - Total number of baked textures on each avatar + + Land is owned by the current avatar - - Total number of wearables per bake layer + + Land is for sale - - Mapping between BakeType and AvatarTextureIndex + + Land is being auctioned - - Map of what wearables are included in each bake + + Land is private - - Magic values to finalize the cache check hashes for each - bake + + To the west of this area is a parcel border - - Default avatar texture, used to detect when a custom - texture is not set for a face + + To the south of this area is a parcel border - - The event subscribers. null if no subcribers + + + Various parcel properties + - - Raises the AgentWearablesReply event - An AgentWearablesReplyEventArgs object containing the - data returned from the data server + + No flags set - - Thread sync lock object + + Allow avatars to fly (a client-side only restriction) - - The event subscribers. null if no subcribers + + Allow foreign scripts to run - - Raises the CachedBakesReply event - An AgentCachedBakesReplyEventArgs object containing the - data returned from the data server AgentCachedTextureResponse + + This parcel is for sale - - Thread sync lock object + + Allow avatars to create a landmark on this parcel - - The event subscribers. null if no subcribers + + Allows all avatars to edit the terrain on this parcel - - Raises the AppearanceSet event - An AppearanceSetEventArgs object indicating if the operatin was successfull + + Avatars have health and can take damage on this parcel. + If set, avatars can be killed and sent home here - - Thread sync lock object + + Foreign avatars can create objects here - - The event subscribers. null if no subcribers + + All objects on this parcel can be purchased - - Raises the RebakeAvatarRequested event - An RebakeAvatarTexturesEventArgs object containing the - data returned from the data server + + Access is restricted to a group - - Thread sync lock object + + Access is restricted to a whitelist + + + Ban blacklist is enabled + + + Unknown + + + List this parcel in the search directory + + + Allow personally owned parcels to be deeded to group - - A cache of wearables currently being worn + + If Deeded, owner contributes required tier to group parcel is deeded to - - A cache of textures currently being worn + + Restrict sounds originating on this parcel to the + parcel boundaries - - Incrementing serial number for AgentCachedTexture packets + + Objects on this parcel are sold when the land is + purchsaed - - Incrementing serial number for AgentSetAppearance packets + + Allow this parcel to be published on the web - - Indicates whether or not the appearance thread is currently - running, to prevent multiple appearance threads from running - simultaneously + + The information for this parcel is mature content - - Reference to our agent + + The media URL is an HTML page - - - Timer used for delaying rebake on changing outfit - + + The media URL is a raw HTML string - - - Main appearance thread - + + Restrict foreign object pushes - - - Default constructor - - A reference to our agent + + Ban all non identified/transacted avatars - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - + + Allow group-owned scripts to run - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - - Unused parameter + + Allow object creation by group members or group + objects - - - Starts the appearance setting thread - + + Allow all objects to enter this parcel - - - Starts the appearance setting thread - - True to force rebaking, otherwise false + + Only allow group and owner objects to enter this parcel - - - Ask the server what textures our agent is currently wearing - + + Voice Enabled on this parcel - - - Build hashes out of the texture assetIDs for each baking layer to - ask the simulator whether it has cached copies of each baked texture - + + Use Estate Voice channel for Voice on this parcel - - - Returns the AssetID of the asset that is currently being worn in a - given WearableType slot - - WearableType slot to get the AssetID for - The UUID of the asset being worn in the given slot, or - UUID.Zero if no wearable is attached to the given slot or wearables - have not been downloaded yet + + Deny Age Unverified Users - + - Add a wearable to the current outfit and set appearance + Parcel ownership status - Wearable to be added to the outfit - - - Add a list of wearables to the current outfit and set appearance - - List of wearable inventory items to - be added to the outfit + + Placeholder - - - Remove a wearable from the current outfit and set appearance - - Wearable to be removed from the outfit + + Parcel is leased (owned) by an avatar or group - - - Removes a list of wearables from the current outfit and set appearance - - List of wearable inventory items to - be removed from the outfit + + Parcel is in process of being leased (purchased) by an avatar or group - - - Replace the current outfit with a list of wearables and set appearance - - List of wearable inventory items that - define a new outfit + + Parcel has been abandoned back to Governor Linden - + - Checks if an inventory item is currently being worn + Category parcel is listed in under search - The inventory item to check against the agent - wearables - The WearableType slot that the item is being worn in, - or WearbleType.Invalid if it is not currently being worn - - - Returns a copy of the agents currently worn wearables - - A copy of the agents currently worn wearables - Avoid calling this function multiple times as it will make - a copy of all of the wearable data each time + + No assigned category - - - Calls either or - depending on the value of - replaceItems - - List of wearable inventory items to add - to the outfit or become a new outfit - True to replace existing items with the - new list of items, false to add these items to the existing outfit + + Linden Infohub or public area - - - Adds a list of attachments to our agent - - A List containing the attachments to add - If true, tells simulator to remove existing attachment - first + + Adult themed area - - - Attach an item to our agent at a specific attach point - - A to attach - the on the avatar - to attach the item to + + Arts and Culture - - - Attach an item to our agent specifying attachment details - - The of the item to attach - The attachments owner - The name of the attachment - The description of the attahment - The to apply when attached - The of the attachment - The on the agent - to attach the item to + + Business - - - Detach an item from our agent using an object - - An object + + Educational - - - Detach an item from our agent - - The inventory itemID of the item to detach + + Gaming - - - Inform the sim which wearables are part of our current outfit - + + Hangout or Club - - - Replaces the Wearables collection with a list of new wearable items - - Wearable items to replace the Wearables collection with + + Newcomer friendly - - - Calculates base color/tint for a specific wearable - based on its params - - All the color info gathered from wearable's VisualParams - passed as list of ColorParamInfo tuples - Base color/tint for the wearable + + Parks and Nature - - - Blocking method to populate the Wearables dictionary - - True on success, otherwise false + + Residential - - - Blocking method to populate the Textures array with cached bakes - - True on success, otherwise false + + Shopping - - - Populates textures and visual params from a decoded asset - - Wearable to decode + + Not Used? - - - Blocking method to download and parse currently worn wearable assets - - True on success, otherwise false + + Other - - - Get a list of all of the textures that need to be downloaded for a - single bake layer - - Bake layer to get texture AssetIDs for - A list of texture AssetIDs to download + + Not an actual category, only used for queries - + - Helper method to lookup the TextureID for a single layer and add it - to a list if it is not already present + Type of teleport landing for a parcel - - - - - Blocking method to download all of the textures needed for baking - the given bake layers - - A list of layers that need baking - No return value is given because the baking will happen - whether or not all textures are successfully downloaded + + Unset, simulator default - - - Blocking method to create and upload baked textures for all of the - missing bakes - - True on success, otherwise false + + Specific landing point set for this parcel - - - Blocking method to create and upload a baked texture for a single - bake layer - - Layer to bake - True on success, otherwise false + + No landing point set, direct teleports enabled for + this parcel - + - Blocking method to upload a baked texture + Parcel Media Command used in ParcelMediaCommandMessage - Five channel JPEG2000 texture data to upload - UUID of the newly created asset on success, otherwise UUID.Zero - - - Creates a dictionary of visual param values from the downloaded wearables - - A dictionary of visual param indices mapping to visual param - values for our agent that can be fed to the Baker class + + Stop the media stream and go back to the first frame - - - Create an AgentSetAppearance packet from Wearables data and the - Textures array and send it - + + Pause the media stream (stop playing but stay on current frame) - - - Converts a WearableType to a bodypart or clothing WearableType - - A WearableType - AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown + + Start the current media stream playing and stop when the end is reached - - - Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - - A BakeType - The AvatarTextureIndex slot that holds the given BakeType + + Start the current media stream playing, + loop to the beginning when the end is reached and continue to play - - - Gives the layer number that is used for morph mask - - >A BakeType - Which layer number as defined in BakeTypeToTextures is used for morph mask + + Specifies the texture to replace with video + If passing the key of a texture, it must be explicitly typecast as a key, + not just passed within double quotes. - - - Converts a BakeType to a list of the texture slots that make up that bake - - A BakeType - A list of texture slots that are inputs for the given bake + + Specifies the movie URL (254 characters max) - - Triggered when an AgentWearablesUpdate packet is received, - telling us what our avatar is currently wearing - request. + + Specifies the time index at which to begin playing - - Raised when an AgentCachedTextureResponse packet is - received, giving a list of cached bakes that were found on the - simulator - request. + + Specifies a single agent to apply the media command to - - - Raised when appearance data is sent to the simulator, also indicates - the main appearance thread is finished. - - request. + + Unloads the stream. While the stop command sets the texture to the first frame of the movie, + unload resets it to the real texture that the movie was replacing. - - - Triggered when the simulator requests the agent rebake its appearance. - - + + Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties + (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. - - - Returns true if AppearanceManager is busy and trying to set or change appearance will fail - + + Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). + Use "text/html" for HTML. - + + Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). + This might still not be working + + + Sets a description for the media being displayed (1.19.1 RC0 and later only). + + - Contains information about a wearable inventory item + Some information about a parcel of land returned from a DirectoryManager search - - Inventory ItemID of the wearable + + Global Key of record - - AssetID of the wearable asset + + Parcel Owners - - WearableType of the wearable + + Name field of parcel, limited to 128 characters - - AssetType of the wearable + + Description field of parcel, limited to 256 characters - - Asset data for the wearable + + Total Square meters of parcel - - - Data collected from visual params for each wearable - needed for the calculation of the color - + + Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - - Holds a texture assetID and the data needed to bake this layer into - an outfit texture. Used to keep track of currently worn textures - and baking data - + + True of parcel is in Mature simulator - - A texture AssetID + + Grid global X position of parcel - - Asset data for the texture + + Grid global Y position of parcel - - Collection of alpha masks that needs applying + + Grid global Z position of parcel (not used) - - Tint that should be applied to the texture + + Name of simulator parcel is located in - - Where on avatar does this texture belong + + Texture of parcels display picture - - Contains the Event data returned from the data server from an AgentWearablesRequest + + Float representing calculated traffic based on time spent on parcel by avatars - - Construct a new instance of the AgentWearablesReplyEventArgs class + + Sale price of parcel (not used) - - Contains the Event data returned from the data server from an AgentCachedTextureResponse + + Auction ID of parcel - - Construct a new instance of the AgentCachedBakesReplyEventArgs class + + + Parcel Media Information + - - Contains the Event data returned from an AppearanceSetRequest + + A byte, if 0x1 viewer should auto scale media to fit object - - - Triggered when appearance data is sent to the sim and - the main appearance thread is done. - Indicates whether appearance setting was successful + + A boolean, if true the viewer should loop the media - - Indicates whether appearance setting was successful + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - Contains the Event data returned from the data server from an RebakeAvatarTextures + + A URL which points to any Quicktime supported media type - + + A description of the media + + + An Integer which represents the height of the media + + + An integer which represents the width of the media + + + A string which contains the mime type of the media + + - Triggered when the simulator sends a request for this agent to rebake - its appearance + Parcel of land, a portion of virtual real estate in a simulator - The ID of the Texture Layer to bake - - The ID of the Texture Layer to bake + + + Defalt constructor + + Local ID of this parcel + + + The total number of contiguous 4x4 meter blocks your agent owns within this parcel + + + The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own + + + Deprecated, Value appears to always be 0 + + + Simulator-local ID of this parcel + + + UUID of the owner of this parcel + + + Whether the land is deeded to a group or not - + - The current status of a texture request as it moves through the pipeline or final result of a texture request. - - The initial state given to a request. Requests in this state - are waiting for an available slot in the pipeline - - - A request that has been added to the pipeline and the request packet - has been sent to the simulator + + Date land was claimed - - A request that has received one or more packets back from the simulator + + Appears to always be zero - - A request that has received all packets back from the simulator + + This field is no longer used - - A request that has taken longer than - to download OR the initial packet containing the packet information was never received + + Minimum corner of the axis-aligned bounding box for this + parcel - - The texture request was aborted by request of the agent + + Maximum corner of the axis-aligned bounding box for this + parcel - - The simulator replied to the request that it was not able to find the requested texture + + Bitmap describing land layout in 4x4m squares across the + entire region - - - A callback fired to indicate the status or final state of the requested texture. For progressive - downloads this will fire each time new asset data is returned from the simulator. - - The indicating either Progress for textures not fully downloaded, - or the final result of the request after it has been processed through the TexturePipeline - The object containing the Assets ID, raw data - and other information. For progressive rendering the will contain - the data from the beginning of the file. For failed, aborted and timed out requests it will contain - an empty byte array. + + Total parcel land area - + - Texture request download handler, allows a configurable number of download slots which manage multiple - concurrent texture downloads from the - This class makes full use of the internal - system for full texture downloads. - - - A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID - and also the Asset Texture ID, and the value is an object containing the current state of the request and also - the asset data as it is being re-assembled - - - Holds the reference to the client object - - - Maximum concurrent texture requests allowed at a time - - An array of objects used to manage worker request threads - - - An array of worker slots which shows the availablity status of the slot + + Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used - - The primary thread which manages the requests. + + Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel + owned by the agent or group that owns this parcel - - true if the TexturePipeline is currently running + + Maximum number of primitives this parcel supports - - A synchronization object used by the primary thread + + Total number of primitives on this parcel - - A refresh timer used to increase the priority of stalled requests + + For group-owned parcels this indicates the total number of prims deeded to the group, + for parcels owned by an individual this inicates the number of prims owned by the individual - - - Default constructor, Instantiates a new copy of the TexturePipeline class - - Reference to the instantiated object + + Total number of primitives owned by the parcel group on + this parcel, or for parcels owned by an individual with a group set the + total number of prims set to that group. - - - Initialize callbacks required for the TexturePipeline to operate - + + Total number of prims owned by other avatars that are not set to group, or not the parcel owner - - - Shutdown the TexturePipeline and cleanup any callbacks or transfers - + + A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect + the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request + + Autoreturn value in minutes for others' objects - + - Sends the actual request packet to the simulator - The image to download - Type of the image to download, either a baked - avatar texture or a normal texture - Priority level of the download. Default is - 1,013,000.0f - Number of quality layers to discard. - This controls the end marker of the data sent - Packet number to start the download at. - This controls the start marker of the data sent - Sending a priority of 0 and a discardlevel of -1 aborts - download - - - Cancel a pending or in process texture request - - The texture assets unique ID + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it - - - Master Download Thread, Queues up downloads in the threadpool - + + Parcel Name - - - The worker thread that sends the request and handles timeouts - - A object containing the request details + + Parcel Description - - - Handle responses from the simulator that tell us a texture we have requested is unable to be located - or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use - - The sender - The EventArgs object containing the packet data + + URL For Music Stream - + - Handles the remaining Image data that did not fit in the initial ImageData packet - The sender - The EventArgs object containing the packet data - - - Handle the initial ImageDataPacket sent from the simulator - - The sender - The EventArgs object containing the packet data + + Price for a temporary pass - - Current number of pending and in-process transfers + + How long is pass valid for - + - A request task containing information and status of a request as it is processed through the - - The current which identifies the current status of the request - - - The Unique Request ID, This is also the Asset ID of the texture being requested - - - The slot this request is occupying in the threadpoolSlots array + + Key of authorized buyer - - The ImageType of the request. + + Key of parcel snapshot - - The callback to fire when the request is complete, will include - the and the - object containing the result data + + The landing point location - - If true, indicates the callback will be fired whenever new data is returned from the simulator. - This is used to progressively render textures as portions of the texture are received. + + The landing point LookAt - - An object that maintains the data of an request thats in-process. + + The type of landing enforced from the enum - + - Wrapper around a byte array that allows bit to be packed and unpacked - one at a time or by a variable amount. Useful for very tightly packed - data like LayerData packets - - - - + - Default constructor, initialize the bit packer / bit unpacker - with a byte array and starting position - Byte array to pack bits in to or unpack from - Starting position in the byte array - + - Pack a floating point value in to the data - Floating point value to pack - - - Pack part or all of an integer in to the data - - Integer containing the data to pack - Number of bits of the integer to pack + + Access list of who is whitelisted on this + parcel - - - Pack part or all of an unsigned integer in to the data - - Unsigned integer containing the data to pack - Number of bits of the integer to pack + + Access list of who is blacklisted on this + parcel - - - Pack a single bit in to the data - - Bit to pack + + TRUE of region denies access to age unverified users - - - - - - - - + + true to obscure (hide) media url + + + true to obscure (hide) music url + + + A struct containing media details - + - + Displays a parcel object in string format - + string containing key=value pairs of a parcel object - + - + Update the simulator with any local changes to this Parcel object - + Simulator to send updates to + Whether we want the simulator to confirm + the update with a reply packet or not - + - Unpacking a floating point value from the data + Set Autoreturn time - Unpacked floating point value + Simulator to send the update to - + - Unpack a variable number of bits from the data in to integer format + Parcel (subdivided simulator lots) subsystem - Number of bits to unpack - An integer containing the unpacked bits - This function is only useful up to 32 bits - + - Unpack a variable number of bits from the data in to unsigned - integer format + Default constructor - Number of bits to unpack - An unsigned integer containing the unpacked bits - This function is only useful up to 32 bits + A reference to the GridClient object - + - Unpack a 16-bit signed integer + Parcel Accesslist - 16-bit signed integer - - - Unpack a 16-bit unsigned integer - - 16-bit unsigned integer + + Agents - + - Unpack a 32-bit signed integer - 32-bit signed integer - + + Flags for specific entry in white/black lists + + - Unpack a 32-bit unsigned integer + Owners of primitives on parcel - 32-bit unsigned integer - - + + Prim Owners - - + + True of owner is group - - - Class that handles the local asset cache - + + Total count of prims owned by OwnerID - - - Default constructor - - A reference to the GridClient object + + true of OwnerID is currently online and is not a group - + + The date of the most recent prim left by OwnerID + + - Disposes cleanup timer + Called once parcel resource usage information has been collected + Indicates if operation was successfull + Parcel resource usage information - + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a Parcel Update request + + + Raised when the parcel your agent is located sends a ParcelMediaCommand + + + Raises the ParcelDwellReply event + A ParcelDwellReplyEventArgs object containing the + data returned from the simulator + + + Raises the ParcelInfoReply event + A ParcelInfoReplyEventArgs object containing the + data returned from the simulator + + + Raises the ParcelProperties event + A ParcelPropertiesEventArgs object containing the + data returned from the simulator + + + Raises the ParcelAccessListReply event + A ParcelAccessListReplyEventArgs object containing the + data returned from the simulator + + + Raises the ParcelObjectOwnersReply event + A ParcelObjectOwnersReplyEventArgs object containing the + data returned from the simulator + + + Raises the SimParcelsDownloaded event + A SimParcelsDownloadedEventArgs object containing the + data returned from the simulator + + + Raises the ForceSelectObjectsReply event + A ForceSelectObjectsReplyEventArgs object containing the + data returned from the simulator + + + Raises the ParcelMediaUpdateReply event + A ParcelMediaUpdateReplyEventArgs object containing the + data returned from the simulator + + + Raises the ParcelMediaCommand event + A ParcelMediaCommandEventArgs object containing the + data returned from the simulator + + - Only create timer when needed + Request basic information for a single parcel + Simulator-local ID of the parcel - + - Return bytes read from the local asset cache, null if it does not exist + Request properties of a single parcel - UUID of the asset we want to get - Raw bytes of the asset, or null on failure + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + multiple simultaneous requests - + - Returns ImageDownload object of the - image from the local image cache, null if it does not exist + Request the access list for a single parcel - UUID of the image we want to get - ImageDownload object containing the image, or null on failure + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelAccessList reply, useful for distinguishing between + multiple simultaneous requests + + - + - Constructs a file name of the cached asset + Request properties of parcels using a bounding box selection - UUID of the asset - String with the file name of the cahced asset + Simulator containing the parcel + Northern boundary of the parcel selection + Eastern boundary of the parcel selection + Southern boundary of the parcel selection + Western boundary of the parcel selection + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + different types of parcel property requests + A boolean that is returned with the + ParcelProperties reply, useful for snapping focus to a single + parcel - + - Saves an asset to the local cache + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) - UUID of the asset - Raw bytes the asset consists of - Weather the operation was successfull + Simulator to request parcels from (must be connected) - + - Get the file name of the asset stored with gived UUID + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) - UUID of the asset - Null if we don't have that UUID cached on disk, file name if found in the cache folder + Simulator to request parcels from (must be connected) + If TRUE, will force a full refresh + Number of milliseconds to pause in between each request - + - Checks if the asset exists in the local cache + Request the dwell value for a parcel - UUID of the asset - True is the asset is stored in the cache, otherwise false + Simulator containing the parcel + Simulator-local ID of the parcel - + - Wipes out entire cache + Send a request to Purchase a parcel of land + The Simulator the parcel is located in + The parcels region specific local ID + true if this parcel is being purchased by a group + The groups + true to remove tier contribution if purchase is successful + The parcels size + The purchase price of the parcel + + - + - Brings cache size to the 90% of the max size + Reclaim a parcel of land + The simulator the parcel is in + The parcels region specific local ID - + - Asynchronously brings cache size to the 90% of the max size + Deed a parcel to a group + The simulator the parcel is in + The parcels region specific local ID + The groups - + - Adds up file sizes passes in a FileInfo array + Request prim owners of a parcel of land. + Simulator parcel is in + The parcels region specific local ID - + - Checks whether caching is enabled + Return objects from a parcel + Simulator parcel is in + The parcels region specific local ID + the type of objects to return, + A list containing object owners s to return - + - Periodically prune the cache + Subdivide (split) a parcel + + + + + + + + + + - + - Nicely formats file sizes + Join two parcels of land creating a single parcel - Byte size we want to output - String with humanly readable file size + + + + + + + + + + - + - Allows setting weather to periodicale prune the cache if it grows too big - Default is enabled, when caching is enabled + Get a parcels LocalID + Simulator parcel is in + Vector3 position in simulator (Z not used) + 0 on failure, or parcel LocalID on success. + A call to Parcels.RequestAllSimParcels is required to populate map and + dictionary. - + - How long (in ms) between cache checks (default is 5 min.) + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - Helper class for sorting files by their last accessed time + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - Capability to load TGAs to Bitmap + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() - + - Represents a Sound Asset + Terraform (raise, lower, etc) an area or whole parcel of land + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + Height at which the terraform operation is acting at - - Initializes a new instance of an AssetSound object - - - Initializes a new instance of an AssetSound object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - + - TODO: Encodes a sound file + Sends a request to the simulator to return a list of objects owned by specific owners + Simulator local ID of parcel + Owners, Others, Etc + List containing keys of avatars objects to select; + if List is null will return Objects of type selectType + Response data is returned in the event - + - TODO: Decode a sound file + Eject and optionally ban a user from a parcel - true - - - Override the base classes AssetType + target key of avatar to eject + true to also ban target - + - Represents an LSL Text object containing a string of UTF encoded characters + Freeze or unfreeze an avatar over your land + target key to freeze + true to freeze, false to unfreeze - - A string of characters represting the script contents - - - Initializes a new AssetScriptText object - - + - Initializes a new AssetScriptText object with parameters + Abandon a parcel of land - A unique specific to this asset - A byte array containing the raw asset data + Simulator parcel is in + Simulator local ID of parcel - + - Encode a string containing the scripts contents into byte encoded AssetData + Requests the UUID of the parcel in a remote region at a specified location + Location of the parcel in the remote region + Remote region handle + Remote region UUID + If successful UUID of the remote parcel, UUID.Zero otherwise - + - Decode a byte array containing the scripts contents into a string + Retrieves information on resources used by the parcel - true if decoding is successful + UUID of the parcel + Should per object resource usage be requested + Callback invoked when the request is complete - - Override the base classes AssetType + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - Represents a Landmark with RegionID and Position vector - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - UUID of the Landmark target region + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Local position of the target + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - Construct an Asset of type Landmark + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - - - Construct an Asset object of type Landmark - - A unique specific to this asset - A byte array containing the raw asset data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Encode the raw contents of a string with the specific Landmark format - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event - + + Contains a parcels dwell data returned from the simulator in response to an + + - Decode the raw asset data, populating the RegionID and Position + Construct a new instance of the ParcelDwellReplyEventArgs class - true if the AssetData was successfully decoded to a UUID and Vector + The global ID of the parcel + The simulator specific ID of the parcel + The calculated dwell for the parcel + + + Get the global ID of the parcel + + + Get the simulator specific ID of the parcel + + + Get the calculated dwell - - Override the base classes AssetType + + Contains basic parcel information data returned from the + simulator in response to an request - + - Represents an that can be worn on an avatar - such as a Shirt, Pants, etc. + Construct a new instance of the ParcelInfoReplyEventArgs class + The object containing basic parcel info - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + Get the object containing basic parcel info - - Override the base classes AssetType + + Contains basic parcel information data returned from the simulator in response to an request - + - Main class to expose grid functionality to clients. All of the - classes needed for sending and receiving data are accessible through - this class. + Construct a new instance of the ParcelPropertiesEventArgs class - - - // Example minimum code required to instantiate class and - // connect to a simulator. - using System; - using System.Collections.Generic; - using System.Text; - using OpenMetaverse; - - namespace FirstBot - { - class Bot - { - public static GridClient Client; - static void Main(string[] args) - { - Client = new GridClient(); // instantiates the GridClient class - // to the global Client object - // Login to Simulator - Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); - // Wait for a Keypress - Console.ReadLine(); - // Logout of simulator - Client.Network.Logout(); - } - } - } - - + The object containing the details + The object containing the details + The result of the request + The number of primitieves your agent is + currently selecting and or sitting on in this parcel + The user assigned ID used to correlate a request with + these results + TODO: - - Networking subsystem + + Get the simulator the parcel is located in - - Settings class including constant values and changeable - parameters for everything + + Get the object containing the details + If Result is NoData, this object will not contain valid data - - Parcel (subdivided simulator lots) subsystem + + Get the result of the request - - Our own avatars subsystem + + Get the number of primitieves your agent is + currently selecting and or sitting on in this parcel - - Other avatars subsystem + + Get the user assigned ID used to correlate a request with + these results - - Estate subsystem + + TODO: - - Friends list subsystem + + Contains blacklist and whitelist data returned from the simulator in response to an request - - Grid (aka simulator group) subsystem + + + Construct a new instance of the ParcelAccessListReplyEventArgs class + + The simulator the parcel is located in + The user assigned ID used to correlate a request with + these results + The simulator specific ID of the parcel + TODO: + The list containing the white/blacklisted agents for the parcel - - Object subsystem + + Get the simulator the parcel is located in - - Group subsystem + + Get the user assigned ID used to correlate a request with + these results - - Asset subsystem + + Get the simulator specific ID of the parcel - - Appearance subsystem + + TODO: - - Inventory subsystem + + Get the list containing the white/blacklisted agents for the parcel - - Directory searches including classifieds, people, land - sales, etc + + Contains blacklist and whitelist data returned from the + simulator in response to an request - - Handles land, wind, and cloud heightmaps + + + Construct a new instance of the ParcelObjectOwnersReplyEventArgs class + + The simulator the parcel is located in + The list containing prim ownership counts - - Handles sound-related networking + + Get the simulator the parcel is located in - - Throttling total bandwidth usage, or allocating bandwidth - for specific data stream types + + Get the list containing prim ownership counts - - - Default constructor - + + Contains the data returned when all parcel data has been retrieved from a simulator - + - Return the full name of this instance + Construct a new instance of the SimParcelsDownloadedEventArgs class - Client avatars full name + The simulator the parcel data was retrieved from + The dictionary containing the parcel data + The multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - - Attempts to convert an LLSD structure to a known Packet type - - Event name, this must match an actual - packet name for a Packet to be successfully built - LLSD to convert to a Packet - A Packet on success, otherwise null + + Get the simulator the parcel data was retrieved from - - - Image width - + + A dictionary containing the parcel data where the key correlates to the ParcelMap entry - - - Image height - + + Get the multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. - - - Image channel flags - + + Contains the data returned when a request - + - Red channel data + Construct a new instance of the ForceSelectObjectsReplyEventArgs class + The simulator the parcel data was retrieved from + The list of primitive IDs + true if the list is clean and contains the information + only for a given request - - - Green channel data - + + Get the simulator the parcel data was retrieved from - - - Blue channel data - + + Get the list of primitive IDs - - - Alpha channel data - + + true if the list is clean and contains the information + only for a given request - - - Bump channel data - + + Contains data when the media data for a parcel the avatar is on changes - + - Create a new blank image + Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - width - height - channel flags + the simulator the parcel media data was updated in + The updated media information - - - - - + + Get the simulator the parcel media data was updated in - - - Convert the channels in the image. Channels are created or destroyed as required. - - new channel flags + + Get the updated media information - + + Contains the media command for a parcel the agent is currently on + + - Resize or stretch the image using nearest neighbor (ugly) resampling + Construct a new instance of the ParcelMediaCommandEventArgs class - new width - new height + The simulator the parcel media command was issued in + + + + + The media command that was sent + + - + + Get the simulator the parcel media command was issued in + + - Create a byte array containing 32-bit RGBA data with a bottom-left - origin, suitable for feeding directly into OpenGL - A byte array containing raw texture data - + - Represents a texture - - A object containing image data - - - - - - + + Get the media command that was sent - - Initializes a new instance of an AssetTexture object + + + - + - Initializes a new instance of an AssetTexture object - A unique specific to this asset - A byte array containing the raw asset data - + - Initializes a new instance of an AssetTexture object - A object containing texture data - + - Populates the byte array with a JPEG2000 - encoded image created from the data in - + - Decodes the JPEG2000 data in AssetData to the - object - True if the decoding was successful, otherwise false - + - Decodes the begin and end byte positions for each quality layer in - the image - - - - Override the base classes AssetType - + - Temporary code to do the bare minimum required to read a tar archive for our purposes - + - Binary reader for the underlying stream - + - Used to trim off null chars - + - Used to trim off space chars - + - Generate a tar reader which reads from the given stream. - - + - Read the next entry in the tar file. - - - the data for the entry. Returns null if there are no more entries - + - Read the next 512 byte chunk of data as a tar header. - A tar header struct. null if we have reached the end of the archive. - + - Read data following a header - - - + - Convert octal bytes to a decimal representation - - - - - - - X position of this patch - - - Y position of this patch - - - A 16x16 array of floats holding decompressed layer data - + - Creates a LayerData packet for compressed land data given a full - simulator heightmap and an array of indices of patches to compress - A 256 * 256 array of floating point values - specifying the height at each meter in the simulator - Array of indexes in the 16x16 grid of patches - for this simulator. For example if 1 and 17 are specified, patches - x=1,y=0 and x=1,y=1 are sent - - + - Add a patch of terrain to a BitPacker - BitPacker to write the patch to - Heightmap of the simulator, must be a 256 * - 256 float array - X offset of the patch to create, valid values are - from 0 to 15 - Y offset of the patch to create, valid values are - from 0 to 15 - + - - - No report - - - Unknown report type - - - Bug report - - - Complaint report - - - Customer service report - - + - Bitflag field for ObjectUpdateCompressed data blocks, describing - which options are present for each object - - Unknown - - - Whether the object has a TreeSpecies - - - Whether the object has floating text ala llSetText - - - Whether the object has an active particle system - - - Whether the object has sound attached to it - - - Whether the object is attached to a root object or not - - - Whether the object has texture animation settings - - - Whether the object has an angular velocity - - - Whether the object has a name value pairs string - - - Whether the object has a Media URL set - - + - Specific Flags for MultipleObjectUpdate requests - - None - - - Change position of prims - - - Change rotation of prims - - - Change size of prims - - - Perform operation on link set - - - Scale prims uniformly, same as selecing ctrl+shift in the - viewer. Used in conjunction with Scale - - + - Special values in PayPriceReply. If the price is not one of these - literal value of the price should be use - + - Indicates that this pay option should be hidden - + - Indicates that this pay option should have the default value - + - Contains the variables sent in an object update packet for objects. - Used to track position and movement of prims and avatars - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - Handles all network traffic related to prims and avatar positions and - movement. - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Raises the ObjectProperties Event - A ObjectPropertiesEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the ObjectPropertiesUpdated Event - A ObjectPropertiesUpdatedEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the ObjectPropertiesFamily Event - A ObjectPropertiesFamilyEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the AvatarUpdate Event - A AvatarUpdateEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Thread sync lock object + + + + + + + - - The event subscribers, null of no subscribers + + + - - Raises the ObjectDataBlockUpdate Event - A ObjectDataBlockUpdateEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the KillObject Event - A KillObjectEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + + + + + - - The event subscribers, null of no subscribers + + + - - Raises the AvatarSitChanged Event - A AvatarSitChangedEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the PayPriceReply Event - A PayPriceReplyEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - Reference to the GridClient object + + + - - Does periodic dead reckoning calculation to convert - velocity and acceleration to new positions for objects + + + - + - Construct a new instance of the ObjectManager class - A reference to the instance + + + + - + - Request information for a single object from a - you are currently connected to - The the object is located - The Local ID of the object - + - Request information for multiple objects contained in - the same simulator - The the objects are located - An array containing the Local IDs of the objects - - - Attempt to purchase an original object, a copy, or the contents of - an object - - The the object is located - The Local ID of the object - Whether the original, a copy, or the object - contents are on sale. This is used for verification, if the this - sale type is not valid for the object the purchase will fail - Price of the object. This is used for - verification, if it does not match the actual price the purchase - will fail - Group ID that will be associated with the new - purchase - Inventory folder UUID where the object or objects - purchased should be placed - - - BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, - 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); - - + + + - + - Request prices that should be displayed in pay dialog. This will triggger the simulator - to send us back a PayPriceReply which can be handled by OnPayPriceReply event - The the object is located - The ID of the object - The result is raised in the event - + - Select a single object. This will cause the to send us - an which will raise the event - The the object is located - The Local ID of the object - - + - Select a single object. This will cause the to send us - an which will raise the event - The the object is located - The Local ID of the object - if true, a call to is - made immediately following the request - + + + + - + - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - Should objects be deselected immediately after selection - + + + + + - + - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - +
+ + + + + +
- + - Update the properties of an object - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on - + - Sets the sale properties of a single object - The the object is located - The Local ID of the object - One of the options from the enum - The price of the object + + + + - + - Sets the sale properties of multiple objects - - The the objects are located - An array containing the Local IDs of the objects - One of the options from the enum - The price of the object +
+ + + +
- + - Deselect a single object - The the object is located - The Local ID of the object + + - + - Deselect multiple objects. + Class for controlling various system settings. - The the objects are located - An array containing the Local IDs of the objects + Some values are readonly because they affect things that + happen when the GridClient object is initialized, so changing them at + runtime won't do any good. Non-readonly values may affect things that + happen at login or dynamically - + + Constructor + Reference to a GridClient object + + + Main grid login server + + + Beta grid login server + + - Perform a click action on an object + InventoryManager requests inventory information on login, + GridClient initializes an Inventory store for main inventory. - The the object is located - The Local ID of the object - + - Perform a click action (Grab) on a single object + InventoryManager requests library information on login, + GridClient initializes an Inventory store for the library. - The the object is located - The Local ID of the object - The texture coordinates to touch - The surface coordinates to touch - The face of the position to touch - The region coordinates of the position to touch - The surface normal of the position to touch (A normal is a vector perpindicular to the surface) - The surface binormal of the position to touch (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + + Number of milliseconds between sending pings to each sim + + + Number of milliseconds between sending camera updates + + + Number of milliseconds between updating the current + positions of moving, non-accelerating and non-colliding objects + + + Millisecond interval between ticks, where all ACKs are + sent out and the age of unACKed packets is checked + + + The initial size of the packet inbox, where packets are + stored before processing + + + Maximum size of packet that we want to send over the wire + + + The maximum value of a packet sequence number before it + rolls over back to one + + + The maximum size of the sequence number archive, used to + check for resent and/or duplicate packets + + + The relative directory where external resources are kept + + + Login server to connect to + + + IP Address the client will bind to + + + Use XML-RPC Login or LLSD Login, default is XML-RPC Login + + + Number of milliseconds before an asset transfer will time + out + + + Number of milliseconds before a teleport attempt will time + out + + + Number of milliseconds before NetworkManager.Logout() will + time out + + + Number of milliseconds before a CAPS call will time out + Setting this too low will cause web requests time out and + possibly retry repeatedly + + + Number of milliseconds for xml-rpc to timeout + + + Milliseconds before a packet is assumed lost and resent + + + Milliseconds without receiving a packet before the + connection to a simulator is assumed lost + + + Milliseconds to wait for a simulator info request through + the grid interface + + + Maximum number of queued ACKs to be sent before SendAcks() + is forced + + + Network stats queue length (seconds) + + + Enable/disable storing terrain heightmaps in the + TerrainManager - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Specify the - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties + + Enable/disable sending periodic camera updates - - - Rez a Linden tree - - A reference to the object where the object resides - The size of the tree - The rotation of the tree - The position of the tree - The Type of tree - The of the group to set the tree to, - or UUID.Zero if no group is to be set - true to use the "new" Linden trees, false to use the old + + Enable/disable automatically setting agent appearance at + login and after sim crossing - - - Rez grass and ground cover - - A reference to the object where the object resides - The size of the grass - The rotation of the grass - The position of the grass - The type of grass from the enum - The of the group to set the tree to, - or UUID.Zero if no group is to be set + + Enable/disable automatically setting the bandwidth throttle + after connecting to each simulator + The default throttle uses the equivalent of the maximum + bandwidth setting in the official client. If you do not set a + throttle your connection will by default be throttled well below + the minimum values and you may experience connection problems - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply + + Enable/disable the sending of pings to monitor lag and + packet loss - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - A media URL (not used) + + Should we connect to multiple sims? This will allow + viewing in to neighboring simulators and sim crossings + (Experimental) - - - Set the Light data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + If true, all object update packets will be decoded in to + native objects. If false, only updates for our own agent will be + decoded. Registering an event handler will force objects for that + type to always be decoded. If this is disabled the object tracking + will have missing or partial prim and avatar information - - - Set the flexible data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + If true, when a cached object check is received from the + server the full object info will automatically be requested - - - Set the sculptie texture and data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set + + Whether to establish connections to HTTP capabilities + servers for simulators - - - Unset additional primitive parameters on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The extra parameters to set + + Whether to decode sim stats - - - Link multiple prims into a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to link - The last object in the array will be the root object of the linkset TODO: Is this true? + + The capabilities servers are currently designed to + periodically return a 502 error which signals for the client to + re-establish a connection. Set this to true to log those 502 errors - - - Delink/Unlink multiple prims from a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to delink + + If true, any reference received for a folder or item + the library is not aware of will automatically be fetched - - - Change the rotation of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation of the object + + If true, and SEND_AGENT_UPDATES is true, + AgentUpdate packets will continuously be sent out to give the bot + smoother movement and autopiloting - - - Set the name of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new name of the object + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectAvatars. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - - Set the name of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the name of - An array which contains the new names of the objects + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectPrimitives. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received - - - Set the description of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new description of the object + + If true, position and velocity will periodically be + interpolated (extrapolated, technically) for objects and + avatars that are being tracked by the library. This is + necessary to increase the accuracy of speed and position + estimates for simulated objects - + - Set the descriptions of multiple objects + If true, utilization statistics will be tracked. There is a minor penalty + in CPU time for enabling this option. - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the description of - An array which contains the new descriptions of the objects - - - Attach an object to this avatar - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The point on the avatar the object will be attached - The rotation of the attached object + + If true, parcel details will be stored in the + Simulator.Parcels dictionary as they are received - + - Drop an attached object from this avatar + If true, an incoming parcel properties reply will automatically send + a request for the parcel access list - A reference to the - object where the objects reside. This will always be the simulator the avatar is currently in - - The object's ID which is local to the simulator the object is in - + - Detach an object from yourself + if true, an incoming parcel properties reply will automatically send + a request for the traffic count. - A reference to the - object where the objects reside - - This will always be the simulator the avatar is currently in - - An array which contains the IDs of the objects to detach - + - Change the position of an object, Will change position of entire linkset + If true, images, and other assets downloaded from the server + will be cached in a local directory - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - - - Change the position of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - if true, will change position of (this) child prim only, not entire linkset + + Path to store cached texture data - - - Change the Scale (size) of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change scale of this prim only, not entire linkset - True to resize prims uniformly + + Maximum size cached files are allowed to take on disk (bytes) - - - Change the Rotation of an object that is either a child or a whole linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change rotation of this prim only, not entire linkset + + Default color used for viewer particle effects - - - Send a Multiple Object Update packet to change the size, scale or rotation of a primitive - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation, size, or position of the target object - The flags from the Enum + + Maximum number of times to resend a failed packet - - - Deed an object (prim) to a group, Object must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The of the group to deed the object to + + Throttle outgoing packet rate - - - Deed multiple objects (prims) to a group, Objects must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - An array which contains the IDs of the objects to deed - The of the group to deed the object to + + UUID of a texture used by some viewers to indentify type of client used - + - Set the permissions on multiple objects + Download textures using GetTexture capability when available - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the permissions on - The new Who mask to set - The new Permissions mark to set - TODO: What does this do? - - - Request additional properties for an object - - A reference to the object where the object resides - + + The maximum number of concurrent texture downloads allowed + Increasing this number will not necessarily increase texture retrieval times due to + simulator throttles - + - Request additional properties for an object + The Refresh timer inteval is used to set the delay between checks for stalled texture downloads - A reference to the object where the object resides - Absolute UUID of the object - Whether to require server acknowledgement of this request + This is a static variable which applies to all instances - + - Set the ownership of a list of objects to the specified group + Textures taking longer than this value will be flagged as timed out and removed from the pipeline - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the group id on - The Groups ID - + - Update current URL of the previously set prim media + Get or set the minimum log level to output to the console by default + If the library is not compiled with DEBUG defined and this level is set to DEBUG + You will get no output on the console. This behavior can be overriden by creating + a logger configuration file for log4net - UUID of the prim - Set current URL to this - Prim face number - Simulator in which prim is located - - - Set object media - - UUID of the prim - Array the length of prims number of faces. Null on face indexes where there is - no media, on faces which contain the media - Simulatior in which prim is located + + Attach avatar names to log messages - - - Retrieve information about object media - - UUID of the primitive - Simulator where prim is located - Call this callback when done + + Log packet retransmission info - + + Cost of uploading an asset + Read-only since this value is dynamically fetched at login + + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + - A terse object update, used when a transformation matrix or - velocity/acceleration for an object changes but nothing else - (scale/position/rotation/acceleration/velocity) + Simulator (region) properties - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + No flags set - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Agents can take damage and be killed - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Landmarks can be created here - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Home position can be set in this sim - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Home position is reset when an agent teleports away - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Sun does not move - - - Setup construction data for a basic primitive shape - - Primitive shape to construct - Construction data that can be plugged into a + + No object, land, etc. taxes - - - - - - - - + + Disable heightmap alterations (agents can still plant + foliage) - - - - - - + + Land cannot be released, sold, or purchased - - - Set the Shape data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - Data describing the prim shape + + All content is wiped nightly - - - Set the Material data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new material of the object + + Unknown: Related to the availability of an overview world map tile.(Think mainland images when zoomed out.) - - - - - - - - + + Unknown: Related to region debug flags. Possibly to skip processing of agent interaction with world. - - - - - - - - + + Region does not update agent prim interest lists. Internal debugging option. - - Raised when the simulator sends us data containing - A , Foliage or Attachment - - + + No collision detection for non-agent objects - - Raised when the simulator sends us data containing - additional information - - + + No scripts are ran - - Raised when the simulator sends us data containing - Primitive.ObjectProperties for an object we are currently tracking + + All physics processing is turned off - - Raised when the simulator sends us data containing - additional and details - + + Region can be seen from other regions on world map. (Legacy world map option?) - - Raised when the simulator sends us data containing - updated information for an + + Region can be seen from mainland on world map. (Legacy world map option?) - - Raised when the simulator sends us data containing - and movement changes + + Agents not explicitly on the access list can visit the region. - - Raised when the simulator sends us data containing - updates to an Objects DataBlock + + Traffic calculations are not run across entire region, overrides parcel settings. - - Raised when the simulator informs us an - or is no longer within view + + Flight is disabled (not currently enforced by the sim) - - Raised when the simulator sends us data containing - updated sit information for our + + Allow direct (p2p) teleporting - - Raised when the simulator sends us data containing - purchase price information for a + + Estate owner has temporarily disabled scripting - - - Callback for getting object media data via CAP - - Indicates if the operation was succesfull - Object media version string - Array indexed on prim face of media entry data + + Restricts the usage of the LSL llPushObject function, applies to whole region. - - Provides data for the event - The event occurs when the simulator sends - an containing a Primitive, Foliage or Attachment data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or - if an Avatar crosses the border into a new simulator and returns to the current simulator - - - The following code example uses the , , and - properties to display new Primitives and Attachments on the window. - - // Subscribe to the event that gives us prim and foliage information - Client.Objects.ObjectUpdate += Objects_ObjectUpdate; - - - private void Objects_ObjectUpdate(object sender, PrimEventArgs e) - { - Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); - } - - - - - + + Deny agents with no payment info on file - + + Deny agents with payment info on file + + + Deny agents who have made a monetary transaction + + + Parcels within the region may be joined or divided by anyone, not just estate owners/managers. + + + Abuse reports sent from within this region are sent to the estate owner defined email. + + + Region is Voice Enabled + + + Removes the ability from parcel owners to set their parcels to show in search. + + + Deny agents who have not been age verified from entering the region. + + - Construct a new instance of the PrimEventArgs class + Access level for a simulator - The simulator the object originated from - The Primitive - The simulator time dilation - The prim was not in the dictionary before this update - true if the primitive represents an attachment to an agent - - Get the simulator the originated from + + Unknown or invalid access level - - Get the details + + Trial accounts allowed + + + PG rating + + + Mature rating + + + Adult rating - - true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) + + Simulator is offline - - true if the is attached to an + + Simulator does not exist - - Get the simulator Time Dilation + + + - - Provides data for the event - The event occurs when the simulator sends - an containing Avatar data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator - - - The following code example uses the property to make a request for the top picks - using the method in the class to display the names - of our own agents picks listings on the window. - - // subscribe to the AvatarUpdate event to get our information - Client.Objects.AvatarUpdate += Objects_AvatarUpdate; - Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; - - private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) - { - // we only want our own data - if (e.Avatar.LocalID == Client.Self.LocalID) - { - // Unsubscribe from the avatar update event to prevent a loop - // where we continually request the picks every time we get an update for ourselves - Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; - // make the top picks request through AvatarManager - Client.Avatars.RequestAvatarPicks(e.Avatar.ID); - } - } - - private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) - { - // we'll unsubscribe from the AvatarPicksReply event since we now have the data - // we were looking for - Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; - // loop through the dictionary and extract the names of the top picks from our profile - foreach (var pickName in e.Picks.Values) - { - Console.WriteLine(pickName); - } - } - - - - + + + + Reference to the GridClient object + IPEndPoint of the simulator + handle of the simulator - + - Construct a new instance of the AvatarUpdateEventArgs class + Simulator Statistics - The simulator the packet originated from - The data - The simulator time dilation - The avatar was not in the dictionary before this update - - Get the simulator the object originated from + + Total number of packets sent by this simulator to this agent - - Get the data + + Total number of packets received by this simulator to this agent - - Get the simulator time dilation + + Total number of bytes sent by this simulator to this agent - - true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) + + Total number of bytes received by this simulator to this agent - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment data - The event is also raised when a request is - made. - - - The following code example uses the , and - - properties to display new attachments and send a request for additional properties containing the name of the - attachment then display it on the window. - - // Subscribe to the event that provides additional primitive details - Client.Objects.ObjectProperties += Objects_ObjectProperties; - - // handle the properties data that arrives - private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) - { - Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); - } - - + + Time in seconds agent has been connected to simulator - - - Construct a new instance of the ObjectPropertiesEventArgs class - - The simulator the object is located - The primitive Properties + + Total number of packets that have been resent - - Get the simulator the object is located + + Total number of resent packets recieved - - Get the primitive properties + + Total number of pings sent to this simulator by this agent - - Provides additional primitive data for the event - The event occurs when the simulator sends - an containing additional details for a Primitive or Foliage data that is currently - being tracked in the dictionary - The event is also raised when a request is - made and is enabled - + + Total number of ping replies sent to this agent by this simulator - + - Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class - - The simulator the object is located - The Primitive - The primitive Properties + Incoming bytes per second +
+ It would be nice to have this claculated on the fly, but + this is far, far easier
- - Get the simulator the object is located + + + Outgoing bytes per second + + It would be nice to have this claculated on the fly, but + this is far, far easier - - Get the primitive details + + Time last ping was sent - - Get the primitive properties + + ID of last Ping sent - - Provides additional primitive data, permissions and sale info for the event - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment. This includes - Permissions, Sale info, and other basic details on an object - The event is also raised when a request is - made, the viewer equivalent is hovering the mouse cursor over an object - + + + - - Get the simulator the object is located + + + - - + + Current time dilation of this simulator - - + + Current Frames per second of simulator - - Provides primitive data containing updated location, velocity, rotation, textures for the event - The event occurs when the simulator sends updated location, velocity, rotation, etc - + + Current Physics frames per second of simulator - - Get the simulator the object is located + + + - - Get the primitive details + + + - - + + + - - + + + - + - - - Get the simulator the object is located + + + - - Get the primitive details + + + - - + + + - - + + Total number of objects Simulator is simulating - - + + Total number of Active (Scripted) objects running - - + + Number of agents currently in this simulator - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event + + Number of agents in neighbor simulators - - Get the simulator the object is located + + Number of Active scripts running in this simulator - - The LocalID of the object + + + - + - Provides updates sit position data - - Get the simulator the object is located + + + - - + + Number of downloads pending - - + + Number of uploads pending - - + + + - + - - - Get the simulator the object is located + + Number of local uploads pending - - + + Unacknowledged bytes in queue - - + + A public reference to the client that this Simulator object + is attached to - - + + A Unique Cache identifier for this simulator - - - Indicates if the operation was successful - + + The capabilities for this simulator - + - Media version string - + + The current version of software this simulator is running + + - Array of media entries indexed by face number - + + A 64x64 grid of parcel coloring values. The values stored + in this array are of the type + + - - + - - - + - De-serialization constructor for the InventoryNode Class - + - Serialization handler for the InventoryNode Class - + - De-serialization handler for the InventoryNode Class - + - - - - - - - - - - - - - - - + - For inventory folder nodes specifies weather the folder needs to be - refreshed from the server - + - - - The avatar has no rights - - - The avatar can see the online status of the target avatar + + + - - The avatar can see the location of the target avatar on the map + + + - - The avatar can modify the ojects of the target avatar + + + - + - This class holds information about an avatar in the friends list. There are two ways - to interface to this class. The first is through the set of boolean properties. This is the typical - way clients of this class will use it. The second interface is through two bitflag properties, - TheirFriendsRights and MyFriendsRights - + - Used internally when building the initial list of friends at login time - System ID of the avatar being prepesented - Rights the friend has to see you online and to modify your objects - Rights you have to see your friend online and to modify their objects - + - FriendInfo represented as a string - A string reprentation of both my rights and my friends rights - + - System ID of the avatar - + - full name of the avatar - + - True if the avatar is online - + - True if the friend can see if I am online - + - True if the friend can see me on the map - + + true if your agent has Estate Manager rights on this region + + - True if the freind can modify my objects - + - True if I can see if my friend is online - + - True if I can see if my friend is on the map - + + Statistics information for this simulator and the + connection to the simulator, calculated by the simulator itself + and the library + + + The regions Unique ID + + + The physical data center the simulator is located + Known values are: + DallasChandlerSF + + + The CPU Class of the simulator + Most full mainland/estate sims appear to be 5, + Homesteads and Openspace appear to be 501 + + + The number of regions sharing the same CPU as this one + "Full Sims" appear to be 1, Homesteads appear to be 4 + + + The billing product name + Known values are: + Mainland / Full Region (Sku: 023)Estate / Full Region (Sku: 024)Estate / Openspace (Sku: 027)Estate / Homestead (Sku: 029)Mainland / Homestead (Sku: 129) (Linden Owned)Mainland / Linden Homes (Sku: 131) + + + The billing product SKU + Known values are: + 023 Mainland / Full Region024 Estate / Full Region027 Estate / Openspace029 Estate / Homestead129 Mainland / Homestead (Linden Owned)131 Linden Homes / Full Region + + + The current sequence number for packets sent to this + simulator. Must be Interlocked before modifying. Only + useful for applications manipulating sequence numbers + + - True if I can modify my friend's objects + A thread-safe dictionary containing avatars in a simulator - + - My friend's rights represented as bitmapped flags + A thread-safe dictionary containing primitives in a simulator - + - My rights represented as bitmapped flags + Provides access to an internal thread-safe dictionary containing parcel + information found in this simulator - + - This class is used to add and remove avatars from your friends list and to manage their permission. + Is it safe to send agent updates to this sim + AgentMovementComplete message received - - The event subscribers. null if no subcribers + + Used internally to track sim disconnections - - Raises the FriendOnline event - A FriendInfoEventArgs object containing the - data returned from the data server + + Event that is triggered when the simulator successfully + establishes a connection - - Thread sync lock object + + Whether this sim is currently connected or not. Hooked up + to the property Connected - - The event subscribers. null if no subcribers + + Coarse locations of avatars in this simulator - - Raises the FriendOffline event - A FriendInfoEventArgs object containing the - data returned from the data server + + AvatarPositions key representing TrackAgent target - - Thread sync lock object + + Sequence numbers of packets we've received + (for duplicate checking) - - The event subscribers. null if no subcribers + + Packets we sent out that need ACKs from the simulator - - Raises the FriendRightsUpdate event - A FriendInfoEventArgs object containing the - data returned from the data server + + Sequence number for pause/resume - - Thread sync lock object + + Indicates if UDP connection to the sim is fully established - - The event subscribers. null if no subcribers + + + Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + - - Raises the FriendNames event - A FriendNamesEventArgs object containing the - data returned from the data server + + The IP address and port of the server - - Thread sync lock object + + Whether there is a working connection to the simulator or + not - - The event subscribers. null if no subcribers + + Coarse locations of avatars in this simulator - - Raises the FriendshipOffered event - A FriendshipOfferedEventArgs object containing the - data returned from the data server + + AvatarPositions key representing TrackAgent target - - Thread sync lock object + + Indicates if UDP connection to the sim is fully established - - The event subscribers. null if no subcribers + + + Checks simulator parcel map to make sure it has downloaded all data successfully + + true if map is full (contains no 0's) - - Raises the FriendshipResponse event - A FriendshipResponseEventArgs object containing the - data returned from the data server + + + Called when this Simulator object is being destroyed + - - Thread sync lock object + + + Attempt to connect to this simulator + + Whether to move our agent in to this sim or not + True if the connection succeeded or connection status is + unknown, false if there was a failure - - The event subscribers. null if no subcribers + + + Initiates connection to the simulator + + Should we block until ack for this packet is recieved - - Raises the FriendshipTerminated event - A FriendshipTerminatedEventArgs object containing the - data returned from the data server + + + Disconnect from this simulator + - - Thread sync lock object + + + Instructs the simulator to stop sending update (and possibly other) packets + - - The event subscribers. null if no subcribers + + + Instructs the simulator to resume sending update packets (unpause) + - - Raises the FriendFoundReply event - A FriendFoundReplyEventArgs object containing the - data returned from the data server + + + Retrieve the terrain height at a given coordinate + + Sim X coordinate, valid range is from 0 to 255 + Sim Y coordinate, valid range is from 0 to 255 + The terrain height at the given point if the + lookup was successful, otherwise 0.0f + True if the lookup was successful, otherwise false - - Thread sync lock object + + + Sends a packet + + Packet to be sent - + - A dictionary of key/value pairs containing known friends of this avatar. - - The Key is the of the friend, the value is a - object that contains detailed information including permissions you have and have given to the friend - + - A Dictionary of key/value pairs containing current pending frienship offers. - - The key is the of the avatar making the request, - the value is the of the request which is used to accept - or decline the friendship offer + Returns Simulator Name as a String + + - + - Internal constructor - A reference to the GridClient Object + + - + - Accept a friendship request - agentID of avatatar to form friendship with - imSessionID of the friendship request message + + + + - + - Decline a friendship request + Sends out pending acknowledgements - of friend - imSessionID of the friendship request message + Number of ACKs sent - + - Overload: Offer friendship to an avatar. + Resend unacknowledged packets - System ID of the avatar you are offering friendship to - + - Offer friendship to an avatar. - System ID of the avatar you are offering friendship to - A message to send with the request - + - Terminate a friendship with an avatar + Construct a new instance of the SoundManager class, used for playing and receiving + sound assets - System ID of the avatar you are terminating the friendship with + A reference to the current GridClient instance - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + The event subscribers, null of no subscribers - + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + Raised when the simulator sends us data containing + sound + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raises the AttachedSound Event + A AttachedSoundEventArgs object containing + the data sent from the simulator + + + Raises the AttachedSoundGainChange Event + A AttachedSoundGainChangeEventArgs object containing + the data sent from the simulator + + + Raises the SoundTrigger Event + A SoundTriggerEventArgs object containing + the data sent from the simulator + + + Raises the PreloadSound Event + A PreloadSoundEventArgs object containing + the data sent from the simulator + + - Change the rights of a friend avatar. + Plays a sound in the current region at full volume from avatar position - the of the friend - the new rights to give the friend - This method will implicitly set the rights to those passed in the rights parameter. + UUID of the sound to be played - + - Use to map a friends location on the grid. + Plays a sound in the current region at full volume - Friends UUID to find - + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. - + - Use to track a friends movement on the grid + Plays a sound in the current region - Friends Key + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - + - Ask for a notification of friend's online status + Plays a sound in the specified sim - Friend's UUID + UUID of the sound to be played. + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - + - This handles the asynchronous response of a RequestAvatarNames call. + Play a sound asset - - names cooresponding to the the list of IDs sent the the RequestAvatarNames call. + UUID of the sound to be played. + handle id for the sim to be played in. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + + Provides data for the event + The event occurs when the simulator sends + the sound data which emits from an agents attachment + + The following code example shows the process to subscribe to the event + and a stub to handle the data passed from the simulator + + // Subscribe to the AttachedSound event + Client.Sound.AttachedSound += Sound_AttachedSound; + // process the data raised in the event here + private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) + { + // ... Process AttachedSoundEventArgs here ... + } + + + - Populate FriendList with data from the login reply + Construct a new instance of the SoundTriggerEventArgs class - true if login was successful - true if login request is requiring a redirect - A string containing the response to the login request - A string containing the reason for the request - A object containing the decoded - reply from the login server + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The volume level + The - - Raised when the simulator sends notification one of the members in our friends list comes online + + Simulator where the event originated - - Raised when the simulator sends notification one of the members in our friends list goes offline + + Get the sound asset id - - Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions + + Get the ID of the owner - - Raised when the simulator sends us the names on our friends list + + Get the ID of the Object + + + Get the volume level + + + Get the + + + Provides data for the event + The event occurs when an attached sound + changes its volume level + + + + Construct a new instance of the AttachedSoundGainChangedEventArgs class + + Simulator where the event originated + The ID of the Object + The new volume level + + + Simulator where the event originated + + + Get the ID of the Object + + + Get the volume level + + + Provides data for the event + + The event occurs when the simulator forwards + a request made by yourself or another agent to play either an asset sound or a built in sound + Requests to play sounds where the is not one of the built-in + will require sending a request to download the sound asset before it can be played + + + The following code example uses the , + and + properties to display some information on a sound request on the window. + + // subscribe to the event + Client.Sound.SoundTrigger += Sound_SoundTrigger; + // play the pre-defined BELL_TING sound + Client.Sound.SendSoundTrigger(Sounds.BELL_TING); + // handle the response data + private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) + { + Console.WriteLine("{0} played the sound {1} at volume {2}", + e.OwnerID, e.SoundID, e.Gain); + } + + + + + Construct a new instance of the SoundTriggerEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The ID of the objects parent + The volume level + The regionhandle + The source position + + + Simulator where the event originated + + + Get the sound asset id + + + Get the ID of the owner + + + Get the ID of the Object + + + Get the ID of the objects parent + + + Get the volume level + + + Get the regionhandle + + + Get the source position + + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + + + + Construct a new instance of the PreloadSoundEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object - - Raised when the simulator sends notification another agent is offering us friendship + + Simulator where the event originated - - Raised when a request we sent to friend another agent is accepted or declined + + Get the sound asset id - - Raised when the simulator sends notification one of the members in our friends list has terminated - our friendship + + Get the ID of the owner - - Raised when the simulator sends the location of a friend we have - requested map location info for + + Get the ID of the Object - - Contains information on a member of our friends list + + + pre-defined built in sounds + - + - Construct a new instance of the FriendInfoEventArgs class - The FriendInfo - - Get the FriendInfo + + + - - Contains Friend Names + + + - + - Construct a new instance of the FriendNamesEventArgs class - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name + + + - - Sent when another agent requests a friendship with our agent + + + - + - Construct a new instance of the FriendshipOfferedEventArgs class - The ID of the agent requesting friendship - The name of the agent requesting friendship - The ID of the session, used in accepting or declining the - friendship offer - - Get the ID of the agent requesting friendship + + + - - Get the name of the agent requesting friendship + + coins - - Get the ID of the session, used in accepting or declining the - friendship offer + + cash register bell - - A response containing the results of our request to form a friendship with another agent + + + - + - Construct a new instance of the FriendShipResponseEventArgs class - The ID of the agent we requested a friendship with - The name of the agent we requested a friendship with - true if the agent accepted our friendship offer - - Get the ID of the agent we requested a friendship with + + rubber - - Get the name of the agent we requested a friendship with + + plastic - - true if the agent accepted our friendship offer + + flesh - - Contains data sent when a friend terminates a friendship with us + + wood splintering? - - - Construct a new instance of the FrindshipTerminatedEventArgs class - - The ID of the friend who terminated the friendship with us - The name of the friend who terminated the friendship with us + + glass break - - Get the ID of the agent that terminated the friendship with us + + metal clunk - - Get the name of the agent that terminated the friendship with us + + whoosh - - - Data sent in response to a request which contains the information to allow us to map the friends location - + + shake - + - Construct a new instance of the FriendFoundReplyEventArgs class - The ID of the agent we have requested location information for - The region handle where our friend is located - The simulator local position our friend is located - - - Get the ID of the agent we have received location information for - - Get the region handle where our mapped friend is located + + ding - - Get the simulator local position where our friend is located + + + - + - Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. - + - Rotation Keyframe count (used internally) - + - Position Keyframe count (used internally) - + - Animation Priority - + - The animation length in seconds. - + - Expression set in the client. Null if [None] is selected - + - The time in seconds to start the animation - + - The time in seconds to end the animation - + - Loop the animation - + - Meta data. Ease in Seconds. - + - Meta data. Ease out seconds. - + - Meta Data for the Hand Pose - + - Number of joints defined in the animation - + - Contains an array of joints + A dictionary containing all pre-defined sounds + A dictionary containing the pre-defined sounds, + where the key is the sounds ID, and the value is a string + containing a name to identify the purpose of the sound - + + X position of this patch + + + Y position of this patch + + + A 16x16 array of floats holding decompressed layer data + + - Searialize an animation asset into it's joints/keyframes/meta data + Creates a LayerData packet for compressed land data given a full + simulator heightmap and an array of indices of patches to compress - + A 256 * 256 array of floating point values + specifying the height at each meter in the simulator + Array of indexes in the 16x16 grid of patches + for this simulator. For example if 1 and 17 are specified, patches + x=1,y=0 and x=1,y=1 are sent + + - + - Variable length strings seem to be null terminated in the animation asset.. but.. - use with caution, home grown. - advances the index. + Add a patch of terrain to a BitPacker - The animation asset byte array - The offset to start reading - a string + BitPacker to write the patch to + Heightmap of the simulator, must be a 256 * + 256 float array + X offset of the patch to create, valid values are + from 0 to 15 + Y offset of the patch to create, valid values are + from 0 to 15 - + - Read in a Joint from an animation asset byte array - Variable length Joint fields, yay! - Advances the index + Default constructor - animation asset byte array - Byte Offset of the start of the joint - The Joint data serialized into the binBVHJoint structure + + + + + The event subscribers. null if no subcribers + + + Thread sync lock object + + + Raised when the simulator responds sends + + + Raises the LandPatchReceived event + A LandPatchReceivedEventArgs object containing the + data returned from the simulator + + + Simulator from that sent tha data + + + Sim coordinate of the patch + + + Sim coordinate of the patch + + + Size of tha patch + + + Heightmap for the patch - + - Read Keyframes of a certain type - advance i + The current status of a texture request as it moves through the pipeline or final result of a texture request. - Animation Byte array - Offset in the Byte Array. Will be advanced - Number of Keyframes - Scaling Min to pass to the Uint16ToFloat method - Scaling Max to pass to the Uint16ToFloat method - - - - A Joint and it's associated meta data and keyframes - + + The initial state given to a request. Requests in this state + are waiting for an available slot in the pipeline - - - Name of the Joint. Matches the avatar_skeleton.xml in client distros - + + A request that has been added to the pipeline and the request packet + has been sent to the simulator - - - Joint Animation Override? Was the same as the Priority in testing.. - + + A request that has received one or more packets back from the simulator - - - Array of Rotation Keyframes in order from earliest to latest - + + A request that has received all packets back from the simulator - - - Array of Position Keyframes in order from earliest to latest - This seems to only be for the Pelvis? - + + A request that has taken longer than + to download OR the initial packet containing the packet information was never received - - - A Joint Keyframe. This is either a position or a rotation. - + + The texture request was aborted by request of the agent - - - Either a Vector3 position or a Vector3 Euler rotation - + + The simulator replied to the request that it was not able to find the requested texture - + - Poses set in the animation metadata for the hands. - + Texture request download handler, allows a configurable number of download slots which manage multiple + concurrent texture downloads from the
+ This class makes full use of the internal + system for full texture downloads.
- + - The type of bump-mapping applied to a face + Default constructor, Instantiates a new copy of the TexturePipeline class + Reference to the instantiated object - - + + + A request task containing information and status of a request as it is processed through the - - + + The current which identifies the current status of the request - - + + The Unique Request ID, This is also the Asset ID of the texture being requested - - + + The slot this request is occupying in the threadpoolSlots array - - + + The ImageType of the request. - - + + The callback to fire when the request is complete, will include + the and the + object containing the result data - - + + If true, indicates the callback will be fired whenever new data is returned from the simulator. + This is used to progressively render textures as portions of the texture are received. - - + + An object that maintains the data of an request thats in-process. - - + + A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID + and also the Asset Texture ID, and the value is an object containing the current state of the request and also + the asset data as it is being re-assembled - - + + Holds the reference to the client object - - + + Maximum concurrent texture requests allowed at a time - - + + An array of objects used to manage worker request threads - - + + An array of worker slots which shows the availablity status of the slot - - + + The primary thread which manages the requests. - - + + true if the TexturePipeline is currently running - - + + A synchronization object used by the primary thread - - + + A refresh timer used to increase the priority of stalled requests - - + + Current number of pending and in-process transfers - + - The level of shininess applied to a face + Initialize callbacks required for the TexturePipeline to operate - - - - - - - - - - - - - + - The texture mapping style used for a face + Shutdown the TexturePipeline and cleanup any callbacks or transfers - - - - - - - - - - - - - + - Flags in the TextureEntry block that describe which properties are - set + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request - - - - - - - - - - - - - - - - - + + + Sends the actual request packet to the simulator + + The image to download + Type of the image to download, either a baked + avatar texture or a normal texture + Priority level of the download. Default is + 1,013,000.0f + Number of quality layers to discard. + This controls the end marker of the data sent + Packet number to start the download at. + This controls the start marker of the data sent + Sending a priority of 0 and a discardlevel of -1 aborts + download - - + + + Cancel a pending or in process texture request + + The texture assets unique ID - - + + + Master Download Thread, Queues up downloads in the threadpool + - - + + + The worker thread that sends the request and handles timeouts + + A object containing the request details - - + + + Handle responses from the simulator that tell us a texture we have requested is unable to be located + or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use + + The sender + The EventArgs object containing the packet data - - + + + Handles the remaining Image data that did not fit in the initial ImageData packet + + The sender + The EventArgs object containing the packet data - - + + + Handle the initial ImageDataPacket sent from the simulator + + The sender + The EventArgs object containing the packet data - + - Represents an AssetScriptBinary object containing the - LSO compiled bytecode of an LSL script - - Initializes a new instance of an AssetScriptBinary object + + + Delegate to wrap another delegate and its arguments + + + + + - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + + An instance of DelegateWrapper which calls InvokeWrappedDelegate, + which in turn calls the DynamicInvoke method of the wrapped + delegate + - + - TODO: Encodes a scripts contents into a LSO Bytecode file + Callback used to call EndInvoke on the asynchronously + invoked DelegateWrapper - + - TODO: Decode LSO Bytecode into a string + Executes the specified delegate with the specified arguments + asynchronously on a thread pool thread - true + + + + - - Override the base classes AssetType + + + Invokes the wrapped delegate synchronously + + + + + - + - Temporary code to produce a tar archive in tar v7 format + Calls EndInvoke on the wrapper and Close on the resulting WaitHandle + to prevent resource leaks + + - + - Binary writer for the underlying stream - + - Write a directory entry to the tar archive. We can only handle one path level right now! + Initialize the UDP packet handler in server mode - + Port to listening for incoming UDP packets on - + - Write a file to the tar archive + Initialize the UDP packet handler in client mode - - + Remote UDP server to connect to - + - Write a file to the tar archive - - - + - Finish writing the raw tar archive data to a stream. The stream will be closed on completion. - + - Write a particular entry - - - - - + + - + + - + + @@ -16954,20 +17969,25 @@ - - - - - + + + + + + + + - - - - + + + + + + @@ -16975,6 +17995,9 @@ each block containing one or more fields + + Current length of the data in this packet + Create a block from a byte array @@ -16993,8076 +18016,8407 @@ This will point to the position directly after the end of the serialized block when the call returns - - Current length of the data in this packet - A generic value, not an actual packet type - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + - + - + - + + + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + Operation to apply when applying color to texture + - - + + + Information needed to translate visual param value to RGBA color + - - + + + Construct VisualColorParam + + Operation to apply when applying color to texture + Colors - - + + + Represents alpha blending and bump infor for a visual parameter + such as sleive length + - - + + + Create new alhpa information for a visual param + + Stregth of the alpha to apply + File containing the alpha channel + Skip blending if parameter value is 0 + Use miltiply insted of alpha blending - - + + Stregth of the alpha to apply - - + + File containing the alpha channel - - + + Skip blending if parameter value is 0 - - + + Use miltiply insted of alpha blending - - + + + A single visual characteristic of an avatar mesh, such as eyebrow height + - - + + + Set all the values through the constructor + + Index of this visual param + Internal name + + + + + Displayable label of this characteristic + Displayable label for the minimum value of this characteristic + Displayable label for the maximum value of this characteristic + Default value + Minimum value + Maximum value + Is this param used for creation of bump layer? + Array of param IDs that are drivers for this parameter + Alpha blending/bump info + Color information - - + + Index of this visual param - - + + Internal name - - + + Group ID this parameter belongs to - - + + Name of the wearable this parameter belongs to - - + + Displayable label of this characteristic - - + + Displayable label for the minimum value of this characteristic - - + + Displayable label for the maximum value of this characteristic - - + + Default value - - + + Minimum value - - + + Maximum value - - + + Is this param used for creation of bump layer? - - + + Alpha blending/bump info - - + + Color information - - + + Array of param IDs that are drivers for this parameter - - + + + Holds the Params array of all the avatar appearance parameters + - - + + + Base class for all Asset types + - - + + + Construct a new Asset object + - - + + + Construct a new Asset object + + A unique specific to this asset + A byte array containing the raw asset data - - + + A byte array containing the raw asset data - - + + True if the asset it only stored on the server temporarily - - + + A unique ID - - + + The assets unique ID - - + + + The "type" of asset, Notecard, Animation, etc + - - + + + Regenerates the AssetData byte array from the properties + of the derived class. + - - + + + Decodes the AssetData, placing it in appropriate properties of the derived + class. + + True if the asset decoding succeeded, otherwise false - - + + + Constants for the archiving module + - - + + + The location of the archive control file + - - + + + Path for the assets held in an archive + - - + + + Path for the prims file + - - + + + Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. + - - + + + Path for region settings. + - - + + + The character the separates the uuid from extension information in an archived asset filename + - - + + + Extensions used for asset types in the archive + - - + + + Archives assets + - - + + + Archive assets + - - + + + Archive the assets given to this archiver to the given archive. + + + - - + + + Write an assets metadata file to the given archive + + + - - + + + Write asset data files to the given archive + + + - - + + + Temporary code to do the bare minimum required to read a tar archive for our purposes + - - + + + Generate a tar reader which reads from the given stream. + + + - - + + + Binary reader for the underlying stream + - - + + + Used to trim off null chars + - - + + + Used to trim off space chars + - - + + + Read the next entry in the tar file. + + + + + + the data for the entry. Returns null if there are no more entries - - + + + Read the next 512 byte chunk of data as a tar header. + + A tar header struct. null if we have reached the end of the archive. - - + + + Read data following a header + + + + + - - + + + Convert octal bytes to a decimal representation + + + + + + + + + - - + + + Temporary code to produce a tar archive in tar v7 format + - - + + + Binary writer for the underlying stream + - - + + + Write a directory entry to the tar archive. We can only handle one path level right now! + + + - - + + + Write a file to the tar archive + + + + + - - + + + Write a file to the tar archive + + + + + - - + + + Finish writing the raw tar archive data to a stream. The stream will be closed on completion. + - - + + + Write a particular entry + + + + + + + - - + + + Represents an Animation + - - + + Default Constructor - - + + + Construct an Asset object of type Animation + + A unique specific to this asset + A byte array containing the raw asset data - - + + Override the base classes AssetType - - + + + Represents an that represents an avatars body ie: Hair, Etc. + - - + + Initializes a new instance of an AssetBodyPart object - - + + Initializes a new instance of an AssetBodyPart object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + Override the base classes AssetType - - + + + Represents an that can be worn on an avatar + such as a Shirt, Pants, etc. + - - + + Initializes a new instance of an AssetScriptBinary object - - + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - + + Override the base classes AssetType - - + + + Type of gesture step + - - + + + Base class for gesture steps + - - + + + Retururns what kind of gesture step this is + - - + + + Describes animation step of a gesture + - - + + + If true, this step represents start of animation, otherwise animation stop + - - + + + Animation asset - - + + + Animation inventory name + - - + + + Returns what kind of gesture step this is + - - + + + Describes sound step of a gesture + - - + + + Sound asset - - + + + Sound inventory name + - - + + + Returns what kind of gesture step this is + - - + + + Describes sound step of a gesture + - - + + + Text to output in chat + - - + + + Returns what kind of gesture step this is + - - + + + Describes sound step of a gesture + - - + + + If true in this step we wait for all animations to finish + - - + + + If true gesture player should wait for the specified amount of time + - - + + + Time in seconds to wait if WaitForAnimation is false + - - + + + Returns what kind of gesture step this is + - - + + + Describes the final step of a gesture + - - + + + Returns what kind of gesture step this is + - - + + + Represents a sequence of animations, sounds, and chat actions + - - + + + Constructs guesture asset + - - + + + Constructs guesture asset + + A unique specific to this asset + A byte array containing the raw asset data - + - Represents a single Voice Session to the Vivox service. + Keyboard key that triggers the gestyre - + - Close this session. + Modifier to the trigger key - + - Look up an existing Participants in this session + String that triggers playing of the gesture sequence - - - + - + Text that replaces trigger in chat once gesture is triggered - + - An instance of DelegateWrapper which calls InvokeWrappedDelegate, - which in turn calls the DynamicInvoke method of the wrapped - delegate + Sequence of gesture steps - + - Callback used to call EndInvoke on the asynchronously - invoked DelegateWrapper + Returns asset type - + - Executes the specified delegate with the specified arguments - asynchronously on a thread pool thread + Encodes gesture asset suitable for uplaod - - - + - Invokes the wrapped delegate synchronously + Decodes gesture assset into play sequence - - + true if the asset data was decoded successfully - + - Calls EndInvoke on the wrapper and Close on the resulting WaitHandle - to prevent resource leaks + Represents a Landmark with RegionID and Position vector - - + + Construct an Asset of type Landmark + + - Delegate to wrap another delegate and its arguments + Construct an Asset object of type Landmark - - + A unique specific to this asset + A byte array containing the raw asset data - - The event subscribers. null if no subcribers + + UUID of the Landmark target region - - Raises the LandPatchReceived event - A LandPatchReceivedEventArgs object containing the - data returned from the simulator + + Local position of the target - - Thread sync lock object + + Override the base classes AssetType - + - Default constructor + Encode the raw contents of a string with the specific Landmark format - - - Raised when the simulator responds sends + + + Decode the raw asset data, populating the RegionID and Position + + true if the AssetData was successfully decoded to a UUID and Vector - - Simulator from that sent tha data + + + Represents Mesh asset + - - Sim coordinate of the patch + + Initializes a new instance of an AssetMesh object - - Sim coordinate of the patch + + Initializes a new instance of an AssetMesh object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - Size of tha patch + + + Decoded mesh data + - - Heightmap for the patch + + Override the base classes AssetType - + - + TODO: Encodes Collada file into LLMesh format - + + + Decodes mesh asset. See + to furter decode it for rendering + true + + - + Represents a string of characters encoded with specific formatting properties - - + + Construct an Asset of type Notecard - - + + + Construct an Asset object of type Notecard + + A unique specific to this asset + A byte array containing the raw asset data - - + + A text string containing main text of the notecard - - + + List of s embedded on the notecard - - + + Override the base classes AssetType - - + + + Encode the raw contents of a string with the specific Linden Text properties + - + - + Decode the raw asset data including the Linden Text properties + true if the AssetData was successfully decoded - - Size of the byte array used to store raw packet data + + + A linkset asset, containing a parent primitive and zero or more children + - - Raw packet data buffer + + Initializes a new instance of an AssetPrim object - - Length of the data to transmit + + + Initializes a new instance of an AssetPrim object + + A unique specific to this asset + A byte array containing the raw asset data - - EndPoint of the remote host + + + Only used internally for XML serialization/deserialization + - + + Override the base classes AssetType + + - Create an allocated UDP packet buffer for receiving a packet - + - Create an allocated UDP packet buffer for sending a packet - EndPoint of the remote host + + - + - Create an allocated UDP packet buffer for sending a packet + The deserialized form of a single primitive in a linkset asset - EndPoint of the remote host - Size of the buffer to allocate for packet data - + - Object pool for packet buffers. This is used to allocate memory for all - incoming and outgoing packets, and zerocoding buffers for those packets + Represents an AssetScriptBinary object containing the + LSO compiled bytecode of an LSL script + + + + Initializes a new instance of an AssetScriptBinary object + + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + Override the base classes AssetType + + + + TODO: Encodes a scripts contents into a LSO Bytecode file - + - Initialize the object pool in client mode + TODO: Decode LSO Bytecode into a string - Server to connect to - - + true - + - Initialize the object pool in server mode + Represents an LSL Text object containing a string of UTF encoded characters - - - + + Initializes a new AssetScriptText object + + - Returns a packet buffer with EndPoint set if the buffer is in - client mode, or with EndPoint set to null in server mode + Initializes a new AssetScriptText object with parameters - Initialized UDPPacketBuffer object + A unique specific to this asset + A byte array containing the raw asset data + + + A string of characters represting the script contents + + + Override the base classes AssetType - + - Default constructor + Encode a string containing the scripts contents into byte encoded AssetData - + - Check a packet buffer out of the pool + Decode a byte array containing the scripts contents into a string - A packet buffer object + true if decoding is successful - + - Singleton logging class for the entire library + Represents a Sound Asset - - log4net logging engine + + Initializes a new instance of an AssetSound object - - - Default constructor - + + Initializes a new instance of an AssetSound object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - - Send a log message to the logging engine - - The log message - The severity of the log entry + + Override the base classes AssetType - + - Send a log message to the logging engine + TODO: Encodes a sound file - The log message - The severity of the log entry - Instance of the client - + - Send a log message to the logging engine + TODO: Decode a sound file - The log message - The severity of the log entry - Exception that was raised + true - + - Send a log message to the logging engine + Represents a texture - The log message - The severity of the log entry - Instance of the client - Exception that was raised - + + Initializes a new instance of an AssetTexture object + + - If the library is compiled with DEBUG defined, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine + Initializes a new instance of an AssetTexture object - The message to log at the DEBUG level to the - current logging engine + A unique specific to this asset + A byte array containing the raw asset data - + - If the library is compiled with DEBUG defined and - GridClient.Settings.DEBUG is true, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine + Initializes a new instance of an AssetTexture object - The message to log at the DEBUG level to the - current logging engine - Instance of the client + A object containing texture data - - Triggered whenever a message is logged. If this is left - null, log messages will go to the console + + A object containing image data - + - Callback used for client apps to receive log messages from - the library - Data being logged - The severity of the log entry from - - - Sort by name - - - Sort by date - - - Sort folders by name, regardless of whether items are - sorted by name or date - - - Place system folders at the top - + - Possible destinations for DeRezObject request - - - - - Copy from in-world to agent inventory - - - Derez to TaskInventory - - - - - - Take Object - - - - - - Delete Object - - - Put an avatar attachment into agent inventory + + Override the base classes AssetType - - + + + Populates the byte array with a JPEG2000 + encoded image created from the data in - - Return an object back to the owner's inventory + + + Decodes the JPEG2000 data in AssetData to the + object + True if the decoding was successful, otherwise false - - Return a deeded object back to the last owner's inventory + + + Decodes the begin and end byte positions for each quality layer in + the image + + + - + - Upper half of the Flags field for inventory items + Represents a Wearable Asset, Clothing, Hair, Skin, Etc - - Indicates that the NextOwner permission will be set to the - most restrictive set of permissions found in the object set - (including linkset items and object inventory items) on next rez + + Initializes a new instance of an AssetWearable object - - Indicates that the object sale information has been - changed + + Initializes a new instance of an AssetWearable object with parameters + A unique specific to this asset + A byte array containing the raw asset data - - If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez + + A string containing the name of the asset - - If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez + + A string containing a short description of the asset - - If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez + + The Assets WearableType - - If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez + + The For-Sale status of the object - - If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez + + An Integer representing the purchase price of the asset - - Indicates whether this object is composed of multiple - items or not + + The of the assets creator - - Indicates that the asset is only referenced by this - inventory item. If this item is deleted or updated to reference a - new assetID, the asset can be deleted + + The of the assets current owner - - - Base Class for Inventory Items - + + The of the assets prior owner - - of item/folder + + The of the Group this asset is set to - - of parent folder + + True if the asset is owned by a - - Name of item/folder + + The Permissions mask of the asset - - Item/Folder Owners + + A Dictionary containing Key/Value pairs of the objects parameters - - - Constructor, takes an itemID as a parameter - - The of the item + + A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - + - + Decode an assets byte encoded data to a string - + true if the asset data was decoded successfully - + - + Encode the assets string represantion into a format consumable by the asset server - - - - Generates a number corresponding to the value of the object to support the use of a hash table, - suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryBase fields + + = - - - Determine whether the specified object is equal to the current object - - InventoryBase object to compare against - true if objects are the same + + Number of times we've received an unknown CAPS exception in series. + + + For exponential backoff on error. - + - Determine whether the specified object is equal to the current object + A set of textures that are layered on texture of each other and "baked" + in to a single texture, for avatar appearances - InventoryBase object to compare against - true if objects are the same - + - An Item in Inventory + Default constructor + Bake type - - The of this item - - - The combined of this item - - - The type of item from - - - The type of item from the enum + + Final baked texture - - The of the creator of this item + + Component layers - - A Description of this item + + Width of the final baked image and scratchpad - - The s this item is set to or owned by + + Height of the final baked image and scratchpad - - If true, item is owned by a group + + Bake type - - The price this item can be purchased for + + Final baked texture - - The type of sale from the enum + + Component layers - - Combined flags from + + Width of the final baked image and scratchpad - - Time and date this inventory item was created, stored as - UTC (Coordinated Universal Time) + + Height of the final baked image and scratchpad - - Used to update the AssetID in requests sent to the server + + Bake type - - The of the previous owner of the item + + Is this one of the 3 skin bakes - + - Construct a new InventoryItem object + Adds layer for baking - The of the item + TexturaData struct that contains texture and its params - + - Construct a new InventoryItem object of a specific Type + Converts avatar texture index (face) to Bake type - The type of item from - of the item + Face number (AvatarTextureIndex) + BakeType, layer to which this texture belongs to - + - Indicates inventory item is a link + Make sure images exist, resize source if needed to match the destination - True if inventory item is a link to another inventory item + Destination image + Source image + Sanitization was succefull - + - + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color - + Color of the base of this layer - + - + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if + the image is a pure solid color - + Red value + Green value + Blue value - + - Generates a number corresponding to the value of the object to support the use of a hash table. - Suitable for use in hashing algorithms and data structures such as a hash table + Create a new blank image - A Hashcode of all the combined InventoryItem fields + width + height + channel flags - + - Compares an object - The object to compare - true if comparison object matches + + - + - Determine whether the specified object is equal to the current object + Image width - The object to compare against - true if objects are the same - + - Determine whether the specified object is equal to the current object + Image height - The object to compare against - true if objects are the same - + - InventoryTexture Class representing a graphical image + Image channel flags - - + - Construct an InventoryTexture object + Red channel data - A which becomes the - objects AssetUUID - + - Construct an InventoryTexture object from a serialization stream + Green channel data - + - InventorySound Class representing a playable sound + Blue channel data - + - Construct an InventorySound object + Alpha channel data - A which becomes the - objects AssetUUID - + - Construct an InventorySound object from a serialization stream + Bump channel data - + - InventoryCallingCard Class, contains information on another avatar + Convert the channels in the image. Channels are created or destroyed as required. + new channel flags - + - Construct an InventoryCallingCard object + Resize or stretch the image using nearest neighbor (ugly) resampling - A which becomes the - objects AssetUUID + new width + new height - + - Construct an InventoryCallingCard object from a serialization stream + Create a byte array containing 32-bit RGBA data with a bottom-left + origin, suitable for feeding directly into OpenGL + A byte array containing raw texture data - + - InventoryLandmark Class, contains details on a specific location + A Wrapper around openjpeg to encode and decode images to and from byte arrays - + - Construct an InventoryLandmark object + Defines the beginning and ending file positions of a layer in an + LRCP-progression JPEG2000 file - A which becomes the - objects AssetUUID - + - Construct an InventoryLandmark object from a serialization stream + This structure is used to marshal both encoded and decoded images. + MUST MATCH THE STRUCT IN dotnet.h! - + - Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + Information about a single packet in a JPEG2000 stream - - - InventoryObject Class contains details on a primitive or coalesced set of primitives - + + Packet start position - - - Construct an InventoryObject object - - A which becomes the - objects AssetUUID + + Packet header end position - - - Construct an InventoryObject object from a serialization stream - + + Packet end position - - - Gets or sets the upper byte of the Flags value - + + TGA Header size - - - Gets or sets the object attachment point, the lower byte of the Flags value - + + OpenJPEG is not threadsafe, so this object is used to lock + during calls into unmanaged code - + - InventoryNotecard Class, contains details on an encoded text document + Encode a object into a byte array + The object to encode + true to enable lossless conversion, only useful for small images ie: sculptmaps + A byte array containing the encoded Image object - + - Construct an InventoryNotecard object + Encode a object into a byte array - A which becomes the - objects AssetUUID + The object to encode + a byte array of the encoded image - + - Construct an InventoryNotecard object from a serialization stream - + Decode JPEG2000 data to an and + + JPEG2000 encoded data + ManagedImage object to decode to + Image object to decode to + True if the decode succeeds, otherwise false - + - InventoryCategory Class - TODO: Is this even used for anything? + + + + + + - + - Construct an InventoryCategory object - A which becomes the - objects AssetUUID + + + + + + + + - + - Construct an InventoryCategory object from a serialization stream + Encode a object into a byte array + The source object to encode + true to enable lossless decoding + A byte array containing the source Bitmap object - + - InventoryLSL Class, represents a Linden Scripting Language object + Capability to load TGAs to Bitmap - + - Construct an InventoryLSL object + Interface requirements for Messaging system - A which becomes the - objects AssetUUID - + - Construct an InventoryLSL object from a serialization stream + Abstract base for rendering plugins - + - InventorySnapshot Class, an image taken with the viewer + Generates a basic mesh structure from a primitive + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - + - Construct an InventorySnapshot object + Generates a basic mesh structure from a sculpted primitive and + texture - A which becomes the - objects AssetUUID + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - + - Construct an InventorySnapshot object from a serialization stream + Generates a series of faces, each face containing a mesh and + metadata + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh - + - InventoryAttachment Class, contains details on an attachable object + Generates a series of faces for a sculpted prim, each face + containing a mesh and metadata + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh - + - Construct an InventoryAttachment object + Apply texture coordinate modifications from a + to a list of vertices - A which becomes the - objects AssetUUID + Vertex list to modify texture coordinates for + Center-point of the face + Face texture parameters + Scale of the prim - + - Construct an InventoryAttachment object from a serialization stream + Sent to the client to indicate a teleport request has completed - + + The of the agent + + - Get the last AttachmentPoint this object was attached to - + + The simulators handle the agent teleported to + + + A Uri which contains a list of Capabilities the simulator supports + + + Indicates the level of access required + to access the simulator, or the content rating, or the simulators + map status + + + The IP Address of the simulator + + + The UDP Port the simulator will listen for UDP traffic on + + + Status flags indicating the state of the Agent upon arrival, Flying, etc. + + - InventoryWearable Class, details on a clothing item or body part + Serialize the object + An containing the objects data - + - Construct an InventoryWearable object + Deserialize the message - A which becomes the - objects AssetUUID + An containing the data - + - Construct an InventoryWearable object from a serialization stream + Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - + - The , Skin, Shape, Skirt, Etc + Serialize the object + An containing the objects data - + - InventoryAnimation Class, A bvh encoded object which animates an avatar + Deserialize the message + An containing the data - + - Construct an InventoryAnimation object + Serialize the object - A which becomes the - objects AssetUUID + An containing the objects data - + - Construct an InventoryAnimation object from a serialization stream + Deserialize the message + An containing the data - + - InventoryGesture Class, details on a series of animations, sounds, and actions + Serialize the object + An containing the objects data - + - Construct an InventoryGesture object + Deserialize the message - A which becomes the - objects AssetUUID + An containing the data - + - Construct an InventoryGesture object from a serialization stream + A message sent to the client which indicates a teleport request has failed + and contains some information on why it failed - + - A folder contains s and has certain attributes specific - to itself - - The Preferred for a folder. + + A string key of the reason the teleport failed e.g. CouldntTPCloser + Which could be used to look up a value in a dictionary or enum - - The Version of this folder + + The of the Agent - - Number of child items this folder contains. + + A string human readable message containing the reason + An example: Could not teleport closer to destination - + - Constructor + Serialize the object - UUID of the folder + An containing the objects data - + - + Deserialize the message - + An containing the data - + - Get Serilization data for this InventoryFolder object + Serialize the object + An containing the objects data - + - Construct an InventoryFolder object from a serialization stream + Deserialize the message + An containing the data - + - + Contains a list of prim owner information for a specific parcel in a simulator - + + A Simulator will always return at least 1 entry + If agent does not have proper permission the OwnerID will be UUID.Zero + If agent does not have proper permission OR there are no primitives on parcel + the DataBlocksExtended map will not be sent from the simulator + - + - + Prim ownership information for a specified owner on a single parcel - - - + + The of the prim owner, + UUID.Zero if agent has no permission to view prim owner information + + + The total number of prims + + + True if the OwnerID is a + + + True if the owner is online + This is no longer used by the LL Simulators + + + The date the most recent prim was rezzed + + + An Array of objects + + - + Serialize the object - - + An containing the objects data - + - + Deserialize the message - - + An containing the data - + - Tools for dealing with agents inventory + The details of a single parcel in a region, also contains some regionwide globals - - Used for converting shadow_id to asset_id - - - The event subscribers, null of no subscribers - - - Raises the ItemReceived Event - A ItemReceivedEventArgs object containing - the data sent from the simulator - - - Thread sync lock object + + Simulator-local ID of this parcel - - The event subscribers, null of no subscribers + + Maximum corner of the axis-aligned bounding box for this + parcel - - Raises the FolderUpdated Event - A FolderUpdatedEventArgs object containing - the data sent from the simulator + + Minimum corner of the axis-aligned bounding box for this + parcel - - Thread sync lock object + + Total parcel land area - - The event subscribers, null of no subscribers + + + - - Raises the InventoryObjectOffered Event - A InventoryObjectOfferedEventArgs object containing - the data sent from the simulator + + Key of authorized buyer - - Thread sync lock object + + Bitmap describing land layout in 4x4m squares across the + entire region - - The event subscribers, null of no subscribers + + + - - Raises the TaskItemReceived Event - A TaskItemReceivedEventArgs object containing - the data sent from the simulator + + Date land was claimed - - Thread sync lock object + + Appears to always be zero - - The event subscribers, null of no subscribers + + Parcel Description - - Raises the FindObjectByPath Event - A FindObjectByPathEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + Total number of primitives owned by the parcel group on + this parcel - - Raises the TaskInventoryReply Event - A TaskInventoryReplyEventArgs object containing - the data sent from the simulator + + Whether the land is deeded to a group or not - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + Maximum number of primitives this parcel supports - - Raises the SaveAssetToInventory Event - A SaveAssetToInventoryEventArgs object containing - the data sent from the simulator + + The Asset UUID of the Texture which when applied to a + primitive will display the media - - Thread sync lock object + + A URL which points to any Quicktime supported media type - - The event subscribers, null of no subscribers + + A byte, if 0x1 viewer should auto scale media to fit object - - Raises the ScriptRunningReply Event - A ScriptRunningReplyEventArgs object containing - the data sent from the simulator + + URL For Music Stream - - Thread sync lock object + + Parcel Name - - Partial mapping of AssetTypes to folder names + + Autoreturn value in minutes for others' objects - + - Default constructor - Reference to the GridClient object - - - Fetch an inventory item from the dataserver - - The items - The item Owners - a integer representing the number of milliseconds to wait for results - An object on success, or null if no item was found - Items will also be sent to the event + + Total number of other primitives on this parcel - - - Request A single inventory item - - The items - The item Owners - + + UUID of the owner of this parcel - - - Request inventory items - - Inventory items to request - Owners of the inventory items - + + Total number of primitives owned by the parcel owner on + this parcel - + - Get contents of a folder - The of the folder to search - The of the folders owner - true to retrieve folders - true to retrieve items - sort order to return results in - a integer representing the number of milliseconds to wait for results - A list of inventory items matching search criteria within folder - - InventoryFolder.DescendentCount will only be accurate if both folders and items are - requested - - - Request the contents of an inventory folder - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - + + How long is pass valid for - + + Price for a temporary pass + + - Returns the UUID of the folder (category) that defaults to - containing 'type'. The folder is not necessarily only for that - type - This will return the root folder if one does not exist - - The UUID of the desired folder if found, the UUID of the RootFolder - if not found, or UUID.Zero on failure - + + Disallows people outside the parcel from being able to see in + + - Find an object in inventory using a specific path to search - The folder to begin the search in - The object owners - A string path to search - milliseconds to wait for a reply - Found items or if - timeout occurs or item is not found - + - Find inventory items by path - The folder to begin the search in - The object owners - A string path to search, folders/objects separated by a '/' - Results are sent to the event - + - Search inventory Store object for an item or folder - The folder to begin the search in - An array which creates a path to search - Number of levels below baseFolder to conduct searches - if True, will stop searching after first match is found - A list of inventory items found - + + True if the region denies access to age unverified users + + - Move an inventory item or folder to a new location - The item or folder to move - The to move item or folder to - + + This field is no longer used + + + The result of a request for parcel properties + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it + + - Move an inventory item or folder to a new location and change its name + Number of primitives your avatar is currently + selecting and sitting on in this parcel - The item or folder to move - The to move item or folder to - The name to change the item or folder to - + - Move and rename a folder - The source folders - The destination folders - The name to change the folder to - + - Update folder properties + A number which increments by 1, starting at 0 for each ParcelProperties request. + Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. + a Negative number indicates the action in has occurred. - of the folder to update - Sets folder's parent to - Folder name - Folder type - + + Maximum primitives across the entire simulator + + + Total primitives across the entire simulator + + - Move a folder - The source folders - The destination folders - + + Key of parcel snapshot + + + Parcel ownership status + + + Total number of primitives on this parcel + + - Move multiple folders, the keys in the Dictionary parameter, - to a new parents, the value of that folder's key. - A Dictionary containing the - of the source as the key, and the - of the destination as the value - + - Move an inventory item to a new folder - The of the source item to move - The of the destination folder - + + A description of the media + + + An Integer which represents the height of the media + + + An integer which represents the width of the media + + + A boolean, if true the viewer should loop the media + + + A string which contains the mime type of the media + + + true to obscure (hide) media url + + + true to obscure (hide) music url + + - Move and rename an inventory item + Serialize the object - The of the source item to move - The of the destination folder - The name to change the folder to + An containing the objects data - + - Move multiple inventory items to new locations + Deserialize the message - A Dictionary containing the - of the source item as the key, and the - of the destination folder as the value + An containing the data - + + A message sent from the viewer to the simulator to updated a specific parcels settings + + + The of the agent authorized to purchase this + parcel of land or a NULL if the sale is authorized to anyone + + + true to enable auto scaling of the parcel media + + + The category of this parcel used when search is enabled to restrict + search results + + + A string containing the description to set + + + The of the which allows for additional + powers and restrictions. + + + The which specifies how avatars which teleport + to this parcel are handled + + + The LocalID of the parcel to update settings on + + + A string containing the description of the media which can be played + to visitors + + - Remove descendants of a folder - The of the folder - + - Remove a single item from inventory - The of the inventory item to remove - + - Remove a folder from inventory - The of the folder to remove - + - Remove multiple items or folders from inventory - A List containing the s of items to remove - A List containing the s of the folders to remove - + - Empty the Lost and Found folder - + - Empty the Trash folder - + - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - + - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - + - Creates a new inventory folder - ID of the folder to put this folder in - Name of the folder to create - The UUID of the newly created folder - + - Creates a new inventory folder - ID of the folder to put this folder in - Name of the folder to create - Sets this folder as the default folder - for new assets of the specified type. Use AssetType.Unknown - to create a normal folder, otherwise it will likely create a - duplicate of an existing folder type - The UUID of the newly created folder - If you specify a preferred type of AsseType.Folder - it will create a new root folder which may likely cause all sorts - of strange problems - + + + + + - Create an inventory item and upload asset data - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Delegate that will receive feedback on success or failure - + - Create an inventory item and upload asset data - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Permission of the newly created item - (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) - Delegate that will receive feedback on success or failure - + - Creates inventory link to another inventory item or folder - Put newly created link in folder with this UUID - Inventory item or folder - Method to call upon creation of the link - + - Creates inventory link to another inventory item - Put newly created link in folder with this UUID - Original inventory item - Method to call upon creation of the link - + - Creates inventory link to another inventory folder - Put newly created link in folder with this UUID - Original inventory folder - Method to call upon creation of the link - + - Creates inventory link to another inventory item or folder - Put newly created link in folder with this UUID - Original item's UUID - Name - Description - Asset Type - Inventory Type - Transaction UUID - Method to call upon creation of the link - + - - - - - - + - + Deserialize the message - - - - - + An containing the data - + - + Serialize the object - - - - - + An containing the objects data - + + Base class used for the RemoteParcelRequest message + + - Request a copy of an asset embedded within a notecard + A message sent from the viewer to the simulator to request information + on a remote parcel - Usually UUID.Zero for copying an asset from a notecard - UUID of the notecard to request an asset from - Target folder for asset to go to in your inventory - UUID of the embedded asset - callback to run when item is copied to inventory - + + Local sim position of the parcel we are looking up + + + Region handle of the parcel we are looking up + + + Region of the parcel we are looking up + + - + Serialize the object - + An containing the objects data - + - + Deserialize the message - + An containing the data - + - + A message sent from the simulator to the viewer in response to a + which will contain parcel information - - - + + The grid-wide unique parcel ID + + - + Serialize the object - - - + An containing the objects data - + - Save changes to notecard embedded in object contents + Deserialize the message - Encoded notecard asset data - Notecard UUID - Object's UUID - Called upon finish of the upload with status information + An containing the data - + - Upload new gesture asset for an inventory gesture item + A message containing a request for a remote parcel from a viewer, or a response + from the simulator to that request - Encoded gesture asset - Gesture inventory UUID - Callback whick will be called when upload is complete - + + The request or response details block + + - Update an existing script in an agents Inventory + Serialize the object - A byte[] array containing the encoded scripts contents - the itemID of the script - if true, sets the script content to run on the mono interpreter - + An containing the objects data - + - Update an existing script in an task Inventory + Deserialize the message - A byte[] array containing the encoded scripts contents - the itemID of the script - UUID of the prim containting the script - if true, sets the script content to run on the mono interpreter - if true, sets the script to running - + An containing the data - + - Rez an object from inventory + Serialize the object - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details + An containing the objects data - + - Rez an object from inventory + Deserialize the message - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object + An containing the data - + - Rez an object from inventory + Serialize the object - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object + An containing the objects data - + - DeRez an object from the simulator to the agents Objects folder in the agents Inventory + Deserialize the message - The simulator Local ID of the object - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + An containing the data - + - DeRez an object from the simulator and return to inventory + A message sent from the simulator to an agent which contains + the groups the agent is in - The simulator Local ID of the object - The type of destination from the enum - The destination inventory folders -or- - if DeRezzing object to a tasks Inventory, the Tasks - The transaction ID for this request which - can be used to correlate this request with other packets - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - + + Group Details specific to the agent + + + true of the agent accepts group notices + + + The agents tier contribution to the group + + + The Groups + + + The of the groups insignia + + + The name of the group + + + The aggregate permissions the agent has in the group for all roles the agent + is assigned + + + An optional block containing additional agent specific information + + + true of the agent allows this group to be + listed in their profile + + + The Agent receiving the message + + + An array containing information + for each the agent is a member of + + + An array containing information + for each the agent is a member of + + - Rez an item from inventory to its previous simulator location + Serialize the object - - - - + An containing the objects data - + - Give an inventory item to another avatar + Deserialize the message - The of the item to give - The name of the item - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer + An containing the data - + - Give an inventory Folder with contents to another avatar + A message sent from the viewer to the simulator which + specifies the language and permissions for others to detect + the language specified - The of the Folder to give - The name of the folder - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer - + + A string containng the default language + to use for the agent + + + true of others are allowed to + know the language setting + + - Copy or move an from agent inventory to a task (primitive) inventory + Serialize the object - The target object - The item to copy or move from inventory - - For items with copy permissions a copy of the item is placed in the tasks inventory, - for no-copy items the object is moved to the tasks inventory + An containing the objects data - + - Retrieve a listing of the items contained in a task (Primitive) + Deserialize the message - The tasks - The tasks simulator local ID - milliseconds to wait for reply from simulator - A list containing the inventory items inside the task or null - if a timeout occurs - This request blocks until the response from the simulator arrives - or timeoutMS is exceeded + An containing the data - + - Request the contents of a tasks (primitives) inventory from the - current simulator + An EventQueue message sent from the simulator to an agent when the agent + leaves a group - The LocalID of the object - - + + An object containing the Agents UUID, and the Groups UUID + + + The ID of the Agent leaving the group + + + The GroupID the Agent is leaving + + - Request the contents of a tasks (primitives) inventory + An Array containing the AgentID and GroupID - The simulator Local ID of the object - A reference to the simulator object that contains the object - - + - Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + Serialize the object - LocalID of the object in the simulator - UUID of the task item to move - The ID of the destination folder in this agents inventory - Simulator Object - Raises the event + An containing the objects data - + - Remove an item from an objects (Prim) Inventory + Deserialize the message - LocalID of the object in the simulator - UUID of the task item to remove - Simulator Object - You can confirm the removal by comparing the tasks inventory serial before and after the - request with the request combined with - the event + An containing the data - - - Copy an InventoryScript item from the Agents Inventory into a primitives task inventory - - An unsigned integer representing a primitive being simulated - An which represents a script object from the agents inventory - true to set the scripts running state to enabled - A Unique Transaction ID - - The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory - and assumes the script exists in the agents inventory. - - uint primID = 95899503; // Fake prim ID - UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory - - Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, - false, true, InventorySortOrder.ByName, 10000); - - Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); - - + + Base class for Asset uploads/results via Capabilities - + - Request the running status of a script contained in a task (primitive) inventory + The request state - The ID of the primitive containing the script - The ID of the script - The event can be used to obtain the results of the - request - - + - Send a request to set the running state of a script contained in a task (primitive) inventory + Serialize the object - The ID of the primitive containing the script - The ID of the script - true to set the script running, false to stop a running script - To verify the change you can use the method combined - with the event + An containing the objects data - + - Create a CRC from an InventoryItem + Deserialize the message - The source InventoryItem - A uint representing the source InventoryItem as a CRC + An containing the data - + - Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + A message sent from the viewer to the simulator to request a temporary upload capability + which allows an asset to be uploaded - Obfuscated shadow_id value - Deobfuscated asset_id value - - - Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id - - asset_id value to obfuscate - Obfuscated shadow_id value + + The Capability URL sent by the simulator to upload the baked texture to - + - Wrapper for creating a new object + A message sent from the simulator that will inform the agent the upload is complete, + and the UUID of the uploaded asset - The type of item from the enum - The of the newly created object - An object with the type and id passed - + + The uploaded texture asset ID + + - Parse the results of a RequestTaskInventory() response + A message sent from the viewer to the simulator to request a temporary + capability URI which is used to upload an agents baked appearance textures - A string which contains the data from the task reply - A List containing the items contained within the tasks inventory - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Object containing request or response - + - UpdateCreateInventoryItem packets are received when a new inventory item - is created. This may occur when an object that's rezzed in world is - taken into inventory, when an item is created using the CreateInventoryItem - packet, or when an object is purchased + Serialize the object - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + An containing the objects data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Deserialize the message + + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + A message sent from the simulator which indicates the minimum version required for + using voice chat + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Major Version Required - - Raised when the simulator sends us data containing - ... + + Minor version required - - Raised when the simulator sends us data containing - ... + + The name of the region sending the version requrements - - Raised when the simulator sends us data containing - an inventory object sent by another avatar or primitive + + + Serialize the object + + An containing the objects data - - Raised when the simulator sends us data containing - ... + + + Deserialize the message + + An containing the data - - Raised when the simulator sends us data containing - ... + + + A message sent from the simulator to the viewer containing the + voice server URI + - - Raised when the simulator sends us data containing - ... + + The Parcel ID which the voice server URI applies - - Raised when the simulator sends us data containing - ... + + The name of the region - - Raised when the simulator sends us data containing - ... + + A uri containing the server/channel information + which the viewer can utilize to participate in voice conversations - + - Get this agents Inventory data + Serialize the object + An containing the objects data - + - Callback for inventory item creation finishing + Deserialize the message - Whether the request to create an inventory - item succeeded or not - Inventory item being created. If success is - false this will be null + An containing the data - + - Callback for an inventory item being create from an uploaded asset - true if inventory item creation was successful - - - - + - - - + - Reply received when uploading an inventory asset - Has upload been successful - Error message if upload failed - Inventory asset UUID - New asset UUID - + - Delegate that is invoked when script upload is completed + Serialize the object - Has upload succeded (note, there still might be compile errors) - Upload status message - Is compilation successful - If compilation failed, list of error messages, null on compilation success - Script inventory UUID - Script's new asset UUID - - - Set to true to accept offer, false to decline it - - - The folder to accept the inventory into, if null default folder for will be used + An containing the objects data - + - Callback when an inventory object is accepted and received from a - task inventory. This is the callback in which you actually get - the ItemID, as in ObjectOfferedCallback it is null when received - from a task. + Deserialize the message + An containing the data - + - Map layer request type + A message sent by the viewer to the simulator to request a temporary + capability for a script contained with in a Tasks inventory to be updated - - Objects and terrain are shown - - - Only the terrain is shown, no objects - - - Overlay showing land for sale and for auction + + Object containing request or response - + - Type of grid item, such as telehub, event, populator location, etc. + Serialize the object + An containing the objects data - - Telehub - - - PG rated event - - - Mature rated event - - - Popular location - - - Locations of avatar groups in a region - - - Land for sale - - - Classified ad - - - Adult rated event - - - Adult land for sale + + + Deserialize the message + + An containing the data - + - Information about a region on the grid map + A message sent from the simulator to the viewer to indicate + a Tasks scripts status. - - Sim X position on World Map + + The Asset ID of the script - - Sim Y position on World Map + + True of the script is compiled/ran using the mono interpreter, false indicates it + uses the older less efficient lsl2 interprter - - Sim Name (NOTE: In lowercase!) + + The Task containing the scripts - - + + true of the script is in a running state - - Appears to always be zero (None) + + + Serialize the object + + An containing the objects data - - Sim's defined Water Height + + + Deserialize the message + + An containing the data - - + + + A message containing the request/response used for updating a gesture + contained with an agents inventory + - - UUID of the World Map image + + Object containing request or response - - Unique identifier for this region, a combination of the X - and Y position + + + Serialize the object + + An containing the objects data - + - + Deserialize the message - + An containing the data - + - + A message request/response which is used to update a notecard contained within + a tasks inventory - - + + The of the Task containing the notecard asset to update + + + The notecard assets contained in the tasks inventory + + - + Serialize the object - - + An containing the objects data - + - Visual chunk of the grid map + Deserialize the message + An containing the data - + - Base class for Map Items + A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability + which is used to update an asset in an agents inventory - - The Global X position of the item + + + The Notecard AssetID to replace + - - The Global Y position of the item + + + Serialize the object + + An containing the objects data - - Get the Local X position of the item + + + Deserialize the message + + An containing the data - - Get the Local Y position of the item + + + A message containing the request/response used for updating a notecard + contained with an agents inventory + - - Get the Handle of the region + + Object containing request or response - + - Represents an agent or group of agents location + Serialize the object + An containing the objects data - + - Represents a Telehub location + Deserialize the message + An containing the data - + - Represents a non-adult parcel of land for sale + Serialize the object + An containing the objects data - + - Represents an Adult parcel of land for sale + Deserialize the message + An containing the data - + - Represents a PG Event + A message sent from the simulator to the viewer which indicates + an error occurred while attempting to update a script in an agents or tasks + inventory - + + true of the script was successfully compiled by the simulator + + + A string containing the error which occured while trying + to update the script + + + A new AssetID assigned to the script + + - Represents a Mature event + A message sent from the viewer to the simulator + requesting the update of an existing script contained + within a tasks inventory - + + if true, set the script mode to running + + + The scripts InventoryItem ItemID to update + + + A lowercase string containing either "mono" or "lsl2" which + specifies the script is compiled and ran on the mono runtime, or the older + lsl runtime + + + The tasks which contains the script to update + + - Represents an Adult event + Serialize the object + An containing the objects data - + - Manages grid-wide tasks such as the world map + Deserialize the message + An containing the data - - The event subscribers. null if no subcribers - - - Raises the CoarseLocationUpdate event - A CoarseLocationUpdateEventArgs object containing the - data sent by simulator - - - Thread sync lock object + + + A message containing either the request or response used in updating a script inside + a tasks inventory + - - The event subscribers. null if no subcribers + + Object containing request or response - - Raises the GridRegion event - A GridRegionEventArgs object containing the - data sent by simulator + + + Serialize the object + + An containing the objects data - - Thread sync lock object + + + Deserialize the message + + An containing the data - - The event subscribers. null if no subcribers + + + Response from the simulator to notify the viewer the upload is completed, and + the UUID of the script asset and its compiled status + - - Raises the GridLayer event - A GridLayerEventArgs object containing the - data sent by simulator + + The uploaded texture asset ID - - Thread sync lock object + + true of the script was compiled successfully - - The event subscribers. null if no subcribers + + + A message sent from a viewer to the simulator requesting a temporary uploader capability + used to update a script contained in an agents inventory + - - Raises the GridItems event - A GridItemEventArgs object containing the - data sent by simulator + + The existing asset if of the script in the agents inventory to replace - - Thread sync lock object + + The language of the script + Defaults to lsl version 2, "mono" might be another possible option - - The event subscribers. null if no subcribers + + + Serialize the object + + An containing the objects data - - Raises the RegionHandleReply event - A RegionHandleReplyEventArgs object containing the - data sent by simulator + + + Deserialize the message + + An containing the data - - Thread sync lock object + + + A message containing either the request or response used in updating a script inside + an agents inventory + - - A dictionary of all the regions, indexed by region name + + Object containing request or response - - A dictionary of all the regions, indexed by region handle + + + Serialize the object + + An containing the objects data - + - Constructor + Deserialize the message - Instance of GridClient object to associate with this GridManager instance + An containing the data - + - + Serialize the object - + An containing the objects data - + - Request a map layer + Deserialize the message - The name of the region - The type of layer + An containing the data - + + Base class for Map Layers via Capabilities + + - - - - - - - - + - + Serialize the object - - - - - + An containing the objects data - + - + Deserialize the message - - - + An containing the data - + - Request data for all mainland (Linden managed) simulators + Sent by an agent to the capabilities server to request map layers - + - Request the region handle for the specified region UUID + A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates - UUID of the region to look up - + - Get grid region information using the region name, this function - will block until it can find the region or gives up + An object containing map location details - Name of sim you're looking for - Layer that you are requesting - Will contain a GridRegion for the sim you're - looking for if successful, otherwise an empty structure - True if the GridRegion was successfully fetched, otherwise - false - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the simulator sends a - containing the location of agents in the simulator - - - Raised when the simulator sends a Region Data in response to - a Map request - - - Raised when the simulator sends GridLayer object containing - a map tile coordinates and texture information - - Raised when the simulator sends GridItems object containing - details on events, land sales at a specific location + + The Asset ID of the regions tile overlay - - Raised in response to a Region lookup + + The grid location of the southern border of the map tile - - Unknown + + The grid location of the western border of the map tile - - Current direction of the sun + + The grid location of the eastern border of the map tile - - Current angular velocity of the sun + + The grid location of the northern border of the map tile - - Current world time + + An array containing LayerData items - + - + Serialize the object + An containing the objects data - - - - - + + + Deserialize the message + + An containing the data - - + + Object containing request or response - - + + + Serialize the object + + An containing the objects data - - + + + Deserialize the message + + An containing the data - - + + + New as of 1.23 RC1, no details yet. + - - + + + Serialize the object + + An containing the objects data - + - Login Request Parameters + Deserialize the message + An containing the data - - The URL of the Login Server + + + Serialize the object + + An containing the objects data - - The number of milliseconds to wait before a login is considered - failed due to timeout + + + Deserialize the message + + An containing the data - - The request method - login_to_simulator is currently the only supported method + + A string containing the method used - - The Agents First name + + + A request sent from an agent to the Simulator to begin a new conference. + Contains a list of Agents which will be included in the conference + - - The Agents Last name + + An array containing the of the agents invited to this conference - - A md5 hashed password - plaintext password will be automatically hashed + + The conferences Session ID - - The agents starting location once logged in - Either "last", "home", or a string encoded URI - containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 + + + Serialize the object + + An containing the objects data - - A string containing the client software channel information - Second Life Release + + + Deserialize the message + + An containing the data - - The client software version information - The official viewer uses: Second Life Release n.n.n.n - where n is replaced with the current version of the viewer + + + A moderation request sent from a conference moderator + Contains an agent and an optional action to take + - - A string containing the platform information the agent is running on + + The Session ID - - A string hash of the network cards Mac Address + + + - - Unknown or deprecated + + A list containing Key/Value pairs, known valid values: + key: text value: true/false - allow/disallow specified agents ability to use text in session + key: voice value: true/false - allow/disallow specified agents ability to use voice in session + + "text" or "voice" - - A string hash of the first disk drives ID used to identify this clients uniqueness + + + - - A string containing the viewers Software, this is not directly sent to the login server but - instead is used to generate the Version string + + + Serialize the object + + An containing the objects data - - A string representing the software creator. This is not directly sent to the login server but - is used by the library to generate the Version information + + + Deserialize the message + + An containing the data - - If true, this agent agrees to the Terms of Service of the grid its connecting to + + + A message sent from the agent to the simulator which tells the + simulator we've accepted a conference invitation + - - Unknown + + The conference SessionID - - An array of string sent to the login server to enable various options + + + Serialize the object + + An containing the objects data - - A randomly generated ID to distinguish between login attempts. This value is only used - internally in the library and is never sent over the wire + + + Deserialize the message + + An containing the data - + - Default constuctor, initializes sane default values + Serialize the object + An containing the objects data - + - Instantiates new LoginParams object and fills in the values + Deserialize the message - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number + An containing the data - + - Instantiates new LoginParams object and fills in the values + Serialize the object - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - URI of the login server + An containing the objects data - + - The decoded data returned from the login server after a successful login + Deserialize the message + An containing the data - - true, false, indeterminate - - - Login message of the day - - - M or PG, also agent_region_access and agent_access_max - - + - Parse LLSD Login Reply Data + Serialize the object - An - contaning the login response data - XML-RPC logins do not require this as XML-RPC.NET - automatically populates the struct properly using attributes + An containing the objects data - + - + Deserialize the message + An containing the data - - OK - - - Transfer completed - - - - - - + + Key of sender - - Unknown error occurred + + Name of sender - - Equivalent to a 404 error + + Key of destination avatar - - Client does not have permission for that resource + + ID of originating estate - - Unknown status + + Key of originating region - - - - + + Coordinates in originating region - - + + Instant message type - - Unknown + + Group IM session toggle - - Virtually all asset transfers use this channel + + Key of IM session, for Group Messages, the groups UUID - - - - + + Timestamp of the instant message - - + + Instant message text - - Asset from the asset server + + Whether this message is held for offline avatars - - Inventory item + + Context specific packed data - - Estate asset, such as an estate covenant + + Is this invitation for voice group/conference chat - + - + Serialize the object + An containing the objects data - - - - - - - - - - + - + Deserialize the message + An containing the data - - - - - - - + - Image file format + Sent from the simulator to the viewer. + When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including + a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate + this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" + During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are + excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with + the string "ENTER" or "LEAVE" respectively. - + - + Serialize the object + An containing the objects data - - Number of milliseconds passed since the last transfer - packet was received - - + - + Deserialize the message + An containing the data - + - + An EventQueue message sent when the agent is forcibly removed from a chatterbox session - + - + A string containing the reason the agent was removed - + - + The ChatterBoxSession's SessionID - + - + Serialize the object + An containing the objects data - + - + Deserialize the message - - - - + An containing the data - + - + Serialize the object + An containing the objects data - - Number of milliseconds to wait for a transfer header packet if out of order data was received - - - The event subscribers. null if no subcribers - - - Raises the XferReceived event - A XferReceivedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the AssetUploaded event - A AssetUploadedEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the UploadProgress event - A UploadProgressEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Raises the InitiateDownload event - A InitiateDownloadEventArgs object containing the - data returned from the simulator - - - Thread sync lock object - - - The event subscribers. null if no subcribers + + + Deserialize the message + + An containing the data - - Raises the ImageReceiveProgress event - A ImageReceiveProgressEventArgs object containing the - data returned from the simulator + + + Serialize the object + + An containing the objects data - - Thread sync lock object + + + Deserialize the message + + An containing the data - - Texture download cache + + + Serialize the object + + An containing the objects data - + - Default constructor + Deserialize the message - A reference to the GridClient object + An containing the data - + - Request an asset download + Serialize the object - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - The callback to fire when the simulator responds with the asset data + An containing the objects data - + - Request an asset download + Deserialize the message - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - The callback to fire when the simulator responds with the asset data + An containing the data - + - Request an asset download - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - UUID of the transaction - The callback to fire when the simulator responds with the asset data - + - Request an asset download through the almost deprecated Xfer system + Serialize the object - Filename of the asset to request - Whether or not to delete the asset - off the server after it is retrieved - Use large transfer packets or not - UUID of the file to request, if filename is - left empty - Asset type of vFileID, or - AssetType.Unknown if filename is not empty - Sets the FilePath in the request to Cache - (4) if true, otherwise Unknown (0) is used - + An containing the objects data - + - + Deserialize the message - Use UUID.Zero if you do not have the - asset ID but have all the necessary permissions - The item ID of this asset in the inventory - Use UUID.Zero if you are not requesting an - asset from an object inventory - The owner of this asset - Asset type - Whether to prioritize this asset download or not - + An containing the data - + - Used to force asset data into the PendingUpload property, ie: for raw terrain uploads + Serialize the object - An AssetUpload object containing the data to upload to the simulator + An containing the objects data - + - Request an asset be uploaded to the simulator + Deserialize the message - The Object containing the asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + An containing the data - + - Request an asset be uploaded to the simulator + Serialize the object - The of the asset being uploaded - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + An containing the objects data - + - Request an asset be uploaded to the simulator + Deserialize the message - - Asset type to upload this data as - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired + An containing the data - + - Initiate an asset upload + Event Queue message describing physics engine attributes of a list of objects + Sim sends these when object is selected - The ID this asset will have if the - upload succeeds - Asset type to upload this data as - Raw asset data to upload - Whether to store this asset on the local - simulator or the grid-wide asset server - The tranaction id for the upload - The transaction ID of this transfer - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress - transfer. - A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority - indicating an off-by-one error. - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - Request an image and fire a callback when the request is complete - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - - Request an image and use an inline anonymous method to handle the downloaded texture data - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - ); - - Request a texture, decode the texture to a bitmap image and apply it to a imagebox - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - ManagedImage imgData; - Image bitmap; - - if (state == TextureRequestState.Finished) - { - OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); - picInsignia.Image = bitmap; - } - } - } - - + + Array with the list of physics properties - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Serializes the message - The of the texture asset to download - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data + Serialized OSD - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + Deseializes the message - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data + Incoming data to deserialize - + - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator + A message sent from the viewer to the simulator which + specifies that the user has changed current URL + of the specific media on a prim face - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - + - Cancel a texture request + New URL - The texture assets - + - Requests download of a mesh asset + Prim UUID where navigation occured - UUID of the mesh asset - Callback when the request completes - + - Lets TexturePipeline class fire the progress event + Face index - The texture ID currently being downloaded - the number of bytes transferred - the total number of bytes expected - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Serialize the object + + An containing the objects data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Deserialize the message + + An containing the data - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + Base class used for the ObjectMedia message - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Message used to retrive prim media data + - - Raised when the simulator responds sends + + + Prim UUID + - - Raised during upload completes + + + Requested operation, either GET or UPDATE + - - Raised during upload with progres update + + + Serialize object + + Serialized object as OSDMap - - Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files + + + Deserialize the message + + An containing the data - - Fired when a texture is in the process of being downloaded by the TexturePipeline class + + + Message used to update prim media data + - + - Callback used for various asset download requests + Prim UUID - Transfer information - Downloaded asset, null on fail - + - Callback used upon competition of baked texture upload + Array of media entries indexed by face number - Asset UUID of the newly uploaded baked texture - + - A callback that fires upon the completition of the RequestMesh call + Media version string - Was the download successfull - Resulting mesh or null on problems - - Xfer data + + + Serialize object + + Serialized object as OSDMap - - Upload data + + + Deserialize the message + + An containing the data - - Filename used on the simulator + + + Message used to update prim media data + - - Filename used by the client + + + Prim UUID + - - UUID of the image that is in progress + + + Array of media entries indexed by face number + - - Number of bytes received so far + + + Requested operation, either GET or UPDATE + - - Image size in bytes + + + Serialize object + + Serialized object as OSDMap - + - Static pre-defined animations available to all agents + Deserialize the message + An containing the data - - Agent with afraid expression on face + + + Message for setting or getting per face MediaEntry + - - Agent aiming a bazooka (right handed) + + The request or response details block - - Agent aiming a bow (left handed) + + + Serialize the object + + An containing the objects data - - Agent aiming a hand gun (right handed) + + + Deserialize the message + + An containing the data - - Agent aiming a rifle (right handed) + + Details about object resource usage - - Agent with angry expression on face + + Object UUID - - Agent hunched over (away) + + Object name - - Agent doing a backflip + + Indicates if object is group owned - - Agent laughing while holding belly + + Locatio of the object - - Agent blowing a kiss + + Object owner - - Agent with bored expression on face + + Resource usage, keys are resource names, values are resource usage for that specific resource - - Agent bowing to audience + + + Deserializes object from OSD + + An containing the data - - Agent brushing himself/herself off + + + Makes an instance based on deserialized data + + + serialized data + Instance containg deserialized data - - Agent in busy mode + + Details about parcel resource usage - - Agent clapping hands + + Parcel UUID - - Agent doing a curtsey bow + + Parcel local ID - - Agent crouching + + Parcel name - - Agent crouching while walking + + Indicates if parcel is group owned - - Agent crying + + Parcel owner - - Agent unanimated with arms out (e.g. setting appearance) + + Array of containing per object resource usage - - Agent re-animated after set appearance finished + + + Deserializes object from OSD + + An containing the data - - Agent dancing + + + Makes an instance based on deserialized data + + + serialized data + Instance containg deserialized data - - Agent dancing + + Resource usage base class, both agent and parcel resource + usage contains summary information - - Agent dancing + + Summary of available resources, keys are resource names, + values are resource usage for that specific resource - - Agent dancing + + Summary resource usage, keys are resource names, + values are resource usage for that specific resource - - Agent dancing + + + Serializes object + + + serialized data - - Agent dancing + + + Deserializes object from OSD + + An containing the data - - Agent dancing + + Agent resource usage - - Agent dancing + + Per attachment point object resource usage - - Agent on ground unanimated + + + Deserializes object from OSD + + An containing the data - - Agent boozing it up + + + Makes an instance based on deserialized data + + + serialized data + Instance containg deserialized data - - Agent with embarassed expression on face + + + Detects which class handles deserialization of this message + + An containing the data + Object capable of decoding this message - - Agent with afraid expression on face + + Request message for parcel resource usage - - Agent with angry expression on face + + UUID of the parel to request resource usage info - - Agent with bored expression on face + + + Serializes object + + + serialized data - - Agent crying + + + Deserializes object from OSD + + An containing the data - - Agent showing disdain (dislike) for something + + Response message for parcel resource usage - - Agent with embarassed expression on face + + URL where parcel resource usage details can be retrieved - - Agent with frowning expression on face + + URL where parcel resource usage summary can be retrieved - - Agent with kissy face + + + Serializes object + + + serialized data - - Agent expressing laughgter + + + Deserializes object from OSD + + An containing the data - - Agent with open mouth + + + Detects which class handles deserialization of this message + + An containing the data + Object capable of decoding this message - - Agent with repulsed expression on face + + Parcel resource usage - - Agent expressing sadness + + Array of containing per percal resource usage - - Agent shrugging shoulders + + + Deserializes object from OSD + + An containing the data - - Agent with a smile + + + Reply to request for bunch if display names + - - Agent expressing surprise + + Current display name - - Agent sticking tongue out + + Following UUIDs failed to return a valid display name - - Agent with big toothy smile + + + Serializes the message + + OSD containting the messaage - - Agent winking + + + Message sent when requesting change of the display name + - - Agent expressing worry + + Current display name - - Agent falling down + + Desired new display name - - Agent walking (feminine version) + + + Serializes the message + + OSD containting the messaage - - Agent wagging finger (disapproval) + + + Message recieved in response to request to change display name + - - I'm not sure I want to know + + New display name - - Agent in superman position + + String message indicating the result of the operation - - Agent in superman position + + Numerical code of the result, 200 indicates success - - Agent greeting another + + + Serializes the message + + OSD containting the messaage - - Agent holding bazooka (right handed) + + + Message recieved when someone nearby changes their display name + - - Agent holding a bow (left handed) + + Previous display name, empty string if default - - Agent holding a handgun (right handed) + + New display name - - Agent holding a rifle (right handed) + + + Serializes the message + + OSD containting the messaage - - Agent throwing an object (right handed) + + + Return a decoded capabilities message as a strongly typed object + + A string containing the name of the capabilities message key + An to decode + A strongly typed object containing the decoded information from the capabilities message, or null + if no existing Message object exists for the specified event - - Agent in static hover + + + Permissions for control of object media + - - Agent hovering downward + + + Style of cotrols that shold be displayed to the user + - - Agent hovering upward + + + Class representing media data for a single face + - - Agent being impatient + + Is display of the alternative image enabled - - Agent jumping + + Should media auto loop - - Agent jumping with fervor + + Shoule media be auto played - - Agent point to lips then rear end + + Auto scale media to prim face - - Agent landing from jump, finished flight, etc + + Should viewer automatically zoom in on the face when clicked - - Agent laughing + + Should viewer interpret first click as interaction with the media + or when false should the first click be treated as zoom in commadn - - Agent landing from jump, finished flight, etc + + Style of controls viewer should display when + viewer media on this face - - Agent sitting on a motorcycle + + Starting URL for the media - - + + Currently navigated URL - - Agent moving head side to side + + Media height in pixes - - Agent moving head side to side with unhappy expression + + Media width in pixels - - Agent taunting another + + Who can controls the media - - + + Who can interact with the media - - Agent giving peace sign + + Is URL whitelist enabled - - Agent pointing at self + + Array of URLs that are whitelisted - - Agent pointing at another + + + Serialize to OSD + + OSDMap with the serialized data - - Agent preparing for jump (bending knees) + + + Deserialize from OSD data + + Serialized OSD data + Deserialized object - - Agent punching with left hand + + + Particle system specific enumerators, flags and methods. + - - Agent punching with right hand + + + Default constructor + - - Agent acting repulsed + + + Complete structure for the particle system + - - Agent trying to be Chuck Norris + + + Decodes a byte[] array into a ParticleSystem Object + + ParticleSystem object + Start position for BitPacker - - Rocks, Paper, Scissors 1, 2, 3 + + + Particle source pattern + - - Agent with hand flat over other hand + + None - - Agent with fist over other hand + + Drop particles from source position with no force - - Agent with two fingers spread over other hand + + "Explode" particles in all directions - - Agent running + + Particles shoot across a 2D area - - Agent appearing sad + + Particles shoot across a 3D Cone - - Agent saluting + + Inverse of AngleCone (shoot particles everywhere except the 3D cone defined - - Agent shooting bow (left handed) + + + Particle Data Flags + - - Agent cupping mouth as if shouting + + None - - Agent shrugging shoulders + + Interpolate color and alpha from start to end - - Agent in sit position + + Interpolate scale from start to end - - Agent in sit position (feminine) + + Bounce particles off particle sources Z height - - Agent in sit position (generic) + + velocity of particles is dampened toward the simulators wind - - Agent sitting on ground + + Particles follow the source - - Agent sitting on ground + + Particles point towards the direction of source's velocity - - + + Target of the particles - - Agent sleeping on side + + Particles are sent in a straight line - - Agent smoking + + Particles emit a glow - - Agent inhaling smoke + + used for point/grab/touch - - + + + Particle Flags Enum + - - Agent taking a picture + + None - - Agent standing + + Acceleration and velocity for particles are + relative to the object rotation - - Agent standing up + + Particles use new 'correct' angle parameters - - Agent standing + + Particle Flags + There appears to be more data packed in to this area + for many particle systems. It doesn't appear to be flag values + and serialization breaks unless there is a flag for every + possible bit so it is left as an unsigned integer - - Agent standing + + + pattern of particles - - Agent standing + + A representing the maximimum age (in seconds) particle will be displayed + Maximum value is 30 seconds - - Agent standing + + A representing the number of seconds, + from when the particle source comes into view, + or the particle system's creation, that the object will emits particles; + after this time period no more particles are emitted - - Agent stretching + + A in radians that specifies where particles will not be created + + + A in radians that specifies where particles will be created - - Agent in stride (fast walk) + + A representing the number of seconds between burts. - - Agent surfing + + A representing the number of meters + around the center of the source where particles will be created. - - Agent acting surprised + + A representing in seconds, the minimum speed between bursts of new particles + being emitted - - Agent striking with a sword + + A representing in seconds the maximum speed of new particles being emitted. - - Agent talking (lips moving) + + A representing the maximum number of particles emitted per burst - - Agent throwing a tantrum + + A which represents the velocity (speed) from the source which particles are emitted - - Agent throwing an object (right handed) + + A which represents the Acceleration from the source which particles are emitted - - Agent trying on a shirt + + The Key of the texture displayed on the particle - - Agent turning to the left + + The Key of the specified target object or avatar particles will follow - - Agent turning to the right + + Flags of particle from - - Agent typing + + Max Age particle system will emit particles for - - Agent walking + + The the particle has at the beginning of its lifecycle - - Agent whispering + + The the particle has at the ending of its lifecycle - - Agent whispering with fingers in mouth + + A that represents the starting X size of the particle + Minimum value is 0, maximum value is 4 - - Agent winking + + A that represents the starting Y size of the particle + Minimum value is 0, maximum value is 4 - - Agent winking + + A that represents the ending X size of the particle + Minimum value is 0, maximum value is 4 - - Agent worried + + A that represents the ending Y size of the particle + Minimum value is 0, maximum value is 4 - - Agent nodding yes + + + Generate byte[] array from particle data + + Byte array - - Agent nodding yes with happy face + + + Parameters used to construct a visual representation of a primitive + - - Agent floating with legs and arms crossed + + + - + - A dictionary containing all pre-defined animations - A dictionary containing the pre-defined animations, - where the key is the animations ID, and the value is a string - containing a name to identify the purpose of the animation - + - Level of Detail mesh - + - A linkset asset, containing a parent primitive and zero or more children - - Initializes a new instance of an AssetPrim object + + + - + - Initializes a new instance of an AssetPrim object - A unique specific to this asset - A byte array containing the raw asset data - + - - + - - - - Override the base classes AssetType + + + - + - Only used internally for XML serialization/deserialization - + - The deserialized form of a single primitive in a linkset asset - + - - - The event subscribers, null of no subscribers + + + - - Raises the AttachedSound Event - A AttachedSoundEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the AttachedSoundGainChange Event - A AttachedSoundGainChangeEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the SoundTrigger Event - A SoundTriggerEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + Attachment point to an avatar - - Raises the PreloadSound Event - A PreloadSoundEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - + - Construct a new instance of the SoundManager class, used for playing and receiving - sound assets - A reference to the current GridClient instance - + - Plays a sound in the current region at full volume from avatar position - UUID of the sound to be played - + - Plays a sound in the current region at full volume + Calculdates hash code for prim construction data - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. + The has - + - Plays a sound in the current region + Information on the flexible properties of a primitive - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - + - Plays a sound in the specified sim + Default constructor - UUID of the sound to be played. - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - + - Play a sound asset - UUID of the sound to be played. - handle id for the sim to be played in. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + - - Raised when the simulator sends us data containing - sound + + + - - Raised when the simulator sends us data containing - ... + + + - - Raised when the simulator sends us data containing - ... + + + + + + + + + + + - - Raised when the simulator sends us data containing - ... + + + Information on the light properties of a primitive + - - Provides data for the event - The event occurs when the simulator sends - the sound data which emits from an agents attachment - - The following code example shows the process to subscribe to the event - and a stub to handle the data passed from the simulator - - // Subscribe to the AttachedSound event - Client.Sound.AttachedSound += Sound_AttachedSound; - - // process the data raised in the event here - private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) - { - // ... Process AttachedSoundEventArgs here ... - } - - + + + Default constructor + - + - Construct a new instance of the SoundTriggerEventArgs class - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The volume level - The + + + + - - Simulator where the event originated + + + - - Get the sound asset id + + + - - Get the ID of the owner + + + - - Get the ID of the Object + + + - - Get the volume level + + + - - Get the + + + + + - - Provides data for the event - The event occurs when an attached sound - changes its volume level + + + + + - + - Construct a new instance of the AttachedSoundGainChangedEventArgs class + Information on the sculpt properties of a sculpted primitive - Simulator where the event originated - The ID of the Object - The new volume level - - Simulator where the event originated + + + Default constructor + - - Get the ID of the Object + + + + + + + - - Get the volume level + + + Render inside out (inverts the normals). + - - Provides data for the event - The event occurs when the simulator forwards - a request made by yourself or another agent to play either an asset sound or a built in sound - - Requests to play sounds where the is not one of the built-in - will require sending a request to download the sound asset before it can be played - - - The following code example uses the , - and - properties to display some information on a sound request on the window. - - // subscribe to the event - Client.Sound.SoundTrigger += Sound_SoundTrigger; - - // play the pre-defined BELL_TING sound - Client.Sound.SendSoundTrigger(Sounds.BELL_TING); - - // handle the response data - private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) - { - Console.WriteLine("{0} played the sound {1} at volume {2}", - e.OwnerID, e.SoundID, e.Gain); - } - - + + + Render an X axis mirror of the sculpty. + - + - Construct a new instance of the SoundTriggerEventArgs class + Extended properties to describe an object - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The ID of the objects parent - The volume level - The regionhandle - The source position - - Simulator where the event originated + + + Default constructor + - - Get the sound asset id + + + - - Get the ID of the owner + + + - - Get the ID of the Object + + + - - Get the ID of the objects parent + + + - - Get the volume level + + + - - Get the regionhandle + + + - - Get the source position + + + - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - + + + - + - Construct a new instance of the PreloadSoundEventArgs class - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - - Simulator where the event originated + + + - - Get the sound asset id + + + - - Get the ID of the owner + + + - - Get the ID of the Object + + + - + - A Name Value pair with additional settings, used in the protocol - primarily to transmit avatar names and active group in object packets - - + + + - - + + + - - + + + - - + + + - - + + + - + - Constructor that takes all the fields as parameters - - - - - - + - Constructor that takes a single line from a NameValue field - - - Type of the value + + + - - Unknown + + + - - String value + + + Set the properties that are set in an ObjectPropertiesFamily packet + + + that has + been partially filled by an ObjectPropertiesFamily packet - - + + + Describes physics attributes of the prim + - - + + Primitive's local ID - - + + Density (1000 for normal density) - - + + Friction - - Deprecated + + Gravity multiplier (1 for normal gravity) - - String value, but designated as an asset + + Type of physics representation of this primitive in the simulator - - + + Restitution - + - + Creates PhysicsProperties from OSD + OSDMap with incoming data + Deserialized PhysicsProperties object - - - - - - - - - - - + + + Serializes PhysicsProperties to OSD + + OSDMap with serialized PhysicsProperties data - + - + Texture animation mode - - - - - + + Disable texture animation - - + + Enable texture animation - - + + Loop when animating textures - - + + Animate in reverse direction - - Describes tasks returned in LandStatReply + + Animate forward then reverse - - - Estate level administration and utilities - + + Slide texture smoothly instead of frame-stepping - - Textures for each of the four terrain height levels + + Rotate texture instead of using frames - - Upper/lower texture boundaries for each corner of the sim + + Scale texture instead of using frames - + - Constructor for EstateTools class + A single textured face. Don't instantiate this class yourself, use the + methods in TextureEntry - - - - The event subscribers. null if no subcribers - - Raises the TopCollidersReply event - A TopCollidersReplyEventArgs object containing the - data returned from the data server - - - Thread sync lock object + + + Contains the definition for individual faces + + + - - The event subscribers. null if no subcribers + + + - - Raises the TopScriptsReply event - A TopScriptsReplyEventArgs object containing the - data returned from the data server + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the EstateUsersReply event - A EstateUsersReplyEventArgs object containing the - data returned from the data server + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the EstateGroupsReply event - A EstateGroupsReplyEventArgs object containing the - data returned from the data server + + + - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the EstateManagersReply event - A EstateManagersReplyEventArgs object containing the - data returned from the data server + + In the future this will specify whether a webpage is + attached to this face - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + + + - - Raises the EstateBansReply event - A EstateBansReplyEventArgs object containing the - data returned from the data server + + + Represents all of the texturable faces for an object + + Grid objects have infinite faces, with each face + using the properties of the default face unless set otherwise. So if + you have a TextureEntry with a default texture uuid of X, and face 18 + has a texture UUID of Y, every face would be textured with X except for + face 18 that uses Y. In practice however, primitives utilize a maximum + of nine faces - - Thread sync lock object + + + Constructor that takes a default texture UUID + + Texture UUID to use as the default texture - - The event subscribers. null if no subcribers + + + Constructor that takes a TextureEntryFace for the + default face + + Face to use as the default face - - Raises the EstateCovenantReply event - A EstateCovenantReplyEventArgs object containing the - data returned from the data server + + + Constructor that creates the TextureEntry class from a byte array + + Byte array containing the TextureEntry field + Starting position of the TextureEntry field in + the byte array + Length of the TextureEntry field, in bytes - - Thread sync lock object + + + - - The event subscribers. null if no subcribers + + + - - Raises the EstateUpdateInfoReply event - A EstateUpdateInfoReplyEventArgs object containing the - data returned from the data server + + + This will either create a new face if a custom face for the given + index is not defined, or return the custom face for that index if + it already exists + + The index number of the face to create or + retrieve + A TextureEntryFace containing all the properties for that + face - - Thread sync lock object + + + + + + + - + - Requests estate information such as top scripts and colliders - - - - + + - - Requests estate settings, including estate manager and access/ban lists + + + + + - - Requests the "Top Scripts" list for the current region + + + + + - - Requests the "Top Colliders" list for the current region + + + Controls the texture animation of a particular prim + - + - Set several estate specific configuration variables - The Height of the waterlevel over the entire estate. Defaults to 20 - The maximum height change allowed above the baked terrain. Defaults to 4 - The minimum height change allowed below the baked terrain. Defaults to -4 - true to use - if True forces the sun position to the position in SunPosition - The current position of the sun on the estate, or when FixedSun is true the static position - the sun will remain. 6.0 = Sunrise, 30.0 = Sunset + + + + - + - Request return of objects owned by specified avatar - The Agents owning the primitives to return - specify the coverage and type of objects to be included in the return - true to perform return on entire estate - - - - + + + - + - Used for setting and retrieving various estate panel settings - EstateOwnerMessage Method field - List of parameters to include - + - Kick an avatar from an estate - Key of Agent to remove - + - Ban an avatar from an estate - Key of Agent to remove - Ban user from this estate and all others owned by the estate owner + - - Unban an avatar from an estate - Key of Agent to remove - /// Unban user from this estate and all others owned by the estate owner + + + - + - Send a message dialog to everyone in an entire estate - Message to send all users in the estate - + - Send a message dialog to everyone in a simulator - Message to send all users in the simulator + + - + - Send an avatar back to their home location + Current version of the media data for the prim - Key of avatar to send home - + - Begin the region restart process + Array of media entries indexed by face number - + - Cancels a region restart - - Estate panel "Region" tab settings - - - Estate panel "Debug" tab settings - - - Used for setting the region's terrain textures for its four height levels - - - - - - - Used for setting sim terrain texture heights - - - Requests the estate covenant - - + - Upload a terrain RAW file - A byte array containing the encoded terrain data - The name of the file being uploaded - The Id of the transfer request - + - Teleports all users home in current Estate - + - Remove estate manager - Key of Agent to Remove - removes manager to this estate and all others owned by the estate owner + - + - Add estate manager - Key of Agent to Add - Add agent as manager to this estate and all others owned by the estate owner + - + - Add's an agent to the estate Allowed list - Key of Agent to Add - Add agent as an allowed reisdent to All estates if true + - + - Removes an agent from the estate Allowed list - Key of Agent to Remove - Removes agent as an allowed reisdent from All estates if true - - - - - Add's a group to the estate Allowed list - Key of Group to Add - Add Group as an allowed group to All estates if true - - - - - Removes a group from the estate Allowed list - Key of Group to Remove - Removes Group as an allowed Group from All estates if true - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. + - - Raised when the data server responds to a request. + + Foliage type for this primitive. Only applicable if this + primitive is foliage - - Raised when the data server responds to a request. + + Unknown - - Raised when the data server responds to a request. + + + - - Used in the ReportType field of a LandStatRequest + + + - - Used by EstateOwnerMessage packets + + + - - Used by EstateOwnerMessage packets + + + - + - - - No flags set + + + - - Only return targets scripted objects + + + - - Only return targets objects if on others land + + + - - Returns target's scripted objects and objects on other parcels + + + - - Ground texture settings for each corner of the region + + + - - Used by GroundTextureHeightSettings + + + - - The high and low texture thresholds for each corner of the sim + + + - - Raised on LandStatReply when the report type is for "top colliders" + + Identifies the owner if audio or a particle system is + active - - Construct a new instance of the TopCollidersReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + + - + - The number of returned items in LandStatReply - + - A Dictionary of Object UUIDs to tasks returned in LandStatReply - - Raised on LandStatReply when the report type is for "top Scripts" + + + - - Construct a new instance of the TopScriptsReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply + + + - + - The number of scripts returned in LandStatReply - + - A Dictionary of Object UUIDs to tasks returned in LandStatReply - - Returned, along with other info, upon a successful .RequestInfo() + + + - - Construct a new instance of the EstateBansReplyEventArgs class - The estate's identifier on the grid - The number of returned items in LandStatReply - User UUIDs banned + + + - + - The identifier of the estate - + - The number of returned itmes - + - List of UUIDs of Banned Users - - Returned, along with other info, upon a successful .RequestInfo() + + Objects physics engine propertis - - Construct a new instance of the EstateUsersReplyEventArgs class - The estate's identifier on the grid - The number of users - Allowed users UUIDs + + Extra data about primitive - + + Indicates if prim is attached to an avatar + + - The identifier of the estate - + - The number of returned items - + + Uses basic heuristics to estimate the primitive shape + + - List of UUIDs of Allowed Users + Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters in to signed eight bit values + Floating point parameter to pack + Signed eight bit value containing the packed parameter - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateGroupsReplyEventArgs class - The estate's identifier on the grid - The number of Groups - Allowed Groups UUIDs + + + Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters from signed eight bit integers to floating point values + + Signed eight bit value to unpack + Unpacked floating point value - + - The identifier of the estate + The type of bump-mapping applied to a face - + - The number of returned items - + - List of UUIDs of Allowed Groups - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateManagersReplyEventArgs class - The estate's identifier on the grid - The number of Managers - Managers UUIDs - - + - The identifier of the estate - + - The number of returned items - + - List of UUIDs of the Estate's Managers - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateCovenantReplyEventArgs class - The Covenant ID - The timestamp - The estate's name - The Estate Owner's ID (can be a GroupID) - - + - The Covenant - + - The timestamp - + - The Estate name - + - The Estate Owner's ID (can be a GroupID) - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateUpdateInfoReplyEventArgs class - The estate's name - The Estate Owners ID (can be a GroupID) - The estate's identifier on the grid - - - + - The estate's name - + - The Estate Owner's ID (can be a GroupID) - + - The identifier of the estate on the grid - - - - + - Holds group information for Avatars such as those you might find in a profile - - true of Avatar accepts group notices - - - Groups Key - - - Texture Key for groups insignia - - - Name of the group - - - Powers avatar has in the group - - - Avatars Currently selected title - - - true of Avatar has chosen to list this in their profile - - + - Contains an animation currently being played by an agent - - The ID of the animation asset - - - A number to indicate start order of currently playing animations - On Linden Grids this number is unique per region, with OpenSim it is per client - - - + + + - + - Holds group information on an individual profile pick - + - Retrieve friend status notifications, and retrieve avatar names and - profiles - - The event subscribers, null of no subscribers + + + - - Raises the AvatarAnimation Event - An AvatarAnimationEventArgs object containing - the data sent from the simulator + + + The level of shininess applied to a face + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the AvatarAppearance Event - A AvatarAppearanceEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + The texture mapping style used for a face + - - Raises the UUIDNameReply Event - A UUIDNameReplyEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the AvatarInterestsReply Event - A AvatarInterestsReplyEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + Flags in the TextureEntry block that describe which properties are + set + - - The event subscribers, null of no subscribers + + + - - Raises the AvatarPropertiesReply Event - A AvatarPropertiesReplyEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the AvatarGroupsReply Event - A AvatarGroupsReplyEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the AvatarPickerReply Event - A AvatarPickerReplyEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + - - Raises the ViewerEffectPointAt Event - A ViewerEffectPointAtEventArgs object containing - the data sent from the simulator + + + - - Thread sync lock object + + + - - The event subscribers, null of no subscribers + + + Level of Detail mesh + - - Raises the ViewerEffectLookAt Event - A ViewerEffectLookAtEventArgs object containing - the data sent from the simulator + + + Contains all mesh faces that belong to a prim + - - Thread sync lock object + + List of primitive faces - - The event subscribers, null of no subscribers + + + Decodes mesh asset into FacetedMesh + + Mesh primitive + Asset retrieved from the asset server + Level of detail + Resulting decoded FacetedMesh + True if mesh asset decoding was successful - - Raises the ViewerEffect Event - A ViewerEffectEventArgs object containing - the data sent from the simulator + + + Constructor for default logging settings + - - Thread sync lock object + + Enable logging - - The event subscribers, null of no subscribers + + The folder where any logs will be created - - Raises the AvatarPicksReply Event - A AvatarPicksReplyEventArgs object containing - the data sent from the simulator + + This will be prepended to beginning of each log file - - Thread sync lock object + + The suffix or extension to be appended to each log file - - The event subscribers, null of no subscribers + + + 0: NONE - No logging + 1: ERROR - Log errors only + 2: WARNING - Log errors and warnings + 3: INFO - Log errors, warnings and info + 4: DEBUG - Log errors, warnings, info and debug + - - Raises the PickInfoReply Event - A PickInfoReplyEventArgs object containing - the data sent from the simulator + + Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter + + + Event for most mundane request reposnses. + - - Thread sync lock object + + Response to Connector.Create request - - The event subscribers, null of no subscribers + + Response to Aux.GetCaptureDevices request - - Raises the AvatarClassifiedReply Event - A AvatarClassifiedReplyEventArgs object containing - the data sent from the simulator + + Response to Aux.GetRenderDevices request - - Thread sync lock object + + Audio Properties Events are sent after audio capture is started. + These events are used to display a microphone VU meter - - The event subscribers, null of no subscribers + + Response to Account.Login request - - Raises the ClassifiedInfoReply Event - A ClassifiedInfoReplyEventArgs object containing - the data sent from the simulator + + This event message is sent whenever the login state of the + particular Account has transitioned from one value to another - - Thread sync lock object + + + List of audio input devices + - + - Represents other avatars + List of audio output devices - - - Tracks the specified avatar on your map - Avatar ID to track + + + Set audio test mode + - + - Request a single avatar name + This is used to login a specific user account(s). It may only be called after + Connector initialization has completed successfully - The avatar key to retrieve a name for + Handle returned from successful Connector �create� request + User's account name + User's account password + Values may be �AutoAnswer� or �VerifyAnswer� + "" + This is an integer that specifies how often + the daemon will send participant property events while in a channel. If this is not set + the default will be �on state change�, which means that the events will be sent when + the participant starts talking, stops talking, is muted, is unmuted. + The valid values are: + 0 � Never + 5 � 10 times per second + 10 � 5 times per second + 50 � 1 time per second + 100 � on participant state change (this is the default) + false + + - + - Request a list of avatar names + This is used to logout a user session. It should only be called with a valid AccountHandle. - The avatar keys to retrieve names for + Handle returned from successful Connector �login� request + + - + - Start a request for Avatar Properties + This is used to get a list of audio devices that can be used for capture (input) of voice. - + + - + - Search for an avatar (first name, last name) + This is used to get a list of audio devices that can be used for render (playback) of voice. - The name to search for - An ID to associate with this query - + - Start a request for Avatar Picks + This command is used to select the render device. - UUID of the avatar + The name of the device as returned by the Aux.GetRenderDevices command. - + - Start a request for Avatar Classifieds + This command is used to select the capture device. - UUID of the avatar + The name of the device as returned by the Aux.GetCaptureDevices command. - + - Start a request for details of a specific profile pick + This command is used to start the audio capture process which will cause + AuxAudioProperty Events to be raised. These events can be used to display a + microphone VU meter for the currently selected capture device. This command + should not be issued if the user is on a call. - UUID of the avatar - UUID of the profile pick + (unused but required) + + - + - Start a request for details of a specific profile classified + This command is used to stop the audio capture process. - UUID of the avatar - UUID of the profile classified + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + This command is used to set the mic volume while in the audio tuning process. + Once an acceptable mic level is attained, the application must issue a + connector set mic volume command to have that level be used while on voice + calls. + + the microphone volume (-100 to 100 inclusive) + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + This command is used to set the speaker volume while in the audio tuning + process. Once an acceptable speaker level is attained, the application must + issue a connector set speaker volume command to have that level be used while + on voice calls. + + the speaker volume (-100 to 100 inclusive) + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + This is used to initialize and stop the Connector as a whole. The Connector + Create call must be completed successfully before any other requests are made + (typically during application initialization). The shutdown should be called + when the application is shutting down to gracefully release resources + + A string value indicting the Application name + URL for the management server + LoggingSettings + + + + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Shutdown Connector -- Should be called when the application is shutting down + to gracefully release resources + + Handle returned from successful Connector �create� request - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Mute or unmute the microphone + + Handle returned from successful Connector �create� request + true (mute) or false (unmute) - + - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. + Mute or unmute the speaker - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet + Handle returned from successful Connector �create� request + true (mute) or false (unmute) - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Set microphone volume + + Handle returned from successful Connector �create� request + The level of the audio, a number between -100 and 100 where + 0 represents �normal� speaking volume - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Set local speaker volume + + Handle returned from successful Connector �create� request + The level of the audio, a number between -100 and 100 where + 0 represents �normal� speaking volume - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Start up the Voice service. + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Handle miscellaneous request status + + + + + + ///If something goes wrong, we log it. + + + Cleanup oject resources + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Request voice cap when changing regions + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Handle a change in session state + - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data + + + Close a voice session + + + - - Raised when the simulator sends us data containing - an agents animation playlist + + + Locate a Session context from its handle + + Creates the session context if it does not exist. - - Raised when the simulator sends us data containing - the appearance information for an agent + + + Handle completion of main voice cap request. + + + + + + + - - Raised when the simulator sends us data containing - agent names/id values + + + Daemon has started so connect to it. + - - Raised when the simulator sends us data containing - the interests listed in an agents profile + + + The daemon TCP connection is open. + - - Raised when the simulator sends us data containing - profile property information for an agent + + + Handle creation of the Connector. + - - Raised when the simulator sends us data containing - the group membership an agent is a member of + + + Handle response to audio output device query + - - Raised when the simulator sends us data containing - name/id pair + + + Handle response to audio input device query + - - Raised when the simulator sends us data containing - the objects and effect when an agent is pointing at + + + Set voice channel for new parcel + - - Raised when the simulator sends us data containing - the objects and effect when an agent is looking at + + + Request info from a parcel capability Uri. + + + - - Raised when the simulator sends us data containing - an agents viewer effect information + + + Receive parcel voice cap + + + + + + + - - Raised when the simulator sends us data containing - the top picks from an agents profile + + + Tell Vivox where we are standing + + This has to be called when we move or turn. - - Raised when the simulator sends us data containing - the Pick details + + + Start and stop updating out position. + + + - - Raised when the simulator sends us data containing - the classified ads an agent has placed + + + Starts a thread that keeps the daemon running + + + + + - - Raised when the simulator sends us data containing - the details of a classified ad + + + Stops the daemon and the thread keeping it running + - - Provides data for the event - The event occurs when the simulator sends - the animation playlist for an agent - - The following code example uses the and - properties to display the animation playlist of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; - - private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) - { - // create a dictionary of "known" animations from the Animations class using System.Reflection - Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); - Type type = typeof(Animations); - System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); - foreach (System.Reflection.FieldInfo field in fields) - { - systemAnimations.Add((UUID)field.GetValue(type), field.Name); - } - - // find out which animations being played are known animations and which are assets - foreach (Animation animation in e.Animations) - { - if (systemAnimations.ContainsKey(animation.AnimationID)) - { - Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, - systemAnimations[animation.AnimationID], animation.AnimationSequence); - } - else - { - Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, - animation.AnimationID, animation.AnimationSequence); - } - } - } - - + + + + + + + + + - + - Construct a new instance of the AvatarAnimationEventArgs class + Create a Session + Sessions typically represent a connection to a media session with one or more + participants. This is used to generate an �outbound� call to another user or + channel. The specifics depend on the media types involved. A session handle is + required to control the local user functions within the session (or remote + users if the current account has rights to do so). Currently creating a + session automatically connects to the audio media, there is no need to call + Session.Connect at this time, this is reserved for future use. - The ID of the agent - The list of animations to start + Handle returned from successful Connector �create� request + This is the URI of the terminating point of the session (ie who/what is being called) + This is the display name of the entity being called (user or channel) + Only needs to be supplied when the target URI is password protected + This indicates the format of the password as passed in. This can either be + �ClearText� or �SHA1UserName�. If this element does not exist, it is assumed to be �ClearText�. If it is + �SHA1UserName�, the password as passed in is the SHA1 hash of the password and username concatenated together, + then base64 encoded, with the final �=� character stripped off. + + + + + + - - Get the ID of the agent + + + Used to accept a call + + SessionHandle such as received from SessionNewEvent + "default" + + - - Get the list of animations to start + + + This command is used to start the audio render process, which will then play + the passed in file through the selected audio render device. This command + should not be issued if the user is on a call. + + The fully qualified path to the sound file. + True if the file is to be played continuously and false if it is should be played once. + + - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - + + + This command is used to stop the audio render process. + + The fully qualified path to the sound file issued in the start render command. + + - + - Construct a new instance of the AvatarAppearanceEventArgs class + This is used to �end� an established session (i.e. hang-up or disconnect). - The simulator request was from - The ID of the agent - true of the agent is a trial account - The default agent texture - The agents appearance layer textures - The for the agent + Handle returned from successful Session �create� request or a SessionNewEvent + + - - Get the Simulator this request is from of the agent + + + Set the combined speaking and listening position in 3D space. + + Handle returned from successful Session �create� request or a SessionNewEvent + Speaking position + Listening position + + - - Get the ID of the agent + + + Set User Volume for a particular user. Does not affect how other users hear that user. + + Handle returned from successful Session �create� request or a SessionNewEvent + + + The level of the audio, a number between -100 and 100 where 0 represents �normal� speaking volume + + - - true if the agent is a trial account + + Positional vector of the users position - - Get the default agent texture + + Velocity vector of the position - - Get the agents appearance layer textures + + At Orientation (X axis) of the position - - Get the for the agent + + Up Orientation (Y axis) of the position - - Represents the interests from the profile of an agent + + Left Orientation (Z axis) of the position - - Get the ID of the agent + + + Extract the avatar UUID encoded in a SIP URI + + + + + - - The properties of an agent + + + Represents a single Voice Session to the Vivox service. + - - Get the ID of the agent + + + Close this session. + - - Get the ID of the agent + + + Look up an existing Participants in this session + + + + + - - Get the ID of the agent + + + + + + + - - Get the ID of the avatar + + + A callback fired to indicate the status or final state of the requested texture. For progressive + downloads this will fire each time new asset data is returned from the simulator. + + The indicating either Progress for textures not fully downloaded, + or the final result of the request after it has been processed through the TexturePipeline + The object containing the Assets ID, raw data + and other information. For progressive rendering the will contain + the data from the beginning of the file. For failed, aborted and timed out requests it will contain + an empty byte array.
diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 523f5a7..7e742e2 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML index befc8d4..ce1298e 100644 --- a/bin/OpenMetaverseTypes.XML +++ b/bin/OpenMetaverseTypes.XML @@ -1,131 +1,239 @@ - OpenMetaverseTypes + /home/root/libomv-0.9.1-source/bin/OpenMetaverseTypes - + - A three-dimensional vector with doubleing-point values + Same as Queue except Dequeue function blocks until there is an object to return. + Note: This class does not need to be synchronized - - X value + + + Create new BlockingQueue. + + The System.Collections.ICollection to copy elements from - - Y value + + + Create new BlockingQueue. + + The initial number of elements that the queue can contain - - Z value + + + Create new BlockingQueue. + - + - Constructor, builds a vector from a byte array + Gets flag indicating if queue has been closed. - Byte array containing three eight-byte doubles - Beginning position in the byte array - + - Test if this vector is equal to another vector, within a given - tolerance range + BlockingQueue Destructor (Close queue, resume any waiting thread). - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - + - IComparable.CompareTo implementation + Remove all objects from the Queue. - + - Test if this vector is composed of all finite numbers + Remove all objects from the Queue, resume all dequeue threads. - + - Builds a vector from a byte array + Removes and returns the object at the beginning of the Queue. - Byte array containing a 24 byte vector - Beginning position in the byte array + Object in queue. - + - Returns the raw bytes for this vector + Removes and returns the object at the beginning of the Queue. - A 24 byte array containing X, Y, and Z + time to wait before returning + Object in queue. - + - Writes the raw bytes for this vector to a byte array + Removes and returns the object at the beginning of the Queue. - Destination byte array - Position in the destination array to start - writing. Must be at least 24 bytes before the end of the array + time to wait before returning (in milliseconds) + Object in queue. - + - Parse a vector from a string + Adds an object to the end of the Queue - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas + Object to put in queue - + - Interpolates between two vectors using a cubic equation + Open Queue. - + - Get a formatted string representation of the vector + Copy constructor - A string representation of the vector + Circular queue to copy - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + An 8-bit color structure including an alpha channel - Raw string representation of the vector - + - Cross product between two vectors + + + + + + + + - - A vector with a value of 0,0,0 + + + Builds a color from a byte array + + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 - - A vector with a value of 1,1,1 + + + Returns the raw bytes for this vector + + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted + A 16 byte array containing R, G, B, and A - - A unit vector facing forward (X axis), value of 1,0,0 + + + Copy constructor + + Color to copy - - A unit vector facing left (Y axis), value of 0,1,0 + + Red - - A unit vector facing up (Z axis), value of 0,0,1 + + Green + + + Blue + + + Alpha + + + A Color4 with zero RGB values and fully opaque (alpha 1.0) + + + A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) + + + + IComparable.CompareTo implementation + + Sorting ends up like this: |--Grayscale--||--Color--|. + Alpha is only used when the colors are otherwise equivalent + + + + Builds a color from a byte array + + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted + + + + Writes the raw bytes for this color to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Serializes this color into four bytes in a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 4 bytes before the end of the array + True to invert the output (1.0 becomes 0 + instead of 255) + + + + Writes the raw bytes for this color to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Ensures that values are in range 0-1 + + + + + Create an RGB color from a hue, saturation, value combination + + Hue + Saturation + Value + An fully opaque RGB color (alpha is 1.0) + + + + Performs linear interpolation between two colors + + Color to start at + Color to end at + Amount to interpolate + The interpolated color Attribute class that allows extra attributes to be attached to ENUMs - - Text used when presenting ENUM to user - Default initializer Text used when presenting ENUM to user + + Text used when presenting ENUM to user + The different types of grid assets @@ -147,11 +255,11 @@ Link to a location in world - Collection of textures and parameters that can be + Collection of textures and parameters that can be worn by an avatar - Primitive that can contain textures, sounds, + Primitive that can contain textures, sounds, scripts and more @@ -259,34 +367,42 @@ Notecard - + + Folder - + + an LSL Script - + + - + + - + + - + + - + + - + + @@ -355,2171 +471,2071 @@ Tattoo + + Physics + Invalid wearable asset - + - A hierarchical token bucket for bandwidth throttling. See - http://en.wikipedia.org/wiki/Token_bucket for more information + Identifier code for primitive types - - Parent bucket to this bucket, or null if this is a root - bucket + + None - - Size of the bucket in bytes. If zero, the bucket has - infinite capacity + + A Primitive - - Rate that the bucket fills, in bytes per millisecond. If - zero, the bucket always remains full + + A Avatar - - Number of tokens currently in the bucket + + Linden grass - - Time of the last drip, in system ticks + + Linden tree - - - Default constructor - - Parent bucket if this is a child bucket, or - null if this is a root bucket - Maximum size of the bucket in bytes, or - zero if this bucket has no maximum capacity - Rate that the bucket fills, in bytes per - second. If zero, the bucket always remains full + + A primitive that acts as the source for a particle stream - + + A Linden tree + + - Remove a given number of tokens from the bucket + Primary parameters for primitives such as Physics Enabled or Phantom - Number of tokens to remove from the bucket - True if the requested number of tokens were removed from - the bucket, otherwise false - + + Deprecated + + + Whether physics are enabled for this object + + - Remove a given number of tokens from the bucket - Number of tokens to remove from the bucket - True if tokens were added to the bucket - during this call, otherwise false - True if the requested number of tokens were removed from - the bucket, otherwise false - + - Add tokens to the bucket over time. The number of tokens added each - call depends on the length of time that has passed since the last - call to Drip - True if tokens were added to the bucket, otherwise false - + - The parent bucket of this bucket, or null if this bucket has no - parent. The parent bucket will limit the aggregate bandwidth of all - of its children buckets - + - Maximum burst rate in bytes per second. This is the maximum number - of tokens that can accumulate in the bucket at any one time - + - The speed limit of this bucket in bytes per second. This is the - number of tokens that are added to the bucket per second - Tokens are added to the bucket any time - is called, at the granularity of - the system tick interval (typically around 15-22ms) - + - The number of bytes that can be sent at this moment. This is the - current number of tokens in the bucket - If this bucket has a parent bucket that does not have - enough tokens for a request, will - return false regardless of the content of this bucket - + + Whether this object contains an active touch script + + - A thread-safe lockless queue that supports multiple readers and - multiple writers - - Queue head + + Whether this object can receive payments - - Queue tail + + Whether this object is phantom (no collisions) - - Queue item count + + + - + - Constructor - + - Enqueue an item - Item to enqeue - + - Try to dequeue an item - Dequeued item if the dequeue was successful - True if an item was successfully deqeued, otherwise false - - Gets the current number of items in the queue. Since this - is a lockless collection this value should be treated as a close - estimate + + Deprecated - + - Provides a node container for data in a singly linked list - - Pointer to the next node in list + + + - - The data contained by the node + + + - + + Deprecated + + - Constructor - + - Constructor - + - An 8-bit color structure including an alpha channel - - Red + + + - - Green + + Server flag, will not be sent to clients. Specifies that + the object is destroyed when it touches a simulator edge - - Blue + + Server flag, will not be sent to clients. Specifies that + the object will be returned to the owner's inventory when it + touches a simulator edge - - Alpha + + Server flag, will not be sent to clients. - + + Server flag, will not be sent to client. Specifies that + the object is hovering/flying + + - - - - - - + - Builds a color from a byte array - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - + - Returns the raw bytes for this vector - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - A 16 byte array containing R, G, B, and A - + - Copy constructor - Color to copy - + - IComparable.CompareTo implementation + Sound flags for sounds attached to primitives - Sorting ends up like this: |--Grayscale--||--Color--|. - Alpha is only used when the colors are otherwise equivalent - + - Builds a color from a byte array - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - + - Writes the raw bytes for this color to a byte array - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - + - Serializes this color into four bytes in a byte array - Destination byte array - Position in the destination array to start - writing. Must be at least 4 bytes before the end of the array - True to invert the output (1.0 becomes 0 - instead of 255) - + - Writes the raw bytes for this color to a byte array - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - + - Ensures that values are in range 0-1 - + - Create an RGB color from a hue, saturation, value combination - Hue - Saturation - Value - An fully opaque RGB color (alpha is 1.0) - + - Performs linear interpolation between two colors - Color to start at - Color to end at - Amount to interpolate - The interpolated color - - - A Color4 with zero RGB values and fully opaque (alpha 1.0) - - A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) + + + Material type for a primitive + - + - Determines the appropriate events to set, leaves the locks, and sets the events. - + - A routine for lazily creating a event outside the lock (so if errors - happen they are outside the lock and that we don't do much work - while holding a spin lock). If all goes well, reenter the lock and - set 'waitEvent' - + - Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. - Before the wait 'numWaiters' is incremented and is restored before leaving this routine. - + - Copy constructor - Circular queue to copy - + - A 128-bit Universally Unique Identifier, used throughout the Second - Life networking protocol - - The System.Guid object this struct wraps around - - + - Constructor that takes a string UUID representation - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Constructor that takes a System.Guid object - A Guid object that contains the unique identifier - to be represented by this UUID - + - Constructor that takes a byte array containing a UUID - Byte array containing a 16 byte UUID - Beginning offset in the array - + - Constructor that takes an unsigned 64-bit unsigned integer to - convert to a UUID + Used in a helper function to roughly determine prim shape - 64-bit unsigned integer to convert to a UUID - + - Copy constructor + Extra parameters for primitives, these flags are for features that have + been added after the original ObjectFlags that has all eight bits + reserved already - UUID to copy - - - IComparable.CompareTo implementation - + + Whether this object has flexible parameters - - - Assigns this UUID from 16 bytes out of a byte array - - Byte array containing the UUID to assign this UUID to - Starting position of the UUID in the byte array + + Whether this object has light parameters - + + Whether this object is a sculpted prim + + + Whether this object is a mesh + + - Returns a copy of the raw bytes for this UUID - A 16 byte array containing this UUID - + - Writes the raw bytes for this UUID to a byte array - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - + - Calculate an LLCRC (cyclic redundancy check) for this UUID - The CRC checksum for this UUID - + - Create a 64-bit integer representation from the second half of this UUID - An integer created from the last eight bytes of this UUID - + - Generate a UUID from a string - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Generate a UUID from a string - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - Will contain the parsed UUID if successful, - otherwise null - True if the string was successfully parse, otherwise false - UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) - + - Combine two UUIDs together by taking the MD5 hash of a byte array - containing both UUIDs - First UUID to combine - Second UUID to combine - The UUID product of the combination - + - - - + - Return a hash code for this UUID, used by .NET for hash tables - An integer composed of all the UUID bytes XORed together - + - Comparison function - An object to compare to this UUID - True if the object is a UUID and both UUIDs are equal - + - Comparison function - UUID to compare to - True if the UUIDs are equal, otherwise false - + - Get a hyphenated string representation of this UUID - A string representation of this UUID, lowercase and - with hyphens - 11f8aa9c-b071-4242-836b-13b7abe0d489 - + - Equals operator - First UUID for comparison - Second UUID for comparison - True if the UUIDs are byte for byte equal, otherwise false - + - Not equals operator - First UUID for comparison - Second UUID for comparison - True if the UUIDs are not equal, otherwise true - + - XOR operator - First UUID - Second UUID - A UUID that is a XOR combination of the two input UUIDs - + - String typecasting operator - A UUID in string form. Case insensitive, - hyphenated or non-hyphenated - A UUID built from the string representation - - - An UUID with a value of all zeroes - - - A cache of UUID.Zero as a string to optimize a common path - - - Used for converting degrees to radians - - - Used for converting radians to degrees - - - Provide a single instance of the CultureInfo class to - help parsing in situations where the grid assumes an en-us - culture - - - UNIX epoch in DateTime format - - - Provide a single instance of the MD5 class to avoid making - duplicate copies and handle thread safety - - - Provide a single instance of the SHA-1 class to avoid - making duplicate copies and handle thread safety - - - Provide a single instance of a random number generator - to avoid making duplicate copies and handle thread safety - + - Clamp a given value between a range - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - + - Clamp a given value between a range - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - + - Clamp a given value between a range - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - + - Round a floating-point value to the nearest integer - Floating point number to round - Integer - + - Test if a single precision float is a finite number - + - Test if a double precision float is a finite number - + - Get the distance between two floating-point values - First value - Second value - The distance between the two values - + - Compute the MD5 hash for a byte array - Byte array to compute the hash for - MD5 hash of the input data - + - Compute the SHA1 hash for a byte array - Byte array to compute the hash for - SHA1 hash of the input data - + - Calculate the SHA1 hash of a given string - The string to hash - The SHA1 hash as a string - + - Compute the SHA256 hash for a byte array - Byte array to compute the hash for - SHA256 hash of the input data - + - Calculate the SHA256 hash of a given string - The string to hash - The SHA256 hash as a string - + - Calculate the MD5 hash of a given string - The password to hash - An MD5 hash in string format, with $1$ prepended - + - Calculate the MD5 hash of a given string - The string to hash - The MD5 hash as a string - + - Generate a random double precision floating point value - Random value of type double - + - Get the current running platform + Attachment points for objects on avatar bodies - Enumeration of the current platform we are running on + + Both InventoryObject and InventoryAttachment types can be attached + - - - Get the current running runtime - - Enumeration of the current runtime we are running on + + Right hand if object was not previously attached - - - Convert the first two bytes starting in the byte array in - little endian ordering to a signed short integer - - An array two bytes or longer - A signed short integer, will be zero if a short can't be - read at the given position + + Chest - - - Convert the first two bytes starting at the given position in - little endian ordering to a signed short integer - - An array two bytes or longer - Position in the array to start reading - A signed short integer, will be zero if a short can't be - read at the given position + + Skull - + + Left shoulder + + + Right shoulder + + + Left hand + + + Right hand + + + Left foot + + + Right foot + + + Spine + + + Pelvis + + + Mouth + + + Chin + + + Left ear + + + Right ear + + + Left eyeball + + + Right eyeball + + + Nose + + + Right upper arm + + + Right forearm + + + Left upper arm + + + Left forearm + + + Right hip + + + Right upper leg + + + Right lower leg + + + Left hip + + + Left upper leg + + + Left lower leg + + + Stomach + + + Left pectoral + + + Right pectoral + + + HUD Center position 2 + + + HUD Top-right + + + HUD Top + + + HUD Top-left + + + HUD Center + + + HUD Bottom-left + + + HUD Bottom + + + HUD Bottom-right + + - Convert the first four bytes starting at the given position in - little endian ordering to a signed integer + Tree foliage types - An array four bytes or longer - Position to start reading the int from - A signed integer, will be zero if an int can't be read - at the given position - + + Pine1 tree + + + Oak tree + + + Tropical Bush1 + + + Palm1 tree + + + Dogwood tree + + + Tropical Bush2 + + + Palm2 tree + + + Cypress1 tree + + + Cypress2 tree + + + Pine2 tree + + + Plumeria + + + Winter pinetree1 + + + Winter Aspen tree + + + Winter pinetree2 + + + Eucalyptus tree + + + Fern + + + Eelgrass + + + Sea Sword + + + Kelp1 plant + + + Beach grass + + + Kelp2 plant + + - Convert the first four bytes of the given array in little endian - ordering to a signed integer + Grass foliage types - An array four bytes or longer - A signed integer, will be zero if the array contains - less than four bytes - + - Convert the first eight bytes of the given array in little endian - ordering to a signed long integer - An array eight bytes or longer - A signed long integer, will be zero if the array contains - less than eight bytes - + - Convert the first eight bytes starting at the given position in - little endian ordering to a signed long integer - An array eight bytes or longer - Position to start reading the long from - A signed long integer, will be zero if a long can't be read - at the given position - + - Convert the first two bytes starting at the given position in - little endian ordering to an unsigned short - Byte array containing the ushort - Position to start reading the ushort from - An unsigned short, will be zero if a ushort can't be read - at the given position - + - Convert two bytes in little endian ordering to an unsigned short - Byte array containing the ushort - An unsigned short, will be zero if a ushort can't be - read - + - Convert the first four bytes starting at the given position in - little endian ordering to an unsigned integer - Byte array containing the uint - Position to start reading the uint from - An unsigned integer, will be zero if a uint can't be read - at the given position - + - Convert the first four bytes of the given array in little endian - ordering to an unsigned integer - An array four bytes or longer - An unsigned integer, will be zero if the array contains - less than four bytes - + - Convert the first eight bytes of the given array in little endian - ordering to an unsigned 64-bit integer + Action associated with clicking on an object - An array eight bytes or longer - An unsigned 64-bit integer, will be zero if the array - contains less than eight bytes - + + Touch object + + + Sit on object + + + Purchase object or contents + + + Pay the object + + + Open task inventory + + + Play parcel media + + + Open parcel media + + - Convert four bytes in little endian ordering to a floating point - value + Type of physics representation used for this prim in the simulator - Byte array containing a little ending floating - point value - Starting position of the floating point value in - the byte array - Single precision value - + + Use prim physics form this object + + + No physics, prim doesn't collide + + + Use convex hull represantion of this prim + + + For thread safety + + + For thread safety + + - Convert an integer to a byte array in little endian format + Purges expired objects from the cache. Called automatically by the purge timer. - The integer to convert - A four byte little endian array - + - Convert an integer to a byte array in big endian format + A thread-safe lockless queue that supports multiple readers and + multiple writers - The integer to convert - A four byte big endian array - + - Convert a 64-bit integer to a byte array in little endian format + Constructor - The value to convert - An 8 byte little endian array - + - Convert a 64-bit unsigned integer to a byte array in little endian - format + Provides a node container for data in a singly linked list - The value to convert - An 8 byte little endian array - + - Convert a floating point value to four bytes in little endian - ordering + Constructor - A floating point value - A four byte array containing the value in little endian - ordering - + - Converts an unsigned integer to a hexadecimal string + Constructor - An unsigned integer to convert to a string - A hexadecimal string 10 characters long - 0x7fffffff - + + Pointer to the next node in list + + + The data contained by the node + + + Queue head + + + Queue tail + + + Queue item count + + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate + + - Convert a variable length UTF8 byte array to a string + Enqueue an item - The UTF8 encoded byte array to convert - The decoded string + Item to enqeue - + - Converts a byte array to a string containing hexadecimal characters + Try to dequeue an item - The byte array to convert to a string - The name of the field to prepend to each - line of the string - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name + Dequeued item if the dequeue was successful + True if an item was successfully deqeued, otherwise false - + + A 4x4 matrix containing all zeroes + + + A 4x4 identity matrix + + - Converts a byte array to a string containing hexadecimal characters + Convert this matrix to euler rotations - The byte array to convert to a string - Number of bytes in the array to parse - A string to prepend to each line of the hex - dump - A string containing hexadecimal characters on multiple - lines. Each line is prepended with the field name + X euler angle + Y euler angle + Z euler angle - + - Convert a string to a UTF8 encoded byte array + Convert this matrix to a quaternion rotation - The string to convert - A null-terminated UTF8 byte array + A quaternion representation of this rotation matrix - + - Converts a string containing hexadecimal characters to a byte array + Construct a matrix from euler rotation values in radians - String containing hexadecimal characters - If true, gracefully handles null, empty and - uneven strings as well as stripping unconvertable characters - The converted byte array + X euler angle in radians + Y euler angle in radians + Z euler angle in radians - + - Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) + Get a formatted string representation of the vector - Character to test - true if hex digit, false if not + A string representation of the vector - + - Converts 1 or 2 character string into equivalant byte value + Provides helper methods for parallelizing loops - 1 or 2 character string - byte - + - Convert a float value to a byte given a minimum and maximum range + Executes a for loop in which iterations may run in parallel - Value to convert to a byte - Minimum value range - Maximum value range - A single byte representing the original float value + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - + - Convert a byte to a float value given a minimum and maximum range + Executes a for loop in which iterations may run in parallel - Byte array to get the byte from - Position in the byte array the desired byte is at - Minimum value range - Maximum value range - A float value inclusively between lower and upper + The number of concurrent execution threads to run + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop - + - Convert a byte to a float value given a minimum and maximum range + Executes a foreach loop in which iterations may run in parallel - Byte to convert to a float value - Minimum value range - Maximum value range - A float value inclusively between lower and upper + Object type that the collection wraps + An enumerable collection to iterate over + Method body to run for each object in the collection - + - Attempts to parse a floating point value from a string, using an - EN-US number format + Executes a foreach loop in which iterations may run in parallel - String to parse - Resulting floating point number - True if the parse was successful, otherwise false + Object type that the collection wraps + The number of concurrent execution threads to run + An enumerable collection to iterate over + Method body to run for each object in the collection - + - Attempts to parse a floating point value from a string, using an - EN-US number format + Executes a series of tasks in parallel - String to parse - Resulting floating point number - True if the parse was successful, otherwise false + A series of method bodies to execute - + - Tries to parse an unsigned 32-bit integer from a hexadecimal string + Executes a series of tasks in parallel - String to parse - Resulting integer - True if the parse was successful, otherwise false + The number of concurrent execution threads to run + A series of method bodies to execute - + - Returns text specified in EnumInfo attribute of the enumerator - To add the text use [EnumInfo(Text = "Some nice text here")] before declaration - of enum values + Build a quaternion from normalized float values - Enum value - Text representation of the enum + X value from -1.0 to 1.0 + Y value from -1.0 to 1.0 + Z value from -1.0 to 1.0 - + - Takes an AssetType and returns the string representation + Constructor, builds a quaternion object from a byte array - The source - The string version of the AssetType + Byte array containing four four-byte floats + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. - + + X value + + + Y value + + + Z value + + + W value + + + A quaternion with a value of 0,0,0,1 + + - Translate a string name of an AssetType into the proper Type + Normalizes the quaternion - A string containing the AssetType name - The AssetType which matches the string name, or AssetType.Unknown if no match was found - + - Convert an InventoryType to a string + Builds a quaternion object from a byte array - The to convert - A string representation of the source + The source byte array + Offset in the byte array to start reading at + Whether the source data is normalized or + not. If this is true 12 bytes will be read, otherwise 16 bytes will + be read. - + - Convert a string into a valid InventoryType + Normalize this quaternion and serialize it to a byte array - A string representation of the InventoryType to convert - A InventoryType object which matched the type + A 12 byte array containing normalized X, Y, and Z floating + point values in order using little endian byte ordering - + - Convert a SaleType to a string + Writes the raw bytes for this quaternion to a byte array - The to convert - A string representation of the source + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array - + - Convert a string into a valid SaleType + Convert this quaternion to euler angles - A string representation of the SaleType to convert - A SaleType object which matched the type + X euler angle + Y euler angle + Z euler angle - + - Converts a string used in LLSD to AttachmentPoint type + Convert this quaternion to an angle around an axis - String representation of AttachmentPoint to convert - AttachmentPoint enum + Unit vector describing the axis + Angle around the axis, in radians - + - Copy a byte array + Returns the conjugate (spatial inverse) of a quaternion - Byte array to copy - A copy of the given byte array - + - Packs to 32-bit unsigned integers in to a 64-bit unsigned integer + Build a quaternion from an axis and an angle of rotation around + that axis - The left-hand (or X) value - The right-hand (or Y) value - A 64-bit integer containing the two 32-bit input values - + - Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer + Build a quaternion from an axis and an angle of rotation around + that axis - The 64-bit input integer - The left-hand (or X) output value - The right-hand (or Y) output value + Axis of rotation + Angle of rotation - + - Convert an IP address object to an unsigned 32-bit integer + Creates a quaternion from a vector containing roll, pitch, and yaw + in radians - IP address to convert - 32-bit unsigned integer holding the IP address bits + Vector representation of the euler angles in + radians + Quaternion representation of the euler angles - + - Gets a unix timestamp for the current time + Creates a quaternion from roll, pitch, and yaw euler angles in + radians - An unsigned integer representing a unix timestamp for now + X angle in radians + Y angle in radians + Z angle in radians + Quaternion representation of the euler angles - + - Convert a UNIX timestamp to a native DateTime object + Conjugates and renormalizes a vector - An unsigned integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp - + - Convert a UNIX timestamp to a native DateTime object + Spherical linear interpolation between two quaternions - A signed integer representing a UNIX - timestamp - A DateTime object containing the same time specified in - the given timestamp - + - Convert a native DateTime object to a UNIX timestamp + Get a string representation of the quaternion elements with up to three + decimal digits and separated by spaces only - A DateTime object you want to convert to a - timestamp - An unsigned integer representing a UNIX timestamp + Raw string representation of the quaternion - + - Swap two values + Determines the appropriate events to set, leaves the locks, and sets the events. - Type of the values to swap - First value - Second value - + - Try to parse an enumeration value from a string + A routine for lazily creating a event outside the lock (so if errors + happen they are outside the lock and that we don't do much work + while holding a spin lock). If all goes well, reenter the lock and + set 'waitEvent' - Enumeration type - String value to parse - Enumeration value on success - True if the parsing succeeded, otherwise false - + - Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa + Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. + Before the wait 'numWaiters' is incremented and is restored before leaving this routine. - Byte to swap the words in - Byte value with the words swapped - + - Attempts to convert a string representation of a hostname or IP - address to a + A hierarchical token bucket for bandwidth throttling. See + http://en.wikipedia.org/wiki/Token_bucket for more information - Hostname to convert to an IPAddress - Converted IP address object, or null if the conversion - failed - + - Operating system + Default constructor + Parent bucket if this is a child bucket, or + null if this is a root bucket + Maximum size of the bucket in bytes, or + zero if this bucket has no maximum capacity + Rate that the bucket fills, in bytes per + second. If zero, the bucket always remains full - - Unknown + + Parent bucket to this bucket, or null if this is a root + bucket - - Microsoft Windows + + Size of the bucket in bytes. If zero, the bucket has + infinite capacity - - Microsoft Windows CE + + Rate that the bucket fills, in bytes per millisecond. If + zero, the bucket always remains full - - Linux + + Number of tokens currently in the bucket - - Apple OSX + + Time of the last drip, in system ticks - + - Runtime platform + The parent bucket of this bucket, or null if this bucket has no + parent. The parent bucket will limit the aggregate bandwidth of all + of its children buckets - - .NET runtime - - - Mono runtime: http://www.mono-project.com/ - - - X value - - - Y value - - - Z value - - - W value - - + - Build a quaternion from normalized float values + Maximum burst rate in bytes per second. This is the maximum number + of tokens that can accumulate in the bucket at any one time - X value from -1.0 to 1.0 - Y value from -1.0 to 1.0 - Z value from -1.0 to 1.0 - + - Constructor, builds a quaternion object from a byte array + The speed limit of this bucket in bytes per second. This is the + number of tokens that are added to the bucket per second - Byte array containing four four-byte floats - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. + Tokens are added to the bucket any time + is called, at the granularity of + the system tick interval (typically around 15-22ms) - + - Normalizes the quaternion + The number of bytes that can be sent at this moment. This is the + current number of tokens in the bucket + If this bucket has a parent bucket that does not have + enough tokens for a request, will + return false regardless of the content of this bucket + + + + Remove a given number of tokens from the bucket + Number of tokens to remove from the bucket + True if the requested number of tokens were removed from + the bucket, otherwise false - + - Builds a quaternion object from a byte array + Remove a given number of tokens from the bucket - The source byte array - Offset in the byte array to start reading at - Whether the source data is normalized or - not. If this is true 12 bytes will be read, otherwise 16 bytes will - be read. + Number of tokens to remove from the bucket + True if tokens were added to the bucket + during this call, otherwise false + True if the requested number of tokens were removed from + the bucket, otherwise false - + - Normalize this quaternion and serialize it to a byte array + Add tokens to the bucket over time. The number of tokens added each + call depends on the length of time that has passed since the last + call to Drip - A 12 byte array containing normalized X, Y, and Z floating - point values in order using little endian byte ordering + True if tokens were added to the bucket, otherwise false - + - Writes the raw bytes for this quaternion to a byte array + A 128-bit Universally Unique Identifier, used throughout the Second + Life networking protocol - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array - + - Convert this quaternion to euler angles + Constructor that takes a string UUID representation - X euler angle - Y euler angle - Z euler angle + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Convert this quaternion to an angle around an axis + Constructor that takes a System.Guid object - Unit vector describing the axis - Angle around the axis, in radians + A Guid object that contains the unique identifier + to be represented by this UUID - + - Returns the conjugate (spatial inverse) of a quaternion + Constructor that takes a byte array containing a UUID + Byte array containing a 16 byte UUID + Beginning offset in the array - + - Build a quaternion from an axis and an angle of rotation around - that axis + Constructor that takes an unsigned 64-bit unsigned integer to + convert to a UUID + 64-bit unsigned integer to convert to a UUID - + - Build a quaternion from an axis and an angle of rotation around - that axis + Copy constructor - Axis of rotation - Angle of rotation + UUID to copy - + + The System.Guid object this struct wraps around + + + An UUID with a value of all zeroes + + + A cache of UUID.Zero as a string to optimize a common path + + - Creates a quaternion from a vector containing roll, pitch, and yaw - in radians + IComparable.CompareTo implementation - Vector representation of the euler angles in - radians - Quaternion representation of the euler angles - + - Creates a quaternion from roll, pitch, and yaw euler angles in - radians + Assigns this UUID from 16 bytes out of a byte array - X angle in radians - Y angle in radians - Z angle in radians - Quaternion representation of the euler angles + Byte array containing the UUID to assign this UUID to + Starting position of the UUID in the byte array - + - Conjugates and renormalizes a vector + Returns a copy of the raw bytes for this UUID + A 16 byte array containing this UUID - + - Spherical linear interpolation between two quaternions + Writes the raw bytes for this UUID to a byte array + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array - + - Get a string representation of the quaternion elements with up to three - decimal digits and separated by spaces only + Calculate an LLCRC (cyclic redundancy check) for this UUID - Raw string representation of the quaternion - - - A quaternion with a value of 0,0,0,1 + The CRC checksum for this UUID - + - Same as Queue except Dequeue function blocks until there is an object to return. - Note: This class does not need to be synchronized + Create a 64-bit integer representation from the second half of this UUID + An integer created from the last eight bytes of this UUID - + - Create new BlockingQueue. + Generate a UUID from a string - The System.Collections.ICollection to copy elements from + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") - + - Create new BlockingQueue. + Generate a UUID from a string - The initial number of elements that the queue can contain + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + Will contain the parsed UUID if successful, + otherwise null + True if the string was successfully parse, otherwise false + UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) - + - Create new BlockingQueue. + Combine two UUIDs together by taking the MD5 hash of a byte array + containing both UUIDs + First UUID to combine + Second UUID to combine + The UUID product of the combination - + - BlockingQueue Destructor (Close queue, resume any waiting thread). + + - + - Remove all objects from the Queue. + Return a hash code for this UUID, used by .NET for hash tables + An integer composed of all the UUID bytes XORed together - + - Remove all objects from the Queue, resume all dequeue threads. + Comparison function + An object to compare to this UUID + True if the object is a UUID and both UUIDs are equal - + - Removes and returns the object at the beginning of the Queue. + Comparison function - Object in queue. + UUID to compare to + True if the UUIDs are equal, otherwise false - + - Removes and returns the object at the beginning of the Queue. + Get a hyphenated string representation of this UUID - time to wait before returning - Object in queue. + A string representation of this UUID, lowercase and + with hyphens + 11f8aa9c-b071-4242-836b-13b7abe0d489 - + - Removes and returns the object at the beginning of the Queue. + Equals operator - time to wait before returning (in milliseconds) - Object in queue. + First UUID for comparison + Second UUID for comparison + True if the UUIDs are byte for byte equal, otherwise false - + - Adds an object to the end of the Queue + Not equals operator - Object to put in queue + First UUID for comparison + Second UUID for comparison + True if the UUIDs are not equal, otherwise true - + - Open Queue. + XOR operator + First UUID + Second UUID + A UUID that is a XOR combination of the two input UUIDs - + - Gets flag indicating if queue has been closed. + String typecasting operator + A UUID in string form. Case insensitive, + hyphenated or non-hyphenated + A UUID built from the string representation - + - Provides helper methods for parallelizing loops + Operating system - + + Unknown + + + Microsoft Windows + + + Microsoft Windows CE + + + Linux + + + Apple OSX + + - Executes a for loop in which iterations may run in parallel + Runtime platform - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - - - Executes a for loop in which iterations may run in parallel - - The number of concurrent execution threads to run - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop + + .NET runtime + + + Mono runtime: http://www.mono-project.com/ + + + Used for converting degrees to radians + + + Used for converting radians to degrees + + + Provide a single instance of the CultureInfo class to + help parsing in situations where the grid assumes an en-us + culture + + + UNIX epoch in DateTime format + + + Provide a single instance of the MD5 class to avoid making + duplicate copies and handle thread safety - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - An enumerable collection to iterate over - Method body to run for each object in the collection + + Provide a single instance of the SHA-1 class to avoid + making duplicate copies and handle thread safety - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - The number of concurrent execution threads to run - An enumerable collection to iterate over - Method body to run for each object in the collection + + Provide a single instance of a random number generator + to avoid making duplicate copies and handle thread safety - + - Executes a series of tasks in parallel + Clamp a given value between a range - A series of method bodies to execute + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - Executes a series of tasks in parallel + Clamp a given value between a range - The number of concurrent execution threads to run - A series of method bodies to execute + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - Convert this matrix to euler rotations + Clamp a given value between a range - X euler angle - Y euler angle - Z euler angle + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper - + - Convert this matrix to a quaternion rotation + Round a floating-point value to the nearest integer - A quaternion representation of this rotation matrix + Floating point number to round + Integer - + - Construct a matrix from euler rotation values in radians + Test if a single precision float is a finite number - X euler angle in radians - Y euler angle in radians - Z euler angle in radians - + - Get a formatted string representation of the vector + Test if a double precision float is a finite number - A string representation of the vector - - - A 4x4 matrix containing all zeroes - - - A 4x4 identity matrix - - - X value - - - Y value - - - Z value - - W value - - + - Constructor, builds a vector from a byte array + Get the distance between two floating-point values - Byte array containing four four-byte floats - Beginning position in the byte array + First value + Second value + The distance between the two values - + - Test if this vector is equal to another vector, within a given - tolerance range + Compute the MD5 hash for a byte array - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false + Byte array to compute the hash for + MD5 hash of the input data - + - IComparable.CompareTo implementation + Compute the SHA1 hash for a byte array + Byte array to compute the hash for + SHA1 hash of the input data - + - Test if this vector is composed of all finite numbers + Calculate the SHA1 hash of a given string + The string to hash + The SHA1 hash as a string - + - Builds a vector from a byte array + Compute the SHA256 hash for a byte array - Byte array containing a 16 byte vector - Beginning position in the byte array + Byte array to compute the hash for + SHA256 hash of the input data - + - Returns the raw bytes for this vector + Calculate the SHA256 hash of a given string - A 16 byte array containing X, Y, Z, and W + The string to hash + The SHA256 hash as a string - + - Writes the raw bytes for this vector to a byte array + Calculate the MD5 hash of a given string - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array + The password to hash + An MD5 hash in string format, with $1$ prepended - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + Calculate the MD5 hash of a given string - Raw string representation of the vector - - - A vector with a value of 0,0,0,0 - - - A vector with a value of 1,1,1,1 - - - A vector with a value of 1,0,0,0 - - - A vector with a value of 0,1,0,0 - - - A vector with a value of 0,0,1,0 - - - A vector with a value of 0,0,0,1 - - - For thread safety - - - For thread safety + The string to hash + The MD5 hash as a string - + - Purges expired objects from the cache. Called automatically by the purge timer. + Generate a random double precision floating point value + Random value of type double - + - A three-dimensional vector with floating-point values + Get the current running platform + Enumeration of the current platform we are running on - - X value - - - Y value - - - Z value - - + - Constructor, builds a vector from a byte array + Get the current running runtime - Byte array containing three four-byte floats - Beginning position in the byte array + Enumeration of the current runtime we are running on - + - Test if this vector is equal to another vector, within a given - tolerance range + Convert the first two bytes starting in the byte array in + little endian ordering to a signed short integer - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false + An array two bytes or longer + A signed short integer, will be zero if a short can't be + read at the given position - + - IComparable.CompareTo implementation + Convert the first two bytes starting at the given position in + little endian ordering to a signed short integer + An array two bytes or longer + Position in the array to start reading + A signed short integer, will be zero if a short can't be + read at the given position - + - Test if this vector is composed of all finite numbers + Convert the first four bytes starting at the given position in + little endian ordering to a signed integer + An array four bytes or longer + Position to start reading the int from + A signed integer, will be zero if an int can't be read + at the given position - + - Builds a vector from a byte array + Convert the first four bytes of the given array in little endian + ordering to a signed integer - Byte array containing a 12 byte vector - Beginning position in the byte array + An array four bytes or longer + A signed integer, will be zero if the array contains + less than four bytes - + - Returns the raw bytes for this vector + Convert the first eight bytes of the given array in little endian + ordering to a signed long integer - A 12 byte array containing X, Y, and Z + An array eight bytes or longer + A signed long integer, will be zero if the array contains + less than eight bytes - + - Writes the raw bytes for this vector to a byte array + Convert the first eight bytes starting at the given position in + little endian ordering to a signed long integer - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array + An array eight bytes or longer + Position to start reading the long from + A signed long integer, will be zero if a long can't be read + at the given position - + - Parse a vector from a string + Convert the first two bytes starting at the given position in + little endian ordering to an unsigned short - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas + Byte array containing the ushort + Position to start reading the ushort from + An unsigned short, will be zero if a ushort can't be read + at the given position - + - Calculate the rotation between two vectors + Convert two bytes in little endian ordering to an unsigned short - Normalized directional vector (such as 1,0,0 for forward facing) - Normalized target vector + Byte array containing the ushort + An unsigned short, will be zero if a ushort can't be + read - + - Interpolates between two vectors using a cubic equation + Convert the first four bytes starting at the given position in + little endian ordering to an unsigned integer + Byte array containing the uint + Position to start reading the uint from + An unsigned integer, will be zero if a uint can't be read + at the given position - + - Get a formatted string representation of the vector + Convert the first four bytes of the given array in little endian + ordering to an unsigned integer - A string representation of the vector + An array four bytes or longer + An unsigned integer, will be zero if the array contains + less than four bytes - + - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only + Convert the first eight bytes of the given array in little endian + ordering to an unsigned 64-bit integer - Raw string representation of the vector + An array eight bytes or longer + An unsigned 64-bit integer, will be zero if the array + contains less than eight bytes - + - Cross product between two vectors + Convert four bytes in little endian ordering to a floating point + value + Byte array containing a little ending floating + point value + Starting position of the floating point value in + the byte array + Single precision value - - A vector with a value of 0,0,0 - - - A vector with a value of 1,1,1 - - - A unit vector facing forward (X axis), value 1,0,0 - - - A unit vector facing left (Y axis), value 0,1,0 - - - A unit vector facing up (Z axis), value 0,0,1 - - + - Identifier code for primitive types + Convert an integer to a byte array in little endian format + The integer to convert + A four byte little endian array - - None - - - A Primitive - - - A Avatar - - - Linden grass - - - Linden tree - - - A primitive that acts as the source for a particle stream - - - A Linden tree - - + - Primary parameters for primitives such as Physics Enabled or Phantom + Convert an integer to a byte array in big endian format + The integer to convert + A four byte big endian array - - Deprecated - - - Whether physics are enabled for this object - - - - - - - - - - - - - - - - - - - - - Whether this object contains an active touch script - - - - - - Whether this object can receive payments - - - Whether this object is phantom (no collisions) - - - - - - - - - - - - - - - Deprecated - - - - - - - - - - - - Deprecated - - - - - - - - - - - - - - - Server flag, will not be sent to clients. Specifies that - the object is destroyed when it touches a simulator edge - - - Server flag, will not be sent to clients. Specifies that - the object will be returned to the owner's inventory when it - touches a simulator edge - - - Server flag, will not be sent to clients. - - - Server flag, will not be sent to client. Specifies that - the object is hovering/flying - - - - - - - - - - - - - - + - Sound flags for sounds attached to primitives + Convert a 64-bit integer to a byte array in little endian format + The value to convert + An 8 byte little endian array - - - - - - - - - - - - - - - - - - - - - - + - Material type for a primitive + Convert a 64-bit unsigned integer to a byte array in little endian + format + The value to convert + An 8 byte little endian array - - - - - - - - - - - - - - - - - - - - - - - + + + Convert a floating point value to four bytes in little endian + ordering + + A floating point value + A four byte array containing the value in little endian + ordering - + - Used in a helper function to roughly determine prim shape + Converts an unsigned integer to a hexadecimal string + An unsigned integer to convert to a string + A hexadecimal string 10 characters long + 0x7fffffff - + - Extra parameters for primitives, these flags are for features that have - been added after the original ObjectFlags that has all eight bits - reserved already + Convert a variable length UTF8 byte array to a string + The UTF8 encoded byte array to convert + The decoded string - - Whether this object has flexible parameters - - - Whether this object has light parameters - - - Whether this object is a sculpted prim - - + - + Converts a byte array to a string containing hexadecimal characters + The byte array to convert to a string + The name of the field to prepend to each + line of the string + A string containing hexadecimal characters on multiple + lines. Each line is prepended with the field name - - - - - - - - - - + - + Converts a byte array to a string containing hexadecimal characters + The byte array to convert to a string + Number of bytes in the array to parse + A string to prepend to each line of the hex + dump + A string containing hexadecimal characters on multiple + lines. Each line is prepended with the field name - - - - - - - - - - - - - - - - - - - - - - - - - + - + Convert a string to a UTF8 encoded byte array + The string to convert + A null-terminated UTF8 byte array - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + Converts a string containing hexadecimal characters to a byte array + String containing hexadecimal characters + If true, gracefully handles null, empty and + uneven strings as well as stripping unconvertable characters + The converted byte array - - - - - - - - - - - - - - - - - - - - - - - - Attachment points for objects on avatar bodies - - - Both InventoryObject and InventoryAttachment types can be attached - - - - Right hand if object was not previously attached - - - Chest - - - Skull - - - Left shoulder - - - Right shoulder + + + Returns true is c is a hexadecimal digit (A-F, a-f, 0-9) + + Character to test + true if hex digit, false if not - - Left hand + + + Converts 1 or 2 character string into equivalant byte value + + 1 or 2 character string + byte - - Right hand + + + Convert a float value to a byte given a minimum and maximum range + + Value to convert to a byte + Minimum value range + Maximum value range + A single byte representing the original float value - - Left foot + + + Convert a byte to a float value given a minimum and maximum range + + Byte array to get the byte from + Position in the byte array the desired byte is at + Minimum value range + Maximum value range + A float value inclusively between lower and upper - - Right foot + + + Convert a byte to a float value given a minimum and maximum range + + Byte to convert to a float value + Minimum value range + Maximum value range + A float value inclusively between lower and upper - - Spine + + + Attempts to parse a floating point value from a string, using an + EN-US number format + + String to parse + Resulting floating point number + True if the parse was successful, otherwise false - - Pelvis + + + Attempts to parse a floating point value from a string, using an + EN-US number format + + String to parse + Resulting floating point number + True if the parse was successful, otherwise false - - Mouth + + + Tries to parse an unsigned 32-bit integer from a hexadecimal string + + String to parse + Resulting integer + True if the parse was successful, otherwise false - - Chin + + + Returns text specified in EnumInfo attribute of the enumerator + To add the text use [EnumInfo(Text = "Some nice text here")] before declaration + of enum values + + Enum value + Text representation of the enum - - Left ear + + + Takes an AssetType and returns the string representation + + The source + The string version of the AssetType - - Right ear + + + Translate a string name of an AssetType into the proper Type + + A string containing the AssetType name + The AssetType which matches the string name, or AssetType.Unknown if no match was found - - Left eyeball + + + Convert an InventoryType to a string + + The to convert + A string representation of the source - - Right eyeball + + + Convert a string into a valid InventoryType + + A string representation of the InventoryType to convert + A InventoryType object which matched the type - - Nose + + + Convert a SaleType to a string + + The to convert + A string representation of the source - - Right upper arm + + + Convert a string into a valid SaleType + + A string representation of the SaleType to convert + A SaleType object which matched the type - - Right forearm + + + Converts a string used in LLSD to AttachmentPoint type + + String representation of AttachmentPoint to convert + AttachmentPoint enum - - Left upper arm + + + Copy a byte array + + Byte array to copy + A copy of the given byte array - - Left forearm + + + Packs to 32-bit unsigned integers in to a 64-bit unsigned integer + + The left-hand (or X) value + The right-hand (or Y) value + A 64-bit integer containing the two 32-bit input values - - Right hip + + + Unpacks two 32-bit unsigned integers from a 64-bit unsigned integer + + The 64-bit input integer + The left-hand (or X) output value + The right-hand (or Y) output value - - Right upper leg + + + Convert an IP address object to an unsigned 32-bit integer + + IP address to convert + 32-bit unsigned integer holding the IP address bits - - Right lower leg + + + Gets a unix timestamp for the current time + + An unsigned integer representing a unix timestamp for now - - Left hip + + + Convert a UNIX timestamp to a native DateTime object + + An unsigned integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - - Left upper leg + + + Convert a UNIX timestamp to a native DateTime object + + A signed integer representing a UNIX + timestamp + A DateTime object containing the same time specified in + the given timestamp - - Left lower leg + + + Convert a native DateTime object to a UNIX timestamp + + A DateTime object you want to convert to a + timestamp + An unsigned integer representing a UNIX timestamp - - Stomach + + + Swap two values + + Type of the values to swap + First value + Second value - - Left pectoral + + + Try to parse an enumeration value from a string + + Enumeration type + String value to parse + Enumeration value on success + True if the parsing succeeded, otherwise false - - Right pectoral + + + Swaps the high and low words in a byte. Converts aaaabbbb to bbbbaaaa + + Byte to swap the words in + Byte value with the words swapped - - HUD Center position 2 + + + Attempts to convert a string representation of a hostname or IP + address to a + Hostname to convert to an IPAddress + Converted IP address object, or null if the conversion + failed - - HUD Top-right + + + A two-dimensional vector with floating-point values + - - HUD Top + + X value - - HUD Top-left + + Y value - - HUD Center + + A vector with a value of 0,0 - - HUD Bottom-left + + A vector with a value of 1,1 - - HUD Bottom + + A vector with a value of 1,0 - - HUD Bottom-right + + A vector with a value of 0,1 - + - Tree foliage types + Test if this vector is equal to another vector, within a given + tolerance range + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - - Pine1 tree - - - Oak tree - - - Tropical Bush1 - - - Palm1 tree + + + Test if this vector is composed of all finite numbers + - - Dogwood tree + + + IComparable.CompareTo implementation + - - Tropical Bush2 + + + Builds a vector from a byte array + + Byte array containing two four-byte floats + Beginning position in the byte array - - Palm2 tree + + + Returns the raw bytes for this vector + + An eight-byte array containing X and Y - - Cypress1 tree + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 8 bytes before the end of the array - - Cypress2 tree + + + Parse a vector from a string + + A string representation of a 2D vector, enclosed + in arrow brackets and separated by commas - - Pine2 tree + + + Interpolates between two vectors using a cubic equation + - - Plumeria + + + Get a formatted string representation of the vector + + A string representation of the vector - - Winter pinetree1 + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector - - Winter Aspen tree + + + A three-dimensional vector with floating-point values + - - Winter pinetree2 + + + Constructor, builds a vector from a byte array + + Byte array containing three four-byte floats + Beginning position in the byte array - - Eucalyptus tree + + X value - - Fern + + Y value - - Eelgrass + + Z value - - Sea Sword + + A vector with a value of 0,0,0 - - Kelp1 plant + + A vector with a value of 1,1,1 - - Beach grass + + A unit vector facing forward (X axis), value 1,0,0 - - Kelp2 plant + + A unit vector facing left (Y axis), value 0,1,0 - + + A unit vector facing up (Z axis), value 0,0,1 + + - Grass foliage types + Test if this vector is equal to another vector, within a given + tolerance range + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false - - - - - - - - + + + IComparable.CompareTo implementation + - - + + + Test if this vector is composed of all finite numbers + - - + + + Builds a vector from a byte array + + Byte array containing a 12 byte vector + Beginning position in the byte array - - + + + Returns the raw bytes for this vector + + A 12 byte array containing X, Y, and Z - + - Action associated with clicking on an object + Writes the raw bytes for this vector to a byte array + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array - - Touch object + + + Parse a vector from a string + + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas - - Sit on object + + + Calculate the rotation between two vectors + + Normalized directional vector (such as 1,0,0 for forward facing) + Normalized target vector - - Purchase object or contents + + + Interpolates between two vectors using a cubic equation + - - Pay the object + + + Get a formatted string representation of the vector + + A string representation of the vector - - Open task inventory + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector - - Play parcel media + + + Cross product between two vectors + - - Open parcel media + + + A three-dimensional vector with doubleing-point values + - + - A two-dimensional vector with floating-point values + Constructor, builds a vector from a byte array + Byte array containing three eight-byte doubles + Beginning position in the byte array - + X value - + Y value - + + Z value + + + A vector with a value of 0,0,0 + + + A vector with a value of 1,1,1 + + + A unit vector facing forward (X axis), value of 1,0,0 + + + A unit vector facing left (Y axis), value of 0,1,0 + + + A unit vector facing up (Z axis), value of 0,0,1 + + Test if this vector is equal to another vector, within a given tolerance range @@ -2530,73 +2546,152 @@ True if the magnitude of difference between the two vectors is less than the given tolerance, otherwise false - + - Test if this vector is composed of all finite numbers + IComparable.CompareTo implementation - + - IComparable.CompareTo implementation + Test if this vector is composed of all finite numbers - + Builds a vector from a byte array - Byte array containing two four-byte floats + Byte array containing a 24 byte vector Beginning position in the byte array - + Returns the raw bytes for this vector - An eight-byte array containing X and Y + A 24 byte array containing X, Y, and Z - + Writes the raw bytes for this vector to a byte array Destination byte array Position in the destination array to start - writing. Must be at least 8 bytes before the end of the array + writing. Must be at least 24 bytes before the end of the array - + Parse a vector from a string - A string representation of a 2D vector, enclosed + A string representation of a 3D vector, enclosed in arrow brackets and separated by commas - + Interpolates between two vectors using a cubic equation - + Get a formatted string representation of the vector A string representation of the vector - + Get a string representation of the vector elements with up to three decimal digits and separated by spaces only Raw string representation of the vector - - A vector with a value of 0,0 + + + Cross product between two vectors + - - A vector with a value of 1,1 + + + Constructor, builds a vector from a byte array + + Byte array containing four four-byte floats + Beginning position in the byte array - - A vector with a value of 1,0 + + X value - - A vector with a value of 0,1 + + Y value + + + Z value + + + W value + + + A vector with a value of 0,0,0,0 + + + A vector with a value of 1,1,1,1 + + + A vector with a value of 1,0,0,0 + + + A vector with a value of 0,1,0,0 + + + A vector with a value of 0,0,1,0 + + + A vector with a value of 0,0,0,1 + + + + Test if this vector is equal to another vector, within a given + tolerance range + + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false + + + + IComparable.CompareTo implementation + + + + + Test if this vector is composed of all finite numbers + + + + + Builds a vector from a byte array + + Byte array containing a 16 byte vector + Beginning position in the byte array + + + + Returns the raw bytes for this vector + + A 16 byte array containing X, Y, Z, and W + + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index e3356c9..fd9ce88 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 34f4dc29a1b2c6e3e26f5117a605670c488efe05 Mon Sep 17 00:00:00 2001 From: ubit Date: Tue, 10 Jul 2012 02:24:09 +0200 Subject: change linux 32bit libode.so to ode version 0.12 --- bin/lib32/libode.so | Bin 3051566 -> 3134141 bytes 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 bin/lib32/libode.so (limited to 'bin') diff --git a/bin/lib32/libode.so b/bin/lib32/libode.so old mode 100644 new mode 100755 index 6bb85fb..5b110ae Binary files a/bin/lib32/libode.so and b/bin/lib32/libode.so differ -- cgit v1.1 From 0d605685644081f5853dc1e8ddb591d3a8c2f299 Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Tue, 10 Jul 2012 01:29:44 +0100 Subject: changed ODE lib for win32 to version 0.12 --- bin/lib32/ode.dll | Bin 496640 -> 548864 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index f310358..90106ca 100755 Binary files a/bin/lib32/ode.dll and b/bin/lib32/ode.dll differ -- cgit v1.1 From e60ec599e5c4184275037b0538092be6cf098de1 Mon Sep 17 00:00:00 2001 From: Melanie Date: Sat, 28 Jul 2012 00:41:31 +0100 Subject: Add master's new binaries --- bin/OpenMetaverse.Rendering.Meshmerizer.dll | Bin 11776 -> 24576 bytes bin/OpenMetaverse.StructuredData.dll | Bin 95232 -> 114688 bytes bin/OpenMetaverse.dll | Bin 1812992 -> 1904640 bytes bin/OpenMetaverseTypes.dll | Bin 105984 -> 122880 bytes 4 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/OpenMetaverse.Rendering.Meshmerizer.dll b/bin/OpenMetaverse.Rendering.Meshmerizer.dll index 43c7557..1b4cab5 100755 Binary files a/bin/OpenMetaverse.Rendering.Meshmerizer.dll and b/bin/OpenMetaverse.Rendering.Meshmerizer.dll differ diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index bf76863..7b5174d 100755 Binary files a/bin/OpenMetaverse.StructuredData.dll and b/bin/OpenMetaverse.StructuredData.dll differ diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index 7e742e2..a08b406 100755 Binary files a/bin/OpenMetaverse.dll and b/bin/OpenMetaverse.dll differ diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index fd9ce88..fc4f8eb 100755 Binary files a/bin/OpenMetaverseTypes.dll and b/bin/OpenMetaverseTypes.dll differ -- cgit v1.1 From 1b7a720b9f2e4d32d25fe3260bc4970c8be112bf Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Sat, 4 Aug 2012 10:36:50 +0100 Subject: update ode.dll for windows so both 32b and 64b are now version 0.12 (32b is just a rebuild) --- bin/lib32/ode.dll | Bin 548864 -> 547840 bytes bin/lib64/ode.dll | Bin 656384 -> 651776 bytes 2 files changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/lib32/ode.dll b/bin/lib32/ode.dll index 90106ca..c3263ae 100755 Binary files a/bin/lib32/ode.dll and b/bin/lib32/ode.dll differ diff --git a/bin/lib64/ode.dll b/bin/lib64/ode.dll index df3a6c4..6f5b504 100755 Binary files a/bin/lib64/ode.dll and b/bin/lib64/ode.dll differ -- cgit v1.1 From 1efa87ba38f93ec62f63e53e60616a0a9b109e08 Mon Sep 17 00:00:00 2001 From: BlueWall Date: Tue, 25 Sep 2012 18:09:34 -0400 Subject: Format OpenSim.ini.example Make lines fint in 80x24 terminal for easier reading --- bin/OpenSim.ini.example | 100 +++++++++++++++++++++++++++++++----------------- 1 file changed, 65 insertions(+), 35 deletions(-) (limited to 'bin') diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example index 3ec4bab..b21a214 100644 --- a/bin/OpenSim.ini.example +++ b/bin/OpenSim.ini.example @@ -1,19 +1,23 @@ -;; This is the main configuration file for OpenSimulator. If it's named OpenSim.ini -;; then it will be loaded by OpenSimulator. If it's named OpenSim.ini.example then -;; you will need to copy it to OpenSim.ini first (if that file does not already exist) +;; This is the main configuration file for OpenSimulator. +;; If it's named OpenSim.ini then it will be loaded by OpenSimulator. +;; If it's named OpenSim.ini.example then you will need to copy it to +;; OpenSim.ini first (if that file does not already exist) ;; -;; If you are copying, then once you have copied OpenSim.ini.example to OpenSim.ini you will -;; need to pick an architecture in the [Architecture] section at the end of this file. +;; If you are copying, then once you have copied OpenSim.ini.example to +;; OpenSim.ini you will need to pick an architecture in the [Architecture] +;; section at the end of this file. ;; -;; The settings in this file are in the form " = ". For example, save_crashes = false -;; in the [Startup] section below. +;; The settings in this file are in the form " = ". For example, +;; save_crashes = false in the [Startup] section below. ;; -;; All settings are initially commented out and the default value used, as found in -;; OpenSimDefaults.ini. To change a setting, first uncomment it by deleting the initial semicolon (;) -;; and then change the value. This will override the value in OpenSimDefaults.ini +;; All settings are initially commented out and the default value used, as +;; found in OpenSimDefaults.ini. To change a setting, first uncomment it by +;; deleting the initial semicolon (;) and then change the value. This will +;; override the value in OpenSimDefaults.ini ;; -;; If you want to find out what configuration OpenSimulator has finished with once all the configuration -;; files are loaded then type "config show" on the region console command line. +;; If you want to find out what configuration OpenSimulator has finished with +;; once all the configuration files are loaded then type "config show" on the +;; region console command line. ;; ;; ;; NOTES FOR DEVELOPERS REGARDING THE FORMAT OF THIS FILE @@ -26,13 +30,16 @@ ;; formatted as: ;; {option} {depends on} {question to ask} {choices} default value ;; Any text comments following the declaration, up to the next blank line. -;; will be copied to the generated file (NOTE: generation is not yet implemented) +;; will be copied to the generated file (NOTE: generation is not yet +;; implemented) +;; ;; A * in the choices list will allow an empty entry. ;; An empty question will set the default if the dependencies are ;; satisfied. ;; ;; ; denotes a commented out option. -;; Any options added to OpenSim.ini.example should be initially commented out. +;; Any options added to OpenSim.ini.example should be initially commented +;; out. [Startup] @@ -47,9 +54,12 @@ ;# {save_crashes} {} {Save crashes to disk?} {true false} false ;; Set this to true if you want to log crashes to disk ;; this can be useful when submitting bug reports. - ;; However, this will only log crashes within OpenSimulator that cause the entire program to exit - ;; It will not log crashes caused by virtual machine failures, which includes mono and ODE failures. - ;; You will need to capture these native stack traces by recording the session log itself. + ;; However, this will only log crashes within OpenSimulator that cause the + ;; entire program to exit + ;; It will not log crashes caused by virtual machine failures, which + ;; includes mono and ODE failures. + ;; You will need to capture these native stack traces by recording the + ;; session log itself. ; save_crashes = false ;# {crash_dir} {save_crashes:true} {Directory to save crashes to?} {} crashes @@ -88,35 +98,46 @@ ; allow_regionless = false ;# {NonPhysicalPrimMin} {} {Minimum size of nonphysical prims?} {} 0.001 - ;; Minimum size for non-physical prims. Affects resizing of existing prims. This can be overriden in the region config file (as NonPhysicalPrimMin!). + ;; Minimum size for non-physical prims. Affects resizing of existing + ;; prims. This can be overriden in the region config file (as + ;; NonPhysicalPrimMin!). ; NonPhysicalPrimMin = 0.001 ;# {NonPhysicalPrimMax} {} {Maximum size of nonphysical prims?} {} 256 - ;; Maximum size for non-physical prims. Affects resizing of existing prims. This can be overriden in the region config file (as NonPhysicalPrimMax!). + ;; Maximum size for non-physical prims. Affects resizing of existing + ;; prims. This can be overriden in the region config file (as + ;; NonPhysicalPrimMax!). ; NonPhysicalPrimMax = 256 ;# {PhysicalPrimMin} {} {Minimum size of physical prims?} {} 10 - ;; Maximum size where a prim can be physical. Affects resizing of existing prims. This can be overriden in the region config file. + ;; Maximum size where a prim can be physical. Affects resizing of + ;; existing prims. This can be overriden in the region config file. ; PhysicalPrimMin = 0.01 ;# {PhysicalPrimMax} {} {Maximum size of physical prims?} {} 10 - ;; Maximum size where a prim can be physical. Affects resizing of existing prims. This can be overriden in the region config file. + ;; Maximum size where a prim can be physical. Affects resizing of + ;; existing prims. This can be overriden in the region config file. ; PhysicalPrimMax = 10 ;# {ClampPrimSize} {} {Clamp viewer rezzed prims to max sizes?} {true false} false - ;; If a viewer attempts to rez a prim larger than the non-physical or physical prim max, clamp the dimensions to the appropriate maximum + ;; If a viewer attempts to rez a prim larger than the non-physical or + ;; physical prim max, clamp the dimensions to the appropriate maximum ;; This can be overriden in the region config file. ; ClampPrimSize = false ;# {LinksetPrims} {} {Max prims an object will hold?} {} 0 - ;; Maximum number of prims allowable in a linkset. Affects creating new linksets. Ignored if less than or equal to zero. + ;; Maximum number of prims allowable in a linkset. Affects creating new + ;; linksets. Ignored if less than or equal to zero. ;; This can be overriden in the region config file. ; LinksetPrims = 0 ;# {AllowScriptCrossing} {} {Allow scripts to cross into this region} {true false} true - ;; Allow scripts to keep running when they cross region boundaries, rather than being restarted. State is reloaded on the destination region. - ;; This only applies when crossing to a region running in a different simulator. - ;; For crossings where the regions are on the same simulator the script is always kept running. + ;; Allow scripts to keep running when they cross region boundaries, rather + ;; than being restarted. State is reloaded on the destination region. + ;; This only applies when crossing to a region running in a different + ;; simulator. + ;; For crossings where the regions are on the same simulator the script is + ;; always kept running. ; AllowScriptCrossing = true ;# {TrustBinaries} {AllowScriptCrossing:true} {Accept compiled binary script code? (DANGEROUS!)} {true false} false @@ -186,7 +207,8 @@ ;# {physics} {} {Select physics engine} {OpenDynamicsEngine BulletSim basicphysics POS} OpenDynamicsEngine ;; OpenDynamicsEngine is by some distance the most developed physics engine ;; BulletSim is incomplete and experimental but in active development - ;; basicphysics effectively does not model physics at all, making all objects phantom + ;; basicphysics effectively does not model physics at all, making all + ;; objects phantom ;; Default is OpenDynamicsEngine ; physics = OpenDynamicsEngine ; physics = BulletSim @@ -229,8 +251,9 @@ ;# {simple_build_permissions} {} {Allow building in parcel by access list (no groups)} {true false} false ;; More control over permissions ;; This is definitely not SL! - ;; Provides a simple control for land owners to give build rights to specific avatars - ;; in publicly accessible parcels that disallow object creation in general. + ;; Provides a simple control for land owners to give build rights to + ;; specific avatars in publicly accessible parcels that disallow object + ;; creation in general. ;; Owners specific avatars by adding them to the Access List of the parcel ;; without having to use the Groups feature ; simple_build_permissions = false @@ -266,11 +289,14 @@ ; DrawPrimOnMapTile = true ;# {HttpProxy} {} {Proxy URL for llHTTPRequest and dynamic texture loading} {} http://proxy.com:8080 - ;; Http proxy setting for llHTTPRequest and dynamic texture loading, if required + ;; Http proxy setting for llHTTPRequest and dynamic texture loading, if + ;; required ; HttpProxy = "http://proxy.com:8080" ;# {HttpProxyExceptions} {HttpProxy} {Set of regular expressions defining URL that should not be proxied} {} - ;; If you're using HttpProxy, then you can set HttpProxyExceptions to a list of regular expressions for URLs that you don't want to go through the proxy + ;; If you're using HttpProxy, then you can set HttpProxyExceptions to a + ;; list of regular expressions for URLs that you don't want to go through + ;; the proxy. ;; For example, servers inside your firewall. ;; Separate patterns with a ';' ; HttpProxyExceptions = ".mydomain.com;localhost" @@ -289,13 +315,15 @@ ; SpawnPointRouting = closest ;# {TelehubAllowLandmark} {} {Allow users with landmarks to override telehub routing} {true false} false - ;; TelehubAllowLandmark allows users with landmarks to override telehub routing and land at the landmark coordinates when set to true + ;; TelehubAllowLandmark allows users with landmarks to override telehub + ;; routing and land at the landmark coordinates when set to true ;; default is false ; TelehubAllowLandmark = false ;# {AllowedClients} {} {Bar (|) separated list of allowed clients} {} ;; Bar (|) separated list of viewers which may gain access to the regions. - ;; One can use a substring of the viewer name to enable only certain versions + ;; One can use a substring of the viewer name to enable only certain + ;; versions ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" ;; - "Imprudence" has access ;; - "Imprudence 1.3" has access @@ -304,7 +332,8 @@ ;# {BannedClients} {} {Bar (|) separated list of banned clients} {} ;# Bar (|) separated list of viewers which may not gain access to the regions. - ;; One can use a Substring of the viewer name to disable only certain versions + ;; One can use a Substring of the viewer name to disable only certain + ;; versions ;; Example: Agent uses the viewer "Imprudence 1.3.2.0" ;; - "Imprudence" has no access ;; - "Imprudence 1.3" has no access @@ -450,7 +479,8 @@ [SimulatorFeatures] ;# {MapImageServerURI} {} {URL for the map server} {} - ; Experimental new information sent in SimulatorFeatures cap for Kokua viewers + ; Experimental new information sent in SimulatorFeatures cap for Kokua + ; viewers ; meant to override the MapImage and search server url given at login, and varying ; on a sim-basis. ; Viewers that don't understand it, will ignore it -- cgit v1.1 From 285039949c8a0c0b13da8b74d2ce560805932ad9 Mon Sep 17 00:00:00 2001 From: Melanie Date: Thu, 27 Sep 2012 18:27:49 +0100 Subject: Update the Http server with a few additional properties. Adapt the test server code to match. --- bin/HttpServer_OpenSim.dll | Bin 115712 -> 120832 bytes 1 file changed, 0 insertions(+), 0 deletions(-) (limited to 'bin') diff --git a/bin/HttpServer_OpenSim.dll b/bin/HttpServer_OpenSim.dll index d910bb9..2512b85 100755 Binary files a/bin/HttpServer_OpenSim.dll and b/bin/HttpServer_OpenSim.dll differ -- cgit v1.1 From 4aa6f2bbba0cdd4baca3bf28458f69b0086b3367 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 22 Apr 2013 22:23:42 +0200 Subject: Add the set object owner floater template --- bin/set_object_owner.xml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 bin/set_object_owner.xml (limited to 'bin') diff --git a/bin/set_object_owner.xml b/bin/set_object_owner.xml new file mode 100644 index 0000000..6d9bb8a --- /dev/null +++ b/bin/set_object_owner.xml @@ -0,0 +1,8 @@ + + + New Owner Name + +