Palm Programmer's Laboratory
Palm OS Programmer's Companion Volume II/2-1
2-1 Exchange ライブラリについて
Exchange ライブラリは、Exchange マネージャ?のプラグインとして機能する、Palm OS(R)共有ライブラリです。プロトコルや通信デバイスを扱い、Palm OS アプリケーションで転送メカニズムに関係なくデータオブジェクトのインポート/エクスポートを可能にします。例えば、ある Exchange ライブラリは、IrDA プロトコル( IrOBEX)を実装している Palm PoweredTM ハンドヘルドから常に利用可能です。これは、ある Palm Powered ハンドヘルドから別のハンドヘルドに赤外線を使ってオブジェクトをビームできるようにします。
Exchange ライブラリ API の利点は以下の通りです。
- リムーバブル ストレージ カード
- 通知(Notification)サービス
- Email 添付ファイル
- Web(HTT?P/FTP/CTP/WAP)通信
- HotSync(R)インポート/エクスポート
Exchange ライブラリ、Exchange マネージャ、アプリケーション
Exchange マネージャはアプリケーションが使う高レベルツールです。Exchange ライブラリは、特定の転送の実装を扱うルーチンのセットです。典型的に、Exchange ライブラリ関数はExchange マネージャからコールされ、アプリケーションから直接アクセスされることはありません。データの送受信を行ないたいアプリケーションは、Exchange マネージャ API によって提供される関数をコールします。API の多くは、適切な Exchangeライブラリにおける相当する関数を呼び出しするのと同等のことを行ないます。
Exchange ライブラリは Exchange マネージャへのコールバックも行ないます。例えば、 Exchange マネージャが Exchange ライブラリから受信したオブジェクトを引き渡せるように、Exchange ライブラリはExgNotifyReceiveをコールします。
データのやりとりに含まれるどのコンポーネント( Exchange マネージャ、 Exchange ライブラリ、アプリケーション)も、それ自身では完結しません。しかし、アプリケーションと Exchange ライブラリは、実体は別々のコードの複合的な相互作用に置き換えられているとしても、すべての相互作用を単一でシームレスなインターフェイスだとユーザが感じるように書かれるべきです。
図 2.1 は、通信中の2つのデバイスにおけるアプリケーション・Exchange マネージャ・Exchange ライブラリ間の関係について表したものです。
図 2.1 Exchange マネージャを使用したオブジェクトのやりとり
以下の表は、Palm OS アプリケーション・Exchange マネージャ・Exchange ライブラリ間の責任の範囲を挙げたものです。
表 2.1 データオブジェクトのやりとりにおける責任の範囲
Palm OS アプリケーション | Exchange マネージャ | Exchange ライブラリ |
---|---|---|
データの生成・編集・保管 | Exchange ライブラリのレジストリの維持 | 他のデバイスへのデータ送信/からのデータ受信 |
データ←→相互作用フォーマットの変換 | データを受信できるアプリケーションのレジストリの維持 | ユーザからアドレス情報を受けるためのダイアログ表示 |
データの表示または説明 | 適切な Exchange ライブラリに送受信リクエストを渡す | ステータスまたはエラーダイアログの表示( Progress マネージャを使用するかもしれない) |
ユーザがデータを受信するかどうかを問いあわせるダイアログの表示 |
Palm OS Exchange ライブラリ
Exchange マネージャは Palm OS 3.0 で取り入れられ、Palm OS 4.0 で意義のある強化がなされました。このため、様々な Exchange ライブラリが異なるバージョン の OS で必要とされます。表 2.2は、様々な Exchange ライブラリが最低限必要とする OS バージョンの一覧です。
表 2.2 Exchange ライブラリが必要とするPalm OS のバージョン
Exchange ライブラリ | Palm OS バージョン |
---|---|
赤外線ライブラリ(IrDA) | Palm OS 3.0 |
ローカル Exchange ライブラリ | Palm OS 4.0 |
SMS ライブラリ(Short Messaging System) | Palm OS 4.0 |
Bluetooth ライブラリ※1 | Palm OS 4.0 |
Palm OS SDK バージョン 4 に含まれているのは、HostTransfer サンプル Exchange ライブラリです。このライブラリは、あなた自身の Exchange ライブラリを作成するときのスタート地点として使用できます。