- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
[[← 4 節に戻る|Palm OS Programmer's Companion Volume II/5-4]] [[↑5 章トップへ|Palm OS Programmer's Companion Volume II/5]] [[6 節に進む →|Palm OS Programmer's Companion Volume II/5-6]]
----
!!! 5-5 接続マネージャ
接続マネージャは、アプリケーションが接続プリファレンスパネルに含まれる接続プロファイルにアクセスしたり追加や削除をしたりできるようにします。Palm OS の初期リリースでは、モデムプリファレンスパネルがありました。接続パネルはモデムパネルの替わりです。この変更により、いろいろな接続(シリアルケーブル、赤外線、モデム、ネットワーク、など)をユーザが利用できるようになりました。
接続マネージャは、さまざまな接続形式の設定を保存する接続プロファイルを管理するために、接続パネルと同時に紹介されました。接続プロファイルは 特定の接続で使用されるハードウェアポートにおける情報やポートの詳細(速度、フローコントロール、モデム初期化文字列)、その他適切な情報を含みます。
接続マネージャは全ての Palm デバイスで利用できるわけではありません。接続マネージャをコールする前にそれが存在することを確認しなければいけません。もし[[接続マネージャフィーチャセット]]が存在するなら、接続マネージャの拡張バージョンが利用できます。この拡張接続マネージャにより、携帯電話との通信を指定するプロファイルや、Bluetooth デバイスとの通信を指定するプロファイルが使えるようになります。それは更に拡張することができ、必要であればあなた固有のプロファイルパラメータを作成できます。
:注:接続マネージャは Bluetooth 接続をサポートしますが、Bluetooth は追加のハードウェアとソフトウェアを必要とし、これを書いている時点ではそれは利用できません。
接続マネージャの基本的なバージョンは、保存された接続プロファイルを列挙する関数( {{span style='color:blue;font-family:monospace;',CncDeleteProfile}} )を提供します。
基本接続マネージャでプロファイルを作成するとき、各プロファイルパラメータは {{span style='color:blue;font-family:monospace;',CncAddProfile}} 関数のパラメータとして渡されます。同様に、プロファイルの情報を要求するとき、各プロファイルパラメータは {{span style='color:blue;font-family:monospace;',CncGetProfileInfo}} の出力パラメータで渡されます。
より新しく、拡張された接続マネージャは、基本接続マネージャより多くの種類の接続をサポートします。また、より多くの種類のプロファイルパラメータもサポートします。これにより、一つのパラメータで Listing 5.10 を使ってプロファイル情報を検索することができます。
'''Listing 5.10 ポート情報の検索 '''
UInt16 dataSize;
UInt32 portCreator;
dataSize = kCncParamPortSize;
err = CncProfileSettingGet(profileID, kCncParamPort,
&portCreator, &dataSize);
プロファイルを作成するために、最初にユニークなプロファイル ID を入手してから、{{span style='color:blue;font-family:monospace;',CncProfileCloseDB}} にあるように閉じるためにプロファイルパラメータを一つずつセットします。これらは必要とされるコールではありません。もし明示的にデータベースを開いたり閉じたりしなければ、各接続マネージャ関数はデータベースを開き、その仕事を行ない、データベースを閉じます。一連の接続マネージャコールの前に {{span style='color:blue;font-family:monospace;',CncProfileOpenDB}} をコールし最後に {{span style='color:blue;font-family:monospace;',CncProfileCloseDB}} をコールすることで、各関数がデータベースを開いたり閉じたりするオーバーヘッドを抑えることができます。
'''Listing 5.11 接続プロファイルの作成'''
// Open the Connection Manager profile database;
err = CncProfileOpenDB();
// obtain new profile ID.
err = CncProfileCreate(&profileId);
if (!err) {
// Create a name for the profile.
err = CncProfileSettingSet(profileId, kCncParamName,
myProfileName, StrLen(myProfileName)+1);
// Set some other required parameters.
port = serPortLocalHotSync;
err = CncProfileSettingSet(profileId, kCncParamPort,
&port, kCncParamPortSize);
baud = 57600;
err = CncProfileSettingSet(profileId, kCncParamBaud,
&baud, kCncParamBaudSize);
deviceKind = kCncDeviceKindSerial;
err = CncProfileSettingSet(profileId, kCncParamDeviceKind,
&deviceKind, kCncParamDeviceKindSize);
}
// close the profile database.
err = CncProfileCloseDB();
拡張接続マネージャ API でも、接続内でユニークなプロファイルパラメータを作成できます。それには、{{span style='color:blue;font-family:monospace;',CncDefineParamID}} マクロを使います。詳細は、''Palm OS Programmer's API Reference'' を参照して下さい。
----
[[← 4 節に戻る|Palm OS Programmer's Companion Volume II/5-4]] [[↑5 章トップへ|Palm OS Programmer's Companion Volume II/5]] [[6 節に進む →|Palm OS Programmer's Companion Volume II/5-6]]