Namespaces

Variants
Actions

Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries over the next few weeks. Thanks for all your past and future contributions.

API Унифицированных параметров AIW

From Wiki
Jump to: navigation, search
Article Metadata

Пример кода
Исходный файл: Media:AIWConsumerBasics.zip

Статья
Перевод:
Оригинал: AIW Generic Parameters API
truf
Последнее редактирование: hamishwillee (09 Dec 2011)

Note.pngNote: :Это API не является частью SDK. Для его использования вы должны установить SDK API Plug-in.

API Унифицированных параметров AIW предоставляет приложению-клиенту функции создания и управления параметрами AIW. Унифицированные параметры используются для передачи данных между клиентами системы AIW и провайдерами служб AIW.

Contents

Применение

Основными областями применения API Унифицированных параметров AIW являются:

  • Создание списка унифицированных параметров базовых типов.
  • Создание списка унифицированных параметров определенных объектов.

Примеры

Создание списка унифицированных параметров базовых типов

Этот пример демонстрирует создание списка унифицированных параметров и добавление в него имени файла (дескриптор) и кода ошибки (целое число). Этим способом можно передавать наиболее распространенные типы параметров провайдерам AIW, не требующим передачи определенных объектов.

Заголовочный файл:

#include <AiwGenericParam.h>

Код:

// Создание списка, и его помещение в стек очистки.
CAiwGenericParamList* list = CAiwGenericParamList::NewLC();
 
// Задаем параметр с именем файла и добавляем его в список.
_LIT(KMyFileName, "c:\\data\\testfile.txt");
TFileName filename(KMyFileName);
TAiwGenericParam param(EGenericParamFile);
param.Value().Set(filename);
list->AppendL(param);
 
// Задаем параметр с кодом ошибки и добавляем его в список.
param.Reset();
param.SetSemanticId(EGenericParamError);
param.Value().Set(KErrNotFound);
list->AppendL(param);
 
// Теперь список может быть передан провайдеру с помощью
// методов ExecuteMenuCmdL() или ExecuteServiceCmdL() Обработчика Служб.
 
// Как только список больше не нужен - извлечем его из стека и уничтожим
CleanupStack::PopAndDestroy(list);


Вы можете добавлять в список столько параметров, сколько потребуется (с соответствующими им семантическими идентификаторами). Приложение, получающее такой список, должно использовать итерационные методы класса CAiwGenericParamList для доступа к его содержимому.

Система AIW содержит удобные методы создания списка входящих или исходящих параметров. Используя эти методы, приложение-клиент может не заботится о выделении для них памяти в кучи, или ее освобождении. Единственное ограничение: вы не можете обратиться к обоим спискам сразу. Если это вас не устраивает - то вы должны создавать и удалять списки самостоятельно. Методы для создания списка входящих и исходящих параметров объявлены следующим образом:


CAiwGenericParamList& CAiwServiceHandler::InParamListL();
CAiwGenericParamList& CaiwServiceHandler::OutParamListL();


Создание списка унифицированных параметров определенных объектов

Если провайдер определяет собственные классы и структуры для передачи между ним и клиентом, то они должны быть сериализованы перед их добавлением в унифицированный список параметров, например, с помощью типов TPtrC8 или TPckg. В качестве идентификатора таких параметров должно использоваться значение EVariantTypeDesC8. Учтите, что система AIW не поддерживает передачу указателей. В качестве примера, взгляните на документацию Map and Navigation AIW provider.

Демонстрационный проект

File:AIWConsumerBasics.zip


Внутренние ссылки

This page was last modified on 9 December 2011, at 02:01.
187 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×