TStreamMark Class Reference
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
RShareBuf
TStreamExchange
Public Member Functions
|
|
TStreamMark
()
|
|
TStreamMark
(
TStreamPos
)
|
void
|
Clear
()
|
void
|
ExtractL
(
TStreamExchange
&)
|
TBool
|
IsEmpty
()
|
TBool
|
IsWith
(
TStreamExchange
&)
|
TStreamPos
|
Position
()
|
TInt
|
ReadL
(
TStreamExchange
&,
TAny
*,
TInt
)
|
IMPORT_C
TInt
|
ReadL
(
TStreamExchange
&,
TDes8
&,
TRequestStatus
&)
|
TInt
|
ReadL
(
TStreamExchange
&,
TDes8
&,
TInt
,
TRequestStatus
&)
|
TStreamTransfer
|
ReadL
(
TStreamExchange
&,
MStreamInput
&,
TStreamTransfer
)
|
TInt
|
ReadL
(
TStreamExchange
&,
MStreamInput
&,
TInt
)
|
void
|
ReadL
(
TStreamExchange
&,
MStreamInput
&)
|
TBool
|
RelatesTo
(
TStreamExchange
&)
|
void
|
SeekL
(
TStreamExchange
&,
TStreamPos
)
|
TStreamPos
|
SeekL
(
TStreamExchange
&,
TStreamLocation
,
TInt
)
|
TStreamPos
|
SeekL
(
TStreamExchange
&,
TInt
)
|
TStreamPos
|
TellL
(
TStreamExchange
&)
|
void
|
Withdraw
(
TStreamExchange
&)
|
void
|
WriteL
(
TStreamExchange
&, const
TAny
*,
TInt
)
|
IMPORT_C
TInt
|
WriteL
(
TStreamExchange
&, const
TDesC8
&,
TRequestStatus
&)
|
TInt
|
WriteL
(
TStreamExchange
&, const
TDesC8
&,
TInt
,
TRequestStatus
&)
|
TStreamTransfer
|
WriteL
(
TStreamExchange
&,
MStreamOutput
&,
TStreamTransfer
)
|
TInt
|
WriteL
(
TStreamExchange
&,
MStreamOutput
&,
TInt
)
|
void
|
WriteL
(
TStreamExchange
&,
MStreamOutput
&)
|
|
operator TStreamMark *
()
|
|
operator const TStreamMark *
()
|
TBool
|
operator!=
(const
TStreamMark
&)
|
TBool
|
operator!=
(const
TStreamMark
*)
|
TStreamMark
&
|
operator=
(
TStreamPos
)
|
TBool
|
operator==
(const
TStreamMark
&)
|
TBool
|
operator==
(const
TStreamMark
*)
|
Constructor & Destructor Documentation
TStreamMark()
Constructs a default shared stream mark object.
The position for the mark is uninitialised.
An uninitialised mark means that a call to
IsEmpty()
returns true.
IsEmpty()
TStreamMark(TStreamPos)
Constructs the shared stream mark object, setting the mark to the specified stream position.
An initialised mark means that a call to
IsEmpty()
returns false.
IsEmpty()
TStreamMark(const TStreamMark &)
Constructs a default shared stream mark object.
The position for the mark is uninitialised.
An uninitialised mark means that a call to
IsEmpty()
returns true.
IsEmpty()
Member Functions Documentation
Clear()
Resets the mark object to its default state.
On return from this function, the mark is uninitialised and a call to
IsEmpty()
returns true.
Empties the object/makes it empty so that
IsEmpty()
returns false
ExtractL(TStreamExchange &)
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.
IsEmpty()
TBool
|
IsEmpty
|
(
|
)
|
const [inline]
|
Tests whether this mark object is uninitialised.
IsTracking(TStreamMark *const &)
IsWith(TStreamExchange &)
Tests whether the specified shared streaming manager currently refers to this mark object.
Position()
Gets the position of the mark.
ReadL(TStreamExchange &, TAny *, TInt)
Reads data from the shared stream into the specified memory location.
Parameters
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.
|
ReadL(TStreamExchange &, TDes8 &, TRequestStatus &)
ReadL(TStreamExchange &, TDes8 &, TInt, TRequestStatus &)
Reads data, asynchronously, from the shared stream into the specified descriptor.
If the function leaves, then no read request will have been initiated.
Parameters
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.
|
ReadL(TStreamExchange &, MStreamInput &, TStreamTransfer)
Reads data from the shared stream into the specified data sink.
Parameters
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.
|
ReadL(TStreamExchange &, MStreamInput &, TInt)
Reads data from the shared stream into the specified data sink.
Parameters
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.
|
ReadL(TStreamExchange &, MStreamInput &)
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.
Parameters
TStreamExchange
& aHost
|
The object that manages shared streaming.
|
MStreamInput
& anInput
|
The sink which is the target for the read operation.
|
RelatesTo(TStreamExchange &)
SeekL(TStreamExchange &, TStreamPos)
SeekL(TStreamExchange &, TStreamLocation, TInt)
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.
Parameters
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.
|
SeekL(TStreamExchange &, TInt)
Moves the position of the mark in the host stream.
Parameters
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.
|
TellL(TStreamExchange &)
Gets the position of the mark within the host stream.
Track(TStreamMark *const &)
void
|
Track
|
(
|
TStreamMark
*const &
|
aRef
|
)
|
[private, inline]
|
Withdraw(TStreamExchange &)
Instructs the shared streaming manager to remove any reference it has to this mark object.
WriteL(TStreamExchange &, const TAny *, TInt)
Writes data from the specified memory location into the shared stream.
Parameters
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.
|
WriteL(TStreamExchange &, const TDesC8 &, TRequestStatus &)
Writes data, asynchronously, from the specified descriptor into the shared stream.
The maximum number of bytes to be written is the value of the maximum length of the descriptor.
If the function leaves, then no write request will have been initiated.
Parameters
TStreamExchange
& aHost
|
The object that manages shared streaming.
|
const
TDesC8
& aDes
|
The source descriptor for the data to be written into the shared stream.
|
TRequestStatus
& aStatus
|
The request status that indicates the completion status of this asynchronous request.
|
WriteL(TStreamExchange &, const TDesC8 &, TInt, TRequestStatus &)
Writes data, asynchronously, from the specified descriptor into the shared stream.
If the function leaves, then no write request will have been initiated.
Parameters
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.
|
WriteL(TStreamExchange &, MStreamOutput &, TStreamTransfer)
Writes data into the shared stream from the specified data source.
Parameters
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.
|
WriteL(TStreamExchange &, MStreamOutput &, TInt)
Writes data into the shared stream from the specified data source
Parameters
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.
|
WriteL(TStreamExchange &, MStreamOutput &)
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.
__DbgChkPos(TStreamPos)
IMPORT_C void
|
__DbgChkPos
|
(
|
TStreamPos
|
aPos
|
)
|
[private, static]
|
operator TStreamMark *()
operator TStreamMark *
|
(
|
)
|
[inline]
|
operator const TStreamMark *()
operator const TStreamMark *
|
(
|
)
|
const [inline]
|
operator!=(const TStreamMark &)
Tests whether this object and the specified shared stream mark object are different objects.
Parameters
const
TStreamMark
& aMark
|
A pointer to a shared stream mark object.
|
operator!=(const TStreamMark *)
operator=(TStreamPos)
Assigns the specified stream position value to this shared stream mark object.
Parameters
TStreamPos
aPos
|
The stream position value to be assigned.
|
operator=(const TStreamMark &)
operator==(const TStreamMark &)
Tests whether this object and the specified referenced shared stream mark object are the same object.
Parameters
const
TStreamMark
& aMark
|
A reference to a shared stream mark object.
|
operator==(const TStreamMark *)
Member Data Documentation
Copyright ©2010 Nokia Corporation and/or its subsidiary(-ies).
All rights
reserved. Unless otherwise stated, these materials are provided under the terms of the Eclipse Public License
v1.0.