Revolution Smythe
37597a448e
Merge in the changes from the original Aurora-LibOMV branch (missing a few optimizations that change a lot of base types, not included as I'd rather stick closer to master at this point).
2012-07-27 13:39:21 -04:00
Latif Khalifa
ab15645ace
LIBOMV-913: OSDDate does not properly serialize/deserialize
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3547 52acb1d6-8a22-11de-b505-999d5b087335
2011-06-10 11:53:08 +00:00
John Hurliman
3689169391
* Setting all of the OSD type classes as sealed
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3427 52acb1d6-8a22-11de-b505-999d5b087335
2010-08-18 00:05:19 +00:00
John Hurliman
22524b9ef4
* Added OSD implicit typecasts going the other direction (assigning an OSD object to a native value)
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3426 52acb1d6-8a22-11de-b505-999d5b087335
2010-08-17 19:25:06 +00:00
John Hurliman
2746bdaa70
* Added implicit typecasts from bool/int/uint/short/ushort/sbyte/byte/long/ulong/double/float/string/UUID/DateTime/Uri/byte[]/Vector2/Vector3/Vector3d/Vector4/Quaternion/Color4 to OSD. You can now write code like "OSDArray array = new OSDArray { true, 42, Vector3.UnitX, 1.5 };"
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3425 52acb1d6-8a22-11de-b505-999d5b087335
2010-08-17 19:02:16 +00:00
Latif Khalifa
4778946b7c
* Support for non absolute URIs
...
* Fix test (URIs now return escaped strings)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3367 52acb1d6-8a22-11de-b505-999d5b087335
2010-06-28 22:11:53 +00:00
John Hurliman
2c234d9c14
* Fixed OSDUri.AsString()/ToString() to return the escaped Uri instead of the pretty-printed version. " http://example/a%20space/ " instead of " http://example/a space"
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3360 52acb1d6-8a22-11de-b505-999d5b087335
2010-06-05 08:17:57 +00:00
John Hurliman
f5a84b39aa
* LLSD JSON serialization can now take an optional parameter to enable/disable preserving default values in serialization
...
* Fixed a regression where OSDMap.ToString() and OSDArray.ToString() were pruning default values after switching from notation output to JSON
* Fixed LLSD decoding to ignore case when parsing headers and use <? llsd/binary ?> instead of <?llsd/binary?>
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3357 52acb1d6-8a22-11de-b505-999d5b087335
2010-05-25 23:07:16 +00:00
John Hurliman
06bc4580a6
* Changed OSDArray.ToString() and OSDMap.ToString() to use JSON formatting instead of the deprecated LLSD notation format
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@3353 52acb1d6-8a22-11de-b505-999d5b087335
2010-05-24 18:23:39 +00:00
John Hurliman
3f403efd5e
* Adding an OSDParser.Deserialize() overload that takes a string
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2848 52acb1d6-8a22-11de-b505-999d5b087335
2009-06-05 06:27:43 +00:00
John Hurliman
c5409af63f
* [LIBOMV-506] Complete rewrite of CapsBase to use HttpWebRequest instead of our homebrewed WebRequest hack. We lose the upload progress callback but gain IOCP thread instead of System.Thread usage and Keep-Alive support
...
* Content-Types described in http://tools.ietf.org/html/draft-hamrick-llsd-00 are used for CAPS requests. This *may* be incompatible with the current SL grid, needs testing
* Modified CapsClient requests to require OSDFormat enum and timeout values
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2680 52acb1d6-8a22-11de-b505-999d5b087335
2009-05-01 06:04:32 +00:00
John Hurliman
95a4f7fd7e
* Fixing [LIBOMV-504] reported by Eves Sinister, OSDParser.Deserialize() now handles LLSDXML that starts with <?xml
...
* Cleaned up the Cable Beach inventory API and added LLIDL for prim serialization. This is still a proposal and no serialization/deserialization exists yet
* Updated content types and file extensions used by Cable Beach to match the table at https://wiki.secondlife.com/wiki/Asset_System
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2674 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-29 17:21:46 +00:00
John Hurliman
17ce11acc1
* Added KeyValuePair overloads for DoubleDictionary.ForEach()
...
* Fixed conversions from OSDArray to long, ulong, and uint
* More Cable Beach messages and tweaks
* Initial commit of the Cable Beach message template (LLIDL)
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2647 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-23 20:41:37 +00:00
John Hurliman
5f4b80c298
Added OSDParser.Deserialize(), a new command to automatically try and guess the content type for LLSD data and decode it. Errors on the side of JSON, so avoid using this function for libomv SL functions (which typically use XML)
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2638 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-20 23:45:31 +00:00
John Hurliman
7da023fbd4
* Renamed OSDURI to OSDUri (shouldn't affect anyone)
...
* Fixed OSD handling for invalid or null Uri values
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2605 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-15 19:38:57 +00:00
John Hurliman
f48c9922e9
* Added OpenMetaverse.Messages.Linden and OpenMetaverse.Messages.Simian namespaces to hold LLSD serialized messages. The dawn of a new era for libomv!
...
* Changing LLSD JSON serialization to match the draft at http://tools.ietf.org/html/draft-hamrick-llsd-00 (first breaking change since 0.6.0)
* Moving some enums out to OpenMetaverseTypes.dll
* Adding conversion methods to go to and from the newly moved enums
* Moved Parcel enums out to the main namespace
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2588 52acb1d6-8a22-11de-b505-999d5b087335
2009-04-09 01:17:40 +00:00
John Hurliman
42cc1ee3b7
* Fixed a bug converting an empty OSD element to a Uri
...
* Lock the old CircularQueue in the CircularQueue copy constructor
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2543 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-26 05:13:07 +00:00
John Hurliman
26e0e50615
* Fixed two failing OSD tests. OSDReal.AsString() now uses a slower but more accurate method to produce values that will always round-trip. A random "B" character was removed from the XmlSD DeserializeLLSDSample() test
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2508 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-19 18:15:49 +00:00
John Hurliman
46450da1ee
* Reverts an accidental change to Utils.IntToBytes()
...
* Adds Utils.IntToBytesBig and Utils.DoubleToBytesBig()
* OSD.AsBinary() functions use big-endian functions where necessary
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2507 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-19 17:57:12 +00:00
Jim Radford
fb6376d2b6
LIBOMV-460 LIBOMV-423 BinaryLLSD Unit Tests Failing, this appears to be caused by an Endian issue
...
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2506 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-19 17:19:23 +00:00
John Hurliman
3ad7551a4a
* Added Utils.EmptyBytes which is equal to new byte[0] and replaced all references of new byte[0] to Utils.EmptyBytes
...
* Added a CRC32 implementation to OpenMetaverseTypes.dll
* Added ToBytes() functions to most of the OMV types for writing bytes into an existing byte array
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2470 52acb1d6-8a22-11de-b505-999d5b087335
2009-03-06 01:32:02 +00:00
John Hurliman
06404ab4e4
* Fixed endianness for OSD handling of uint, long, and ulong (big endian byte arrays are used)
...
* Fixed CapsServer to handle all content types (old SL clients were sending application/xml, new ones send application/llsd+xml)
* Start the EventQueue ID at 1 (seems to help)
* HyperGrid teleporting is now working in Simian
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2428 52acb1d6-8a22-11de-b505-999d5b087335
2009-02-05 03:12:41 +00:00
John Hurliman
a5ede98e87
* Added more DateTime/string/integer/float conversion methods for OSD types
...
* Slight fix to default output for login response serialization
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2377 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-11 01:36:47 +00:00
John Hurliman
66669a773c
* Added method to serialize OSD to a JsonWriter
...
* Added more OSD.As*() functions to match the OSD.From*() functions
* Added more Utils.BytesTo*() functions
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2376 52acb1d6-8a22-11de-b505-999d5b087335
2008-12-10 02:54:50 +00:00
John Hurliman
5fbcd0c4d6
* Moved OpenMetaverse.StructuredData to a separate library
...
* Added experimental JSON serialization/deserialization to OSD using LitJSON (works, but subject to change soon)
* Moved packet handling code out of Simian.cs
git-svn-id: http://libopenmetaverse.googlecode.com/svn/libopenmetaverse/trunk@2361 52acb1d6-8a22-11de-b505-999d5b087335
2008-11-18 03:16:38 +00:00