/* -*- c-basic-offset: 4; indent-tabs-mode: nil; tab-width: 4 -*- */
/* vi: set ts=4 sw=4 expandtab: (add to ~/.vimrc: set modeline modelines=5) */
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package flash.utils
{
include "api-versions.as"
/**
* The CompressionAlgorithm class defines string constants for the names of compress and uncompress options. These constants
* are used as values of the algorithm parameter of the ByteArray.compress()
* and ByteArray.uncompress() methods.
*
* @see flash.utils.ByteArray#compress()
* @see flash.utils.ByteArray#uncompress()
*
* @playerversion Flash 10
* @playerversion AIR 1.0
* @langversion 3.0
*
*/
public final class CompressionAlgorithm
{
/**
* Defines the string to use for the zlib compression algorithm.
*
* @playerversion Flash 10
* @playerversion AIR 1.0
* @langversion 3.0
*
*/
public static const ZLIB:String = "zlib";
/**
* Defines the string to use for the deflate compression algorithm.
*
* @playerversion Flash 10
* @playerversion AIR 1.0
* @langversion 3.0
*
*/
public static const DEFLATE:String = "deflate";
/**
* Defines the string to use for the lzma compression algorithm.
*
* @playerversion Flash 11.4
* @playerversion AIR 3.4
* @langversion 3.0
*
*/
public static const LZMA:String = "lzma";
};
// Provide dummy definitions here of IDataInput2 and IDataOutput2, because they will
// not be provided by IDataInput.as and IDataOutput.as if VMCFG_FLOAT is disabled.
CONFIG const NO_VMCFG_FLOAT = !CONFIG::VMCFG_FLOAT;
CONFIG::NO_VMCFG_FLOAT
internal interface IDataInput2 extends IDataInput {
}
CONFIG::NO_VMCFG_FLOAT
internal interface IDataOutput2 extends IDataOutput {
}
//
// ByteArray
//
/**
* The ByteArray class provides methods and properties to optimize reading, writing,
* and working with binary data.
*
*
Note: The ByteArray class is for advanced developers who need to access * data on the byte level.
* *In-memory data is a packed array (the most compact representation for the data type)
* of bytes, but an instance of the ByteArray
* class can be manipulated with the standard [] (array access) operators.
* It also can be read and written to as an in-memory file, using
* methods similar to those in the URLStream and Socket classes.
In addition, zlib and lzma compression and decompression are supported, as * well as Action Message Format (AMF) object serialization.
* *Possible uses of the ByteArray class include the following: * *
length parameter, from the byte stream.
* The bytes are read into the ByteArray object specified by the bytes parameter,
* and the bytes are written into the destination ByteArray starting at the position specified by offset.
*
* @param bytes The ByteArray object to read data into.
* @param offset The offset (position) in bytes at which the read data should be written.
* @param length The number of bytes to read. The default value of 0 causes all available data to be read.
*
* @throws EOFError There is not sufficient data available
* to read.
* @throws RangeError The value of the supplied offset and length, combined, is greater than the maximum for a uint.
* @internal does this throw IOError An I/O error occurred on the byte stream,
* or the byte stream is not open?
*
* @playerversion Flash 9
* @langversion 3.0
* @helpid
* @refpath
* @keyword ByteArray, ByteArray.readBytes, readBytes
*
* @playerversion Lite 4
*/
public native function readBytes(bytes:ByteArray,
offset:uint=0,
length:uint=0):void;
/**
* Writes a sequence of length bytes from the
* specified byte array, bytes,
* starting offset(zero-based index) bytes
* into the byte stream.
*
* If the length parameter is omitted, the default
* length of 0 is used; the method writes the entire buffer starting at
* offset.
* If the offset parameter is also omitted, the entire buffer is
* written.
If offset or length
* is out of range, they are clamped to the beginning and end
* of the bytes array.
value parameter,
* either 1 if true or 0 if false.
*
* @param value A Boolean value determining which byte is written. If the parameter is true,
* the method writes a 1; if false, the method writes a 0.
*
* @playerversion Flash 9
* @langversion 3.0
* @helpid
* @refpath
* @keyword ByteArray, ByteArray.writeBoolean, writeBoolean
*
* @playerversion Lite 4
*/
public native function writeBoolean(value:Boolean):void;
/**
* Writes a byte to the byte stream.
* The low 8 bits of the * parameter are used. The high 24 bits are ignored.
* * @param value A 32-bit integer. The low 8 bits are written to the byte stream. * @playerversion Flash 9 * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.writeByte, writeByte * * @playerversion Lite 4 */ public native function writeByte(value:int):void; /** * Writes a 16-bit integer to the byte stream. The low 16 bits of the parameter are used. * The high 16 bits are ignored. * * @param A 32-bit integer, whose low 16 bits are written to the byte stream. * @playerversion Flash 9 * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.writeShort, writeShort * * @playerversion Lite 4 */ public native function writeShort(value:int):void; /** * Writes a 32-bit signed integer to the byte stream. * * @param value An integer to write to the byte stream. * @playerversion Flash 9 * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.writeInt, writeInt * * @playerversion Lite 4 */ public native function writeInt(value:int):void; /** * Writes a 32-bit unsigned integer to the byte stream. * * @param value An unsigned integer to write to the byte stream. * @playerversion Flash 9 * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.writeUnsignedInt, writeUnsignedInt * * @playerversion Lite 4 */ public native function writeUnsignedInt(value:uint):void; /** * Writes an IEEE 754 single-precision (32-bit) floating-point number to the byte stream. * * @param Number A single-precision (32-bit) floating-point number. * @playerversion Flash 9 * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.writeFloat, writeFloat * * @playerversion Lite 4 */ public native function writeFloat(value:Number):void; /** * Writes a quadruple of IEEE 754 single-precision (32-bit) floating-point numbers to the byte stream. * * @param value A float4 datum: a quadruple of single-precision (32-bit) floating-point numbers. * @playerversion Flash Player Cyril * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.writeFloat4, writeFloat4 */ [API(CONFIG::SWF_16)] CONFIG::VMCFG_FLOAT public native function writeFloat4(value:float4):void; /** * Writes an IEEE 754 double-precision (64-bit) floating-point number to the byte stream. * * @param Number A double-precision (64-bit) floating-point number. * @playerversion Flash 9 * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.writeDouble, writeDouble * * @playerversion Lite 4 */ public native function writeDouble(value:Number):void; /** * Writes a multibyte string to the byte stream using the specified character set. * * @param value The string value to be written. * @param charSet The string denoting the character set to use. Possible character set strings * include"shift-jis", "cn-gb", "iso-8859-1", and others.
* For a complete list, see Supported Character Sets.
* @playerversion Flash 9
* @langversion 3.0
* @helpid
* @refpath
* @keyword ByteArray, ByteArray.writeMultiByte, writeMultiByte
*
* @playerversion Lite 4
*/
public native function writeMultiByte(value:String, charSet:String):void;
/**
* Writes a UTF-8 string to the byte stream. The length of the UTF-8 string in bytes
* is written first, as a 16-bit integer, followed by the bytes representing the
* characters of the string.
*
* @param value The string value to be written.
* @throws RangeError If the length is larger than
* 65535.
*
* @playerversion Flash 9
* @langversion 3.0
* @helpid
* @refpath
* @keyword ByteArray, ByteArray.writeUTF, writeUTF
*
* @playerversion Lite 4
*/
public native function writeUTF(value:String):void;
/**
* Writes a UTF-8 string to the byte stream. Similar to the writeUTF() method,
* but writeUTFBytes() does not prefix the string with a 16-bit length word.
*
* @param value The string value to be written.
* @playerversion Flash 9
* @langversion 3.0
* @helpid
* @refpath
* @keyword ByteArray, ByteArray.writeUTFBytes, writeUTFBytes
*
* @playerversion Lite 4
*/
public native function writeUTFBytes(value:String):void;
/**
* Reads a Boolean value from the byte stream. A single byte is read,
* and true is returned if the byte is nonzero,
* false otherwise.
*
* @throws EOFError There is not sufficient data available
* to read.
* @return Returns true if the byte is nonzero, false otherwise.
*
* @playerversion Flash 9
* @langversion 3.0
* @helpid
* @refpath
* @keyword ByteArray, ByteArray.readBoolean, readBoolean
*
* @playerversion Lite 4
*/
public native function readBoolean():Boolean;
/**
* Reads a signed byte from the byte stream.
* The returned value is in the range -128 to 127.
* @throws EOFError There is not sufficient data available * to read. * @return An integer between -128 and 127. * @playerversion Flash 9 * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.readByte, readByte * * @playerversion Lite 4 */ public native function readByte():int; /** * Reads an unsigned byte from the byte stream. * *The returned value is in the range 0 to 255.
* * @throws EOFError There is not sufficient data available * to read. * @return A 32-bit unsigned integer between 0 and 255. * @playerversion Flash 9 * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.readUnsignedByte, readUnsignedByte * * @playerversion Lite 4 */ public native function readUnsignedByte():uint; /** * Reads a signed 16-bit integer from the byte stream. * *The returned value is in the range -32768 to 32767.
* * @throws EOFError There is not sufficient data available * to read. * @return A 16-bit signed integer between -32768 and 32767. * @playerversion Flash 9 * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.readShort, readShort * * @playerversion Lite 4 */ public native function readShort():int; /** * Reads an unsigned 16-bit integer from the byte stream. * *The returned value is in the range 0 to 65535.
* @throws EOFError There is not sufficient data available * to read. * @return A 16-bit unsigned integer between 0 and 65535. * @playerversion Flash 9 * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.readUnsignedShort, readUnsignedShort * * @playerversion Lite 4 */ public native function readUnsignedShort():uint; /** * Reads a signed 32-bit integer from the byte stream. * *The returned value is in the range -2147483648 to 2147483647.
* * @throws EOFError There is not sufficient data available * to read. * @return A 32-bit signed integer between -2147483648 and 2147483647. * @playerversion Flash 9 * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.readInt, readInt * * @playerversion Lite 4 */ public native function readInt():int; /** * Reads an unsigned 32-bit integer from the byte stream. * *The returned value is in the range 0 to 4294967295.
* * @throws EOFError There is not sufficient data available * to read. * @return A 32-bit unsigned integer between 0 and 4294967295. * @playerversion Flash 9 * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.readUnsignedInt, readUnsignedInt * * @playerversion Lite 4 */ public native function readUnsignedInt():uint; /** * Reads an IEEE 754 single-precision (32-bit) floating-point number from the byte stream. * * @throws EOFError There is not sufficient data available * to read. * @return A single-precision (32-bit) floating-point number. * * @playerversion Flash 9 * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.readFloat, readFloat * * @playerversion Lite 4 */ public native function readFloat():Number; /** * Reads a quadruple of IEEE 754 single-precision (32-bit) floating-point numbers from the byte stream. * * @throws EOFError There is not sufficient data available to read. * @return A quadruple of single-precision (32-bit) floating-point numbers in the form of a float4. * * @playerversion Flash Player Cyril * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.readFloat4, readFloat4 */ [API(CONFIG::SWF_16)] CONFIG::VMCFG_FLOAT public native function readFloat4():float4; /** * Reads an IEEE 754 double-precision (64-bit) floating-point number from the byte stream. * * @throws EOFError There is not sufficient data available * to read. * @return A double-precision (64-bit) floating-point number. * * @playerversion Flash 9 * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.readDouble, readDouble * * @playerversion Lite 4 */ public native function readDouble():Number; /** * Reads a multibyte string of specified length from the byte stream using the * specified character set. * * * @param length The number of bytes from the byte stream to read. * @param charSet The string denoting the character set to use to interpret the bytes. * Possible character set strings include"shift-jis", "cn-gb",
* "iso-8859-1", and others.
* For a complete list, see Supported Character Sets.
* Note: If the value for the charSet parameter
* is not recognized by the current system, the application uses the system's default
* code page as the character set. For example, a value for the charSet parameter,
* as in myTest.readMultiByte(22, "iso-8859-01") that uses 01 instead of
* 1 might work on your development system, but not on another system.
* On the other system, the application will use the system's default code page.
length
* parameter from the byte stream and returns a string.
*
* @param length An unsigned short indicating the length of the UTF-8 bytes.
* @throws EOFError There is not sufficient data available
* to read.
* @return A string composed of the UTF-8 bytes of the specified length.
* @playerversion Flash 9
* @langversion 3.0
* @helpid
* @refpath
* @keyword ByteArray, ByteArray.readUTFBytes, readUTFBytes
*
* @playerversion Lite 4
*/
public native function readUTFBytes(length:uint):String;
/**
* The length of the ByteArray object, in bytes.
*
* If the length is set to a value that is larger than the current length, * the right side of the byte array is filled with zeros.
* *If the length is set to a value that is smaller than the * current length, the byte array is truncated.
* * @playerversion Flash 9 * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.length, length * * @playerversion Lite 4 */ public native function get length():uint; public native function set length(value:uint):void; /** * Writes an object into the byte array in AMF * serialized format. * * @param object The object to serialize. * * @playerversion Flash 9 * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.writeObject, writeObject * @see ../../flash/net/package.html#registerClassAlias() flash.net.registerClassAlias() * * * @playerversion Lite 4 */ public native function writeObject(object:*):void; /** * Reads an object from the byte array, encoded in AMF * serialized format. * * @return The deserialized object. * @throws EOFError There is not sufficient data available * to read. * * @playerversion Flash 9 * @langversion 3.0 * @helpid * @refpath * @keyword ByteArray, ByteArray.readObject, readObject * @see ../../flash/net/package.html#registerClassAlias() flash.net.registerClassAlias() * * * @playerversion Lite 4 */ public native function readObject():*; [API(CONFIG::FP_10_0)] /** * Compresses the byte array using the deflate compression algorithm. * The entire byte array is compressed. * *After the call, the length property of the ByteArray is set to the new length.
* The position property is set to the end of the byte array.
The deflate compression algorithm is described at * http://www.ietf.org/rfc/rfc1951.txt.
* *In order to use the deflate format to compress a ByteArray instance's
* data in a specific format such as gzip or zip, you cannot simply call
* deflate(). You must create a ByteArray structured
* according to the compression format's specification, including the appropriate
* metadata as well as the compressed data obtained using the deflate format.
* Likewise, in order to decode data compressed in a format such
* as gzip or zip, you can't simply call inflate()
* on that data. First, you must separate the metadata from the compressed data, and you can
* then use the deflate format to decompress the compressed data.
algorithm
* parameter. Flash Player supports only the default
* algorithm, zlib.
*
* After the call, the length property of the ByteArray is set to the new length.
* The position property is set to the end of the byte array.
The zlib compressed data format is described at * http://www.ietf.org/rfc/rfc1950.txt.
* *The deflate compression algorithm is described at * http://www.ietf.org/rfc/rfc1951.txt.
* *The lzma compression algorithm is described at * http://www.7-zip.org/7z.html.
* *The deflate compression algorithm is used in several compression * formats, such as zlib, gzip, some zip implementations, and others. When data is * compressed using one of those compression formats, in addition to storing * the compressed version of the original data, the compression format data * (for example, the .zip file) includes metadata information. Some examples of * the types of metadata included in various file formats are file name, * file modification date/time, original file size, optional comments, checksum * data, and more.
* *For example, when a ByteArray is compressed using the zlib algorithm,
* the resulting ByteArray is structured in a specific format. Certain bytes contain
* metadata about the compressed data, while other bytes contain the actual compressed
* version of the original ByteArray data. As defined by the zlib compressed data
* format specification, those bytes (that is, the portion containing
* the compressed version of the original data) are compressed using the deflate
* algorithm. Consequently those bytes are identical to the result of calling
* compress(air.CompressionAlgorithm.DEFLATE)
* on the original ByteArray. However, the result from
* compress(air.CompressionAlgorithm.ZLIB) includes
* the extra metadata, while the compress(air.CompressionAlgorithm.DEFLATE)
* result includes only the compressed version of the original ByteArray data and nothing else.
In order to use the deflate format to compress a ByteArray instance's
* data in a specific format such as gzip or zip, you cannot simply call
* compress(air.CompressionAlgorithm.DEFLATE).
* You must create a ByteArray structured
* according to the compression format's specification, including the appropriate
* metadata as well as the compressed data obtained using the deflate format.
* Likewise, in order to decode data compressed in a format such
* as gzip or zip, you can't simply call uncompress(air.CompressionAlgorithm.DEFLATE)
* on that data. First, you must separate the metadata from the compressed data, and you can
* then use the deflate format to decompress the compressed data.
compress(air.CompressionAlgorithm.DEFLATE)
* has the same effect as calling the deflate() method.
*
* @playerversion Flash 9
* @langversion 3.0
*
* @see #uncompress()
* @see flash.utils.CompressionAlgorithm
* @keyword ByteArray, ByteArray.compress, compress
*
*/
public function compress(algorithm:String = CompressionAlgorithm.ZLIB):void
{
_compress(algorithm);
}
[API(CONFIG::FP_10_0)]
/**
* Decompresses the byte array using the deflate compression algorithm.
* The byte array must have been compressed using the same algorithm.
*
* After the call, the length property of the ByteArray is set to the new length.
* The position property is set to 0.
The deflate compression algorithm is described at * http://www.ietf.org/rfc/rfc1951.txt.
* *In order to decode data compressed in a format that uses the deflate compression algorithm,
* such as data in gzip or zip format, it will not work to simply call inflate() on
* a ByteArray containing the compression formation data. First, you must separate the metadata that is
* included as part of the compressed data format from the actual compressed data. For more
* information, see the compress() method description.
algorithm parameter. The byte array must have been compressed
* using the same algorithm. Flash Player supports only the
* default algorithm, zlib.
*
* After the call, the length property of the ByteArray is set to the new length.
* The position property is set to 0.
The zlib compressed data format is described at * http://www.ietf.org/rfc/rfc1950.txt.
* *The deflate compression algorithm is described at * http://www.ietf.org/rfc/rfc1951.txt.
* *In order to decode data compressed in a format that uses the deflate compression algorithm,
* such as data in gzip or zip format, it will not work to call
* uncompress(CompressionAlgorithm.DEFLATE) on
* a ByteArray containing the compression formation data. First, you must separate the metadata that is
* included as part of the compressed data format from the actual compressed data. For more
* information, see the compress() method description.
System.useCodePage is set to true, the
* application will treat the data in the array as being in the current system code page when converting.
*
* @return The string representation of the byte array.
*
* @playerversion Flash 9
* @langversion 3.0
* @helpid
* @refpath
* @keyword ByteArray, ByteArray.toString, toString
*
* @playerversion Lite 4
*/
public function toString():String { return _toString(); }
private native function _toString():String;
/**
* The number of bytes of data available for reading
* from the current position in the byte array to the
* end of the array.
*
* Use the bytesAvailable property in conjunction
* with the read methods each time you access a ByteArray object
* to ensure that you are reading valid data.
defaultObjectEncoding.
* The defaultObjectEncoding property is initialized to ObjectEncoding.AMF3.
*
*
* When an object is written to or read from binary data, the objectEncoding value
* is used to determine whether the ActionScript 3.0, ActionScript2.0, or ActionScript 1.0 format should be used. The value is a
* constant from the ObjectEncoding class.
Endian.BIG_ENDIAN or
* Endian.LITTLE_ENDIAN.
*
* @see flash.utils.Endian Endian class
* @playerversion Flash 9
* @langversion 3.0
* @helpid
* @refpath
* @keyword
*
* @playerversion Lite 4
*/
public native function get endian():String;
public native function set endian(type:String):void;
[API(CONFIG::FP_10_0)]
/**
* Clears the contents of the byte array and resets the length
* and position properties to 0. Calling this method explicitly
* frees up the memory used by the ByteArray instance.
*
* @playerversion Flash 10
* @playerversion AIR 1.5
* @langversion 3.0
*
* @playerversion Lite 4
*/
public native function clear():void;
// Note: clients are free to replace with method returning non-string
prototype.toJSON = function (k:String):* { return "ByteArray"; }
// Bug 651641: we do not want toJSON enumerated.
_dontEnumPrototype(prototype);
/**
* Atomic compare and swap of integer values in adjacent bytes in this byte array.
*
* Compares an expected value with the actual value in the byte array location
* addressed by a start index measured in bytes.
*
* If the specified values at the given location are the same, the value given
* by the newValue parameter is writen at the location specified by the byteIndex
* parameter and the previous value of that location is returned.
*
* Otherwise, the actual value is returned.
* All of the above is performed in one atomic hardware transaction.
* byteIndex must be a multiple of 4.
*
* @param byteIndex int containing the desired index at which the expectedValue
* parameter should be compared.
* @param expectedValue int containing the expected value of the integter to be
* replaced by the newValue parameter.
* @param newValue int containint the new value to put into the location specified
* by the byteIndex parameter.
* @throws ArgumentError if byteIndex is not a multiple of 4 or negative
* @return int containing the previous value at the specified location
*/
[API(CONFIG::SWF_17)]
public native function atomicCompareAndSwapIntAt(byteIndex :int, expectedValue: int, newValue :int) :int;
/**
* Atomic compare and change the length of this byte array.
*
* Compares an expected length with the actual length of this the byte array.
* If the expected length argument and current ByteArray.length property are equal,
* the length is changed to the value specified in the newLength parameter.
*
* The compare of the parameter and the update of the length all occur in a single atomic
* transaction.
*
* @param expectedLength int containint the expected value of the ByteArray's length. if this value is
* equal to the ByteArray.length property, the length will be changed to the value
* specified by the newLength argument.
* @param newLength int containing the the length the ByteArray should be after the
* operation succeeds.
* @return int containint the previous value of ByteArray.length
*/
[API(CONFIG::SWF_17)]
public native function atomicCompareAndSwapLength(expectedLength: int, newLength :int) :int;
/**
* Every byte array can either be "non-shareable" or "shareable".
* This flag indicates which is the case for this byte array.
* The initial value is always 'false', indicating "non-shareable".
*
* If this byte array is non-shareable,
* then passing it as an argument to MessageChannel.send to another worker
* or via Worker.setStartArgument()
* will always create a complete byte array copy,
* including the backing storage for the byte array's contents.
*
* If this byte array is shareable,
* then passing it as an argument to MessageChannel.send to another worker
* or via Worker.setStartArgument()
* will result in a byte array object in the remote worker
* which uses the identical underlying storage buffer for it's contents.
* Then both the local and the remote byte array share their content.
*
* Concurrent access to a shared byte array from multiple workers is subject to races.
* For concurrency control, you can use the compare-and-swap facility in this class
* and/or the dedicated mechanisms in package 'flash.concurrent'.
*
* @returns whether this byte array is backed by storage only accessible
* in this worker and whether passing it on to another worker is done by copying
*
* @langversion 3.0
* @playerversion Flash 11.4
* @playerversion AIR 3.4
*/
[API(CONFIG::SWF_17)]
public native function get shareable() :Boolean;
/**
* Sets the value of the 'shareable' flag described above.
*
* When setting the flag to 'true',
* this merely affects subsequent MessageChannel or Worker.setStartArgument() calls involving
* this byte array as an argument as described above.
* Otherwise there is no effect besides the flag's altered value.
*
* When setting the flag to 'false', if its previous value was 'true',
* the byte array's contents is copied into a new backing storage buffer
* and this buffer is immediately assigned to the byte array
* for use by any subsequent operations.
* Thus the sharing of contents with other workers is terminated and
* subsequent uses of this byte array as MessageChannel call argument lead
* to backing storage buffer copying.
*
* @langversion 3.0
* @playerversion Flash 11.4
* @playerversion AIR 3.4
*/
[API(CONFIG::SWF_17)]
public native function set shareable(newValue :Boolean) :void;
};
/*
* [ggrossman 04/07/05] API SCRUB
*
* - _ByteArray_ now implements the _IDataInput_ and _IDataOutput_
* interfaces, as described in the Low Level Data specification.
*
* - Method _available()_ changed to accessor _bytesAvailable_
* - Method _getFilePointer()_ changed to accessor _position_
* - Method _seek()_ changed to accessor _position_
* - Method _readUnsignedByte()_ now returns type _uint_
* - Method _readUnsignedShort()_ now returns type _uint_
*
* - Renamed _flash_transient_ namespace to _transient_ and
* put in _flash.net_ package
*
* - Moved _registerClass_ to the _flash.net_ package.
*
* - Moved the _ObjectEncoding_ class from _flash.utils_ to the
* _flash.net_ package.
*
* - [srahim 04/05/05] Doc scrub
*/
}