MeeGo 1.2 Harmattan Developer Documentation Develop for the Nokia N9

QVersitWriter Class Reference

The QVersitWriter class writes Versit documents such as vCards to a device. More...

 #include <QVersitWriter>

Inherits: QObject.

Public Types

enum Error { NoError, UnspecifiedError, IOError, OutOfMemoryError, NotReadyError }
enum State { InactiveState, ActiveState, CanceledState, FinishedState }

Public Functions

QVersitWriter ()
QVersitWriter ( QIODevice * outputDevice )
QVersitWriter ( QByteArray * outputBytes )
~QVersitWriter ()
QTextCodec * defaultCodec () const
QIODevice * device () const
Error error () const
void setDefaultCodec ( QTextCodec * codec )
void setDevice ( QIODevice * device )
State state () const
bool waitForFinished ( int msec = -1 )
  • 29 public functions inherited from QObject

Public Slots

void cancel ()
bool startWriting ( const QList<QVersitDocument> & input )
bool startWriting ( const QList<QVersitDocument> & input, QVersitDocument::VersitType type )
bool startWriting ( const QVersitDocument & input )
bool startWriting ( const QVersitDocument & input, QVersitDocument::VersitType type )
  • 1 public slot inherited from QObject

Signals

void stateChanged ( QVersitWriter::State state )

Additional Inherited Members

  • 1 property inherited from QObject
  • 1 public variable inherited from QObject
  • 4 static public members inherited from QObject
  • 7 protected functions inherited from QObject
  • 2 protected variables inherited from QObject

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. The serialization format is determined based on the contents of the input documents.

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.

The device must be already open. The client is responsible for closing it when finished.

bool QVersitWriter::startWriting ( const QList<QVersitDocument> & input, QVersitDocument::VersitType type ) [slot]

Starts writing input to device() asynchronously using the serialization format specified by type. If type is QVersitDocument::InvalidType, the format will be determined based on the contents of the input documents.

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.

The device must be already open. The client is responsible for closing it when finished.

bool QVersitWriter::startWriting ( const QVersitDocument & input ) [slot]

Starts writing input to device() asynchronously. The serialization format is determined based on the contents of the input documents.

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.

The device must be already open. The client is responsible for closing it when finished.

bool QVersitWriter::startWriting ( const QVersitDocument & input, QVersitDocument::VersitType type ) [slot]

Starts writing input to device() asynchronously using the serialization format specified by type. If type is QVersitDocument::InvalidType, the format will be determined based on the contents of the input documents.

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.

The device must be already open. The client is responsible for closing it when 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.

bool QVersitWriter::waitForFinished ( int msec = -1 )

If the state is ActiveState, blocks until the writer has finished writing or msec milliseconds has elapsed, returning true if it successfully finishes or is cancelled by the user. If msec is negative or zero, the function blocks until the writer has finished, regardless of how long it takes. If the state is FinishedState, returns true immediately. Otherwise, returns false immediately.