Составители:
Рубрика:
143
bool QAccelerometerFilter::filter(QAccelerometerReading * reading)[pure virtual]
11.4. Работа с сообщениями
В MeeGo SDK существует специальный обобщённый интерфейс для работы практически со всеми
типами сообщений — отправки SMS, сообщений электронной почты, мгновенных средств обмена
данными, собственных форматов данных. Библиотека Qt Messaging обеспечивает поиск и сортировку
сообщений, их отправку и получение. Кроме того, она предоставляет специальное хранилище из
которого, используя средства всё той же библиотеки, возможно выборочно отображать
существующие сообщения, создавать новые и отвечать на существующие.
Основным классом при работе с сообщениями является класс QMessage, представляющий собой
сообщение любого типа (SMS, MMS, MIME Email, TNEF Email и др.). Управление сообщениями
организует класс QMessageManager — основной интерфейс для хранения и поиска сообщений, папок
и ячеек в хранилище сообщений. Каждое сообщение хранится в логической ячейке хранилища
сообщений — за это отвечает класс QMessageAccount. При этом сообщения могут группироваться по
папкам (класс QMessageFolder) и фильтроваться с использованием класса QMessageFilter. Наконец,
за специфическую для типа сообщения отправку отвечает класс QMessageService.
Таким образом, библиотека предоставляет унифицированный доступ к данным сообщений на всех
устройствах, включая одновременный доступ к сообщениями данных несколькими приложениями, и
независимость от механизма, используемого для хранения сообщений данных на устройстве.
Приведём несколько простых примеров.
Создание SMS:
QMessageAddress to (MessageAddress::Phone,“89055555555”);
QMessage sms;
sms.setBody("Hello MeeGo! " );
sms.setType(QMessage::SMS);
sms.setTo(to);
Регистрация и сохранение сообщения в системе:
QMessageManager().addMessage( *sms );
Отправка сообщения:
QMessageService().send( sms );
Фильтрация сообщений:
QMessageFilter includeFilter(QMessageFilter::byTimeStamp(minimumDate,
QMessageDataComparator::GreaterThanEqual));
QMessageFilter excludeFilter(QMessageFilter::byTimeStamp(maximumDate,
QMessageDataComparator::GreaterThanEqual));
QMessageFilter outgoingFilter(QMessageFilter::byStatus(QMessage::Incoming,
QMessageDataComparator::Excludes));
// Поиск сообщений, содержащих адреса для исключения
service.queryMessages(outgoingFilter & excludeFilter);
11.5. Коммуникация между процессами (IPC)
Часто при разработке приходится осуществлять коммуникацию нескольких приложений,
например, вызов методов одного приложения другим и т. д. Подобное взаимодействие возможно
осуществить тремя основными способами:
· через локальные сокеты
· через общую память
· через шину данных D-BUS.
Страницы
- « первая
- ‹ предыдущая
- …
- 141
- 142
- 143
- 144
- 145
- …
- следующая ›
- последняя »
