eVision .NET API
Loading...
Searching...
No Matches
eVision.EMemorySerializer Class Reference

A type of ESerializer suitable for serialization and deserialization to and from memory buffers. More...

Inheritance diagram for eVision.EMemorySerializer:
Collaboration diagram for eVision.EMemorySerializer:

Public Member Functions

 EMemorySerializer (eVision.ESerializerMode mode)
 Initializes an EMemorySerializer object in read or write mode.
 EMemorySerializer (eVision.ESerializerMode mode, byte[] bytes)
 Initializes an EMemorySerializer object in read or write mode.
 EMemorySerializer (eVision.ESerializerMode mode, IntPtr externalBuffer, uint externalBufferSize)
 Initializes an EMemorySerializer object in read or write mode.
void SetMode (eVision.ESerializerMode mode)
 Sets the current mode of the EMemorySerializer.
override void Close ()
 This method has no effect in EMemorySerializer.EMemorySerializer.

Properties

override eVision.ESerializerMode Mode [get]
 The current mode of the serializer.
override bool Closed [get]
 Always false in EMemorySerializer.EMemorySerializer.
IntPtr Buffer [get]
 Address of the internal buffer.
uint BufferSize [get]
 Size of the internal buffer.
byte[] BufferAsVector [get]
 The internal buffer as a vector of bytes.
uint CurrentPosition [get, set]
 Current position in the buffer.
Properties inherited from eVision.ESerializer
eVision.ESerializerMode Mode [get]
 The current mode of the serializer.
bool Closed [get]
 Indicates if the ESerializer is closed or not.
virtual bool Writing [get]
 Returns true if the ESerializer object has been created for writing and false otherwise.

Additional Inherited Members

Static Public Member Functions inherited from eVision.ESerializer
static eVision.ESerializer CreateFileWriter (string filePath, eVision.ESerializerFileWriterMode mode)
 Returns an ESerializer object suitable for opening a file and writing into it.
static eVision.ESerializer CreateFileWriter (string filePath)
 Returns an ESerializer object suitable for opening a file and writing into it.
static eVision.ESerializer CreateFileReader (string filePath)
 Returns an ESerializer object suitable for reading from a file.
static eVision.ESerializer CreateMemoryWriter ()
 Returns an ESerializer object suitable for serializing into a buffer.
static eVision.ESerializer CreateMemoryWriter (uint initialBufferSize)
 Returns an ESerializer object suitable for serializing into a buffer.
static eVision.ESerializer CreateMemoryWriter (IntPtr buffer, uint size)
 Returns an ESerializer object suitable for serializing into a buffer.
static eVision.ESerializer CreateMemoryReader (IntPtr buffer, uint size)
 Returns an ESerializer object suitable for reading from a buffer.
static eVision.ESerializer CreateMemoryReader (byte[] bytes)
 Returns an ESerializer object suitable for reading from a buffer.
static eVision.ESerializer CreateCallbackWriter (IntPtr isEOS, IntPtr setCurrentPos, IntPtr getCurrentPos, IntPtr serializeMemory, IntPtr close, IntPtr cookie)
static eVision.ESerializer CreateCallbackReader (IntPtr isEOS, IntPtr setCurrentPos, IntPtr getCurrentPos, IntPtr serializeMemory, IntPtr close, IntPtr cookie)

Detailed Description

A type of ESerializer suitable for serialization and deserialization to and from memory buffers.

License(s): None

Constructor & Destructor Documentation

◆ EMemorySerializer() [1/3]

eVision.EMemorySerializer.EMemorySerializer ( eVision.ESerializerMode mode)

Initializes an EMemorySerializer object in read or write mode.

Parameters
modeThe serializer mode, read or write.

In read mode:

A buffer should be provided, either using a vector of bytes or an external buffer, in order to read the bytes from it.

In write mode:

If an external buffer is not provided, a internal buffer will be automatically created. In the case where an internal buffer is used that buffer will automatically be resized as needed during serialization operations.

◆ EMemorySerializer() [2/3]

eVision.EMemorySerializer.EMemorySerializer ( eVision.ESerializerMode mode,
byte[] bytes )

Initializes an EMemorySerializer object in read or write mode.

Parameters
modeThe serializer mode, read or write.
bytesA vector containing bytes to read. Can only be used in read mode.

Those bytes will be copied into EMemorySerializer's internal buffer.

In read mode:

A buffer should be provided, either using a vector of bytes or an external buffer, in order to read the bytes from it.

In write mode:

If an external buffer is not provided, a internal buffer will be automatically created. In the case where an internal buffer is used that buffer will automatically be resized as needed during serialization operations.

◆ EMemorySerializer() [3/3]

eVision.EMemorySerializer.EMemorySerializer ( eVision.ESerializerMode mode,
IntPtr externalBuffer,
uint externalBufferSize )

Initializes an EMemorySerializer object in read or write mode.

Parameters
modeThe serializer mode, read or write.
externalBufferAddress of an external buffer to be used by the memory serializer.

Can be used in both read and write mode. When using an external buffer that buffer is not managed by EMemorySerializer. It is the responsability of the user to ensure this buffer is available during read and write operations.

Parameters
externalBufferSizeMust be specified if the buffer parameter is used. Size of the external memory buffer.

In read mode:

A buffer should be provided, either using a vector of bytes or an external buffer, in order to read the bytes from it.

In write mode:

If an external buffer is not provided, a internal buffer will be automatically created. In the case where an internal buffer is used that buffer will automatically be resized as needed during serialization operations.

Member Function Documentation

◆ Close()

override void eVision.EMemorySerializer.Close ( )
virtual

This method has no effect in EMemorySerializer.EMemorySerializer.

Reimplemented from eVision.ESerializer.

◆ SetMode()

void eVision.EMemorySerializer.SetMode ( eVision.ESerializerMode mode)

Sets the current mode of the EMemorySerializer.

Calling this method also resets the position of the cursor in the serializer.

Parameters
modeThe mode

Property Documentation

◆ Buffer

IntPtr eVision.EMemorySerializer.Buffer
get

Address of the internal buffer.

◆ BufferAsVector

byte [] eVision.EMemorySerializer.BufferAsVector
get

The internal buffer as a vector of bytes.

◆ BufferSize

uint eVision.EMemorySerializer.BufferSize
get

Size of the internal buffer.

◆ Closed

override bool eVision.EMemorySerializer.Closed
get

◆ CurrentPosition

uint eVision.EMemorySerializer.CurrentPosition
getset

Current position in the buffer.

◆ Mode

override eVision.ESerializerMode eVision.EMemorySerializer.Mode
get

The current mode of the serializer.