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.

Revision as of 04:36, 30 May 2013 by hamishwillee (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

AIW ジェネリック・パラメータ(Generic Parameters) API

From Wiki
Jump to: navigation, search
Article Metadata
Code ExampleArticle
Translated:
By masatoshi
Last edited: hamishwillee (30 May 2013)


Note.pngNote: このAPIは、SDKの標準には含まれていません。SDK API Plug-inに含まれています。

AIWジェネリック・パラメータAPI は、AIWコンシューマ・アプリケーションに、AIWジェネリック・パラメータを扱う方法を提供するために使用されます。ジェネリック・パラメータは、AIWコンシューマ(consumers)プロバイダ(providers)間でデータを転送するために使用されます。

使用例

AIWジェネリック・パラメータAPIは主に次のことに使用されます:

ベーシックな型のジェネリック・パラメータ・リストの作成

プロバイダ特有のオブジェクトのジェネリック・パラメータ・リストの作成


サンプル・コード

ベーシックな型のジェネリック・パラメータ・リストの作成 (訳注:「ベーシックな型」は、TBoolやTReal 等を意味しない)

このサンプル・コードは、どのようにしてジェネリック・パラメタ・リストを作成し、ファイル名(ディスクリプタ)とエラー・コード(整数)アイテムでそれを埋めるかを示します。これは、プロバイダ特有のオブジェクトを必要としないAIWプロバイダに、共通の型のパラメータを渡す方法です。

#include <AiwGenericParam.h>
// Create a list and put it into the cleanup stack.
CAiwGenericParamList* list = CAiwGenericParamList::NewLC();
 
// Set up and append file name parameter.
_LIT(KMyFileName, "c:\\data\\testfile.txt");
TFileName filename(KMyFileName);
TAiwGenericParam param(EGenericParamFile);
param.Value().Set(filename);
list->AppendL(param);
 
// Set up and append error code parameter.
param.Reset();
param.SetSemanticId(EGenericParamError);
param.Value().Set(KErrNotFound);
list->AppendL(param);
 
// The list can now be passed e.g. by calling Service Handler's
// ExecuteMenuCmdL() or ExecuteServiceCmdL().
 
// Pop and destroy the list when it is not needed anymore.
CleanupStack::PopAndDestroy(list);


一つのリストに、同じセマンティックidで複数のアイテムがあるかも知れません。 受け取ったアプリケーションは、CAiwGenericParamList の反復(iterator)メソッドを使って、リストのデータ・アイテムにアクセスします。

AIWフレームワークには、入力と出力のリストを作成するための便利なメソッドがあります。このリストを使うことで、コンシューマ・アプリケーションは、リストのヒープの割り当てと削除を行う必要はありません。唯一の制限は、入力と出力のリストそれぞれ一つずつのみリクエスト可能という点です。もし複数必要な場合、コンシューマ・アプリケーションは、自身でそれらを生成・削除しなければいけません。入力と出力リストを作成するメソッドは以下のように定義されています:


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

プロバイダ特有のオブジェクトのジェネリック・パラメータ・リストの作成

コンシューマとプロバイダ間で、プロバイダ特有のクラスや構造体を転送する必要がある場合、ジェネリック・パラメータ・リストに追加する前に、それをTPtrC8 か TPckg を使ってシリアル化(直列化, serialize)する必要があります。このような種類のパラメータには、変数型id EVariantTypeDesC8 を使用します。AIWフレームワークは、ポインターを渡すことをサポートしていないことに注意してください。例題として、"Map and Navigation AIW プロバイダ"の文章を参照してください。


Example project

File:AIWConsumerBasics.zip

This page was last modified on 30 May 2013, at 04:36.
214 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.

×