Detailed Description
The QVersitContactExporterDetailHandlerV2 class is an interface for specifying custom export behaviour for certain contact details.
This interface supercedes QVersitContactExporterDetailHandler. For general information on extending Qt Versit, see the document on Versit Plugins.
Member Function Documentation
QVersitContactExporterDetailHandlerV2::~QVersitContactExporterDetailHandlerV2 () [virtual]
Frees any memory in use by this handler.
void QVersitContactExporterDetailHandlerV2::contactProcessed ( const QContact & contact, QVersitDocument * document ) [pure virtual]
Perform any final processing on the document generated by the contact. This can be implemented by the handler to clear any internal state before moving onto the next contact.
This function is called after all QContactDetails have been handled by the QVersitContactExporter.
void QVersitContactExporterDetailHandlerV2::detailProcessed ( const QContact & contact, const QContactDetail & detail, const QVersitDocument & document, QSet<QString> * processedFields, QList<QVersitProperty> * toBeRemoved, QList<QVersitProperty> * toBeAdded ) [pure virtual]
Process detail and provide a list of updated QVersitProperties by modifying the toBeRemoved and toBeAdded lists.
This function is called on every QContactDetail encountered during an export, after the detail has been processed by the QVersitContactExporter. An implementation of this function can be made to provide support for QContactDetails not supported by QVersitContactExporter.
The supplied contact is the container for the detail. processedFields contains a list of fields in the detail that were considered by the QVersitContactExporter or another handler in processing the detail. document holds the state of the document before the detail was processed by the exporter.
toBeRemoved and toBeAdded are initially filled with a list of properties that the exporter will remove from and add to the document. These lists can be modified (by removing, modifying or adding properties) by the handler to control the changes that will actually be made to the document. If a property is to be modified in the document, the old version will appear in the toBeRemoved list and the new version will appear in the toBeAdded list. When the handler uses a field from the detail, it should update the processedFields set to reflect this to inform later handlers that the field has already been processed.
After the handler returns control back to the exporter, the properties in the toBeRemoved list will be removed and the properties in the toBeAdded list will be appended to the document.