Введение в разработку приложений на платформе Atom/MeeGo. Граничин О.Н - 134 стр.

UptoLike

134
ADR;TYPE=HOME:;;пр. Невский 55;55;Санкт-Петербург;55555;Россия;Земля
LABEL;TYPE=HOME:Невский пр-т 55-55\nСанкт-Петербург, индекс: 555555\nРоссия
EMAIL;TYPE=PREF,INTERNET:[email protected]
REV:20080424T195243Z
END:VCARD
Кроме того, консорциумом разработан целый ряд форматов для передачи других «бизнес-данных»
например, формат передачи календарных данных iCalendar, TO-DO записей (vTODO), журнальных
отметок (vJOURNAL). Как видно из следующего примера, все они в основе имеют один и тот же
принцип:
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
BEGIN:VEVENT
DTSTAMP:19970714T170000Z
ORGANIZER;CN=John Doe:MAILTO:[email protected]
DTSTART:19970714T170000Z
DTEND:19970715T035959Z
SUMMARY:Bastille Day Party
END:VEVENT
END:VCALENDAR
Основные классы
Для работы с документами формата Versit применяются следующие классы:
· QVersitDocument документ в формате Versit;
· QVersitPropertyэлемент данный Versit-документа;
· QVersitReaderчтение Versit-документов;
· QVersitWriterзапись Versit-документов;
· QVersitContactImporter импорт контактов из формата Versit в формат QContact;
· QVersitContactExporter экспорт контактов из формата QContact в формат Versit.
Примеры
Следующие примеры демонстрируют процесс чтения карточек в формате vCard и их импорта в
формат QContact, из которого совершается обратный экспорт и последующая запись.
QByteArray input = “BEGIN:VCARD\r\nVERSION:3.0\r\n”
“N:Василий;Пупкин\r\nEND:VCARD\r\nEND:VCARD”;
//Импорт данных в формат QContact
QVersitReader *reader = new QVersitReader(input);
QList<QVersitDocument> inputDocuments = reader.results();
QVersitContactImporter importer;
if (!importer.importDocuments(inputDocuments))
return;
QList<QContact> contacts = importer.contacts();
manager::saveContacts(&contacts);//сохраняем контакты
Для разбора визитной карточки в формате vCard, или календаря в формате iCalendar, полученных
из устройств ввода/вывода, может быть использован класс QVersitReader (на выходе мы получим
список документов в формате QVersitDocument).
// Экспорт данных обратно в Versit
QVersitContactExporter exporter;