QVersitWriter Class Reference
The QVersitWriter class writes Versit documents such as vCards to a device. More...
#include <QVersitWriter>
Public Types
enum | Error { NoError, UnspecifiedError, IOError, OutOfMemoryError, NotReadyError } |
enum | State { InactiveState, ActiveState, CanceledState, FinishedState } |
Public Functions
Public Slots
Signals
Detailed Description
The QVersitWriter class writes Versit documents such as vCards to a device.
QVersitWriter converts a QVersitDocument into its textual representation. QVersitWriter supports writing to an abstract I/O device which can be for example a file or a memory buffer. The writing can be done asynchronously and the waitForFinished() function can be used to implement a blocking write.
The serialization of the document is done in accordance with the type of the QVersitDocument being written. The value of each QVersitProperty is encoded according to the type of object:
- QStrings are serialized verbatim, unless the default codec of the writer cannot encode the string: in this case, UTF-8 is used to encode it (and the CHARSET parameter added to the property, as per the vCard 2.1 specification). If the document type is vCard 2.1, quoted-printable encoding may also be performed.
- QByteArrays are assumed to be binary data and are serialized as base-64 encoded values.
- QVersitDocuments are serialized as a nested document (eg. as per the AGENT property in vCard).
See also QVersitDocument and QVersitProperty.
Member Type Documentation
enum QVersitWriter::Error
This enum specifies an error that occurred during the most recent operation:
|
Constant | Value | Description |
QVersitWriter::NoError | 0 | The most recent operation was successful |
QVersitWriter::UnspecifiedError | 1 | The most recent operation failed for an undocumented reason |
QVersitWriter::IOError | 2 | The most recent operation failed because of a problem with the device |
QVersitWriter::OutOfMemoryError | 3 | The most recent operation failed due to running out of memory |
QVersitWriter::NotReadyError | 4 | The most recent operation failed because there is an operation in progress |
enum QVersitWriter::State
Enumerates the various states that a reader may be in at any given time
|
Constant | Value | Description |
QVersitWriter::InactiveState | 0 | Write operation not yet started |
QVersitWriter::ActiveState | 1 | Write operation started, not yet finished |
QVersitWriter::CanceledState | 2 | Write operation is finished due to cancelation |
QVersitWriter::FinishedState | 3 | Write operation successfully completed |
Member Function Documentation
QVersitWriter::QVersitWriter ()
Constructs a new writer.
QVersitWriter::QVersitWriter ( QIODevice * outputDevice )
Constructs a new writer that writes to outputDevice.
QVersitWriter::QVersitWriter ( QByteArray * outputBytes )
Constructs a new writer that appends to outputBytes.
QVersitWriter::~QVersitWriter ()
Frees the memory used by the writer. Waits until a pending asynchronous writing has been completed.
void QVersitWriter::cancel () [slot]
Attempts to asynchronously cancel the write request.
QTextCodec * QVersitWriter::defaultCodec () const
Returns the document's codec.
See also setDefaultCodec().
QIODevice * QVersitWriter::device () const
Returns the device used for writing, or 0 if no device has been set.
See also setDevice().
Error QVersitWriter::error () const
Returns the error encountered by the last operation.
void QVersitWriter::setDefaultCodec ( QTextCodec * codec )
Sets the default codec for the writer to use for writing the entire output.
If codec is NULL, the writer uses the codec according to the specification prescribed default. (for vCard 2.1, ASCII; for vCard 3.0, UTF-8).
See also defaultCodec().
void QVersitWriter::setDevice ( QIODevice * device )
Sets the device used for writing to device. Does not take ownership of the device.
See also device().
bool QVersitWriter::startWriting ( const QList<QVersitDocument> & input ) [slot]
Starts writing input to device() asynchronously. Returns false if the output device has not been set or opened or if there is another asynchronous write operation already pending. Signal stateChanged() is emitted with parameter FinishedState when the writing has finished.
State QVersitWriter::state () const
Returns the state of the writer.
void QVersitWriter::stateChanged ( QVersitWriter::State state ) [signal]
The signal is emitted by the writer when its state has changed (eg. when it has finished writing to the device). state is the new state of the writer.