class TStreamMark |
Manages the position of a read mark or a write mark within a shared stream.
A shared stream is one that shares its host with other streams. In practice, the host is a stream buffer that is, itself, hosted by a file, an RFileBuf object.
TStreamMark objects are owned by RShareBuf, one for reading and one for writing. They re-direct read/write operations through a TStreamExchange object to the RFileBuf object, which handles the actual file read and write operations.
RFileBuf
Private Member Functions | |
---|---|
TStreamMark(const TStreamMark &) | |
TBool | IsTracking(TStreamMark *const &) |
void | Track(TStreamMark *const &) |
IMPORT_C void | __DbgChkPos(TStreamPos) |
TStreamMark & | operator=(const TStreamMark &) |
Private Attributes | |
---|---|
TStreamPos | iPos |
TStreamMark | ( | TStreamPos | aPos | ) | [inline] |
TStreamPos aPos | The stream position |
TStreamMark | ( | const TStreamMark & | ) | [private] |
const TStreamMark & |
void | ExtractL | ( | TStreamExchange & | aHost | ) | [inline] |
Refreshes this mark from the mark in the host stream buffer and tells the shared streaming manager to drop any reference it has to to this mark object.
TStreamExchange & aHost | The object that manages shared streaming. |
TBool | IsEmpty | ( | ) | const [inline] |
Tests whether this mark object is uninitialised.
True, if this mark object is uninitialised; false, otherwise.
TBool | IsTracking | ( | TStreamMark *const & | aRef | ) | const [private, inline] |
TStreamMark *const & aRef |
TBool | IsWith | ( | TStreamExchange & | aHost | ) | const [inline] |
Tests whether the specified shared streaming manager currently refers to this mark object.
True, if the shared stream manager refers to this mark; false, otherwise.
TStreamExchange & aHost | The object that manages shared streaming. |
TInt | ReadL | ( | TStreamExchange & | aHost, |
TAny * | aPtr, | |||
TInt | aMaxLength | |||
) | [inline] |
Reads data from the shared stream into the specified memory location.
The number of bytes read.
TStreamExchange & aHost | The object that manages shared streaming. |
TAny * aPtr | A pointer to the target memory location for the data read from the shared stream. |
TInt aMaxLength | The maximum number of bytes to be read. |
IMPORT_C TInt | ReadL | ( | TStreamExchange & | aHost, |
TDes8 & | aDes, | |||
TRequestStatus & | aStatus | |||
) |
TStreamExchange & aHost | |
TDes8 & aDes | |
TRequestStatus & aStatus |
TInt | ReadL | ( | TStreamExchange & | aHost, |
TDes8 & | aDes, | |||
TInt | aMaxLength, | |||
TRequestStatus & | aStatus | |||
) | [inline] |
Reads data, asynchronously, from the shared stream into the specified descriptor.
If the function leaves, then no read request will have been initiated.
The maximum number of bytes to be read, as used in this request. This can be different to the value supplied in aMaxLength; this is dependent on the implementation of the underlying stream.
TStreamExchange & aHost | The object that manages shared streaming. |
TDes8 & aDes | The target descriptor for the data read from the shared stream. |
TInt aMaxLength | The maximum number of bytes to be read. |
TRequestStatus & aStatus | The request status that indicates the completion status of this asynchronous request. |
TStreamTransfer | ReadL | ( | TStreamExchange & | aHost, |
MStreamInput & | anInput, | |||
TStreamTransfer | aTransfer | |||
) | [inline] |
Reads data from the shared stream into the specified data sink.
The amount of data that was not consumed.
TStreamExchange & aHost | The object that manages shared streaming. |
MStreamInput & anInput | The sink which is the target for the read operation. |
TStreamTransfer aTransfer | Defines the amount of data available to be read from the shared stream. |
TInt | ReadL | ( | TStreamExchange & | aHost, |
MStreamInput & | anInput, | |||
TInt | aMaxLength | |||
) | [inline] |
Reads data from the shared stream into the specified data sink.
The amount of data that was not consumed.
TStreamExchange & aHost | The object that manages shared streaming. |
MStreamInput & anInput | The sink which is the target for the read operation. |
TInt aMaxLength | The maximum amount of data available to be read from the shared stream. |
void | ReadL | ( | TStreamExchange & | aHost, |
MStreamInput & | anInput | |||
) | [inline] |
Reads data from the shared stream into the specified data sink.
No explicit limit is placed on the amount of data that can be read.
TStreamExchange & aHost | The object that manages shared streaming. |
MStreamInput & anInput | The sink which is the target for the read operation. |
TBool | RelatesTo | ( | TStreamExchange & | aHost | ) | const [inline] |
Tests whether the specified shared streaming manager currently refers to this mark object OR whether this mark object is initialised.
True, if the shared stream manager refers to this mark OR if this mark object is initialised; false, otherwise.
TStreamExchange & aHost | The object that manages shared streaming. |
void | SeekL | ( | TStreamExchange & | aHost, |
TStreamPos | aPos | |||
) | [inline] |
TStreamExchange & aHost | |
TStreamPos aPos |
TStreamPos | SeekL | ( | TStreamExchange & | aHost, |
TStreamLocation | aLocation, | |||
TInt | anOffset = 0 | |||
) | [inline] |
Moves the position of the mark in the host stream.
The new position is calculated by adding the specified offset to one of:
the position of the beginning of the host stream
the position of the end of the host stream
the position of the current mark.
The new position of the mark.
TStreamExchange & aHost | The object that manages shared streaming. |
TStreamLocation aLocation | The location in the host stream on which the calculation of the new position is based. |
TInt anOffset = 0 | The offset value. |
TStreamPos | SeekL | ( | TStreamExchange & | aHost, |
TInt | anOffset | |||
) | [inline] |
Moves the position of the mark in the host stream.
The new position of the mark.
TStreamExchange & aHost | The object that manages shared streaming. |
TInt anOffset | The amount by which the position of the mark is to be moved relative to the existing position of the mark. |
TStreamPos | TellL | ( | TStreamExchange & | aHost | ) | const [inline] |
Gets the position of the mark within the host stream.
The stream position.
TStreamExchange & aHost | The object that manages shared streaming. |
void | Track | ( | TStreamMark *const & | aRef | ) | [private, inline] |
TStreamMark *const & aRef |
void | Withdraw | ( | TStreamExchange & | aHost | ) | [inline] |
Instructs the shared streaming manager to remove any reference it has to this mark object.
TStreamExchange & aHost | The object that manages shared streaming. |
void | WriteL | ( | TStreamExchange & | aHost, |
const TAny * | aPtr, | |||
TInt | aLength | |||
) | [inline] |
Writes data from the specified memory location into the shared stream.
TStreamExchange & aHost | The object that manages shared streaming. |
const TAny * aPtr | A pointer to the memory location from which data is to be written to the shared stream. |
TInt aLength | The number of bytes to be written. |
IMPORT_C TInt | WriteL | ( | TStreamExchange & | aHost, |
const TDesC8 & | aDes, | |||
TRequestStatus & | aStatus | |||
) |
TStreamExchange & aHost | |
const TDesC8 & aDes | |
TRequestStatus & aStatus |
TInt | WriteL | ( | TStreamExchange & | aHost, |
const TDesC8 & | aDes, | |||
TInt | aMaxLength, | |||
TRequestStatus & | aStatus | |||
) | [inline] |
Writes data, asynchronously, from the specified descriptor into the shared stream.
If the function leaves, then no write request will have been initiated.
The maximum number of bytes to be written, as used in this request. This can be different to the value supplied in aMaxLength; this is dependent on the implementation.
TStreamExchange & aHost | The object that manages shared streaming. |
const TDesC8 & aDes | The source descriptor for the data to be written into the shared stream. |
TInt aMaxLength | The maximum number of bytes to be written. |
TRequestStatus & aStatus | The request status that indicates the completion status of this asynchronous request. |
TStreamTransfer | WriteL | ( | TStreamExchange & | aHost, |
MStreamOutput & | anOutput, | |||
TStreamTransfer | aTransfer | |||
) | [inline] |
Writes data into the shared stream from the specified data source.
A stream transfer object defining the amount of data that was not consumed.
TStreamExchange & aHost | The object that manages shared streaming. |
MStreamOutput & anOutput | The data source for the write operation. |
TStreamTransfer aTransfer | Defines the amount of data to be pulled from the output stream object. |
TInt | WriteL | ( | TStreamExchange & | aHost, |
MStreamOutput & | anOutput, | |||
TInt | aMaxLength | |||
) | [inline] |
Writes data into the shared stream from the specified data source
The amount of data that was not consumed.
TStreamExchange & aHost | The object that manages shared streaming. |
MStreamOutput & anOutput | The data source for the write operation. |
TInt aMaxLength | The maximum amount of data available to be written. |
void | WriteL | ( | TStreamExchange & | aHost, |
MStreamOutput & | anOutput | |||
) | [inline] |
Writes data into the shared stream from the specified data source.
No explicit limit is placed on the amount of data that can be written.
TStreamExchange & aHost | The object that manages shared streaming. |
MStreamOutput & anOutput | The data source for the write operation. |
IMPORT_C void | __DbgChkPos | ( | TStreamPos | aPos | ) | [private, static] |
TStreamPos aPos |
TBool | operator!= | ( | const TStreamMark & | aMark | ) | const [inline] |
Tests whether this object and the specified shared stream mark object are different objects.
True, if the two objects are different objects; false, otherwise.
const TStreamMark & aMark | A pointer to a shared stream mark object. |
TBool | operator!= | ( | const TStreamMark * | aPtr | ) | const [inline] |
const TStreamMark * aPtr |
TStreamMark & | operator= | ( | TStreamPos | aPos | ) | [inline] |
Assigns the specified stream position value to this shared stream mark object.
A reference to this shared stream mark object.
TStreamPos aPos | The stream position value to be assigned. |
TStreamMark & | operator= | ( | const TStreamMark & | ) | [private] |
const TStreamMark & |
TBool | operator== | ( | const TStreamMark & | aMark | ) | const [inline] |
Tests whether this object and the specified referenced shared stream mark object are the same object.
True, if the two objects are the same object; false, otherwise.
const TStreamMark & aMark | A reference to a shared stream mark object. |
TBool | operator== | ( | const TStreamMark * | aPtr | ) | const [inline] |
const TStreamMark * aPtr |