void MT_CntVersitMyCardPlugin::importContact() { //import QBuffer input; input.open(QBuffer::ReadWrite); QByteArray inputVCard = "BEGIN:VCARD\r\nVERSION:2.1\r\nFN:John\r\nEND:VCARD\r\n"; input.write(inputVCard); input.seek(0); QVersitReader reader; reader.setDevice(&input); reader.startReading(); reader.waitForFinished(); // Use the resulting document(s)... QVersitContactImporter importer; QList<QVersitDocument> versitDocuments = reader.results(); importer.importDocuments(versitDocuments); QList<QContact> contacts = importer.contacts(); QVERIFY(1 == contacts.count()); // Check if MyCard detail is found QList<QContactDetail> details = contacts.first().details(MYCARD_DEFINTION_NAME); QVERIFY(details.count()==0); }
void completeExample() { // Create the input vCard //! [Complete example - create] QBuffer input; input.open(QBuffer::ReadWrite); QByteArray inputVCard = "BEGIN:VCARD\r\nVERSION:2.1\r\nFN:John Citizen\r\nN:Citizen;John;Q;;\r\nEND:VCARD\r\n"; input.write(inputVCard); input.seek(0); //! [Complete example - create] // Parse the input into QVersitDocuments //! [Complete example - read] // Note: we could also use the more convenient QVersitReader(QByteArray) constructor. QVersitReader reader; reader.setDevice(&input); reader.startReading(); // Remember to check the return value reader.waitForFinished(); QList<QVersitDocument> inputDocuments = reader.results(); //! [Complete example - read] // Convert the QVersitDocuments to QContacts //! [Complete example - import] QVersitContactImporter importer; if (!importer.importDocuments(inputDocuments)) return; QList<QContact> contacts = importer.contacts(); // Note that the QContacts are not saved yet. // Use QContactManager::saveContacts() for saving if necessary //! [Complete example - import] // Export the QContacts back to QVersitDocuments //! [Complete example - export] QVersitContactExporter exporter; if (!exporter.exportContacts(contacts, QVersitDocument::VCard30Type)) return; QList<QVersitDocument> outputDocuments = exporter.documents(); //! [Complete example - export] // Encode the QVersitDocument back to a vCard //! [Complete example - write] // Note: we could also use the more convenient QVersitWriter(QByteArray*) constructor. QBuffer output; output.open(QBuffer::ReadWrite); QVersitWriter writer; writer.setDevice(&output); writer.startWriting(outputDocuments); // Remember to check the return value writer.waitForFinished(); // output.buffer() now contains a vCard //! [Complete example - write] }