## 1 IC オブジェクト

`IC`オブジェクトはマップ型のインターフェースを持っているので、 メールアドレスの取得は単に`ic['MailAddress']` でできます。 値の代入もでき、設定ファイルのオプションを変更できます。

このモジュールは各種のデータ型を知っていて、IC内部の表現を「論理的な」 Python データ構造に変換します。`ic` モジュールを単体で実行すると、 テストプログラムが実行されて ICデータベースにある全てのキーと値のペアを リスト表示するので、文書代わりになります。

モジュールがデータの表現方法を推測できなかった場合、`data` 属性に生のデータが入った`ICOpaqueData` 型のインスタンスを返します。 この型のオブジェクトも代入に利用できます。

`IC`には辞書型のインターフェースの他にも以下のようなメソッドが あります。

`launchurl`( | url[, hint])

  与えられたURLを解析し、適切なアプリケーションを起動してURLを渡します。省 略可能なhintは、`'mailto:'`などのスキーム名で、不完全なURLはこ のスキームにあわせて補完します。hint を指定していない場合、 不完全なURLは無効になります。

`parseurl`( | data[, start[, end[, hint]]])

  data の中からURLを検索し、URLの開始位置、終了位置、URLそのものを 返します。オプションの引数startとend を使うと検索範囲を制限 できます。例えば、ユーザーが長いテキストフィールドをクリックした場合に、 このルーチンにテキストフィールド全体とクリック位置start を渡すことで、 ユーザーがクリックした場所にある URL 全体を返させられます。 先に述べたように、hintはオプションで、不完全なURLを補完するための スキームです。

`mapfile`( | file)

  file に対するマッピングエントリを返します。file には ファイル名か`macfs.FSSpec()` の戻り値を渡せます。実在 しないファイルであってもかまいません。

  マッピングエントリは`(version, type, creator, postcreator, flags, extension, appname, postappname, mimetype, entryname)` からなるタプルで返されます。version はエントリーのバージョン番号、 type は4文字のファイルタイプ、creator は 4 文字の クリエータタイプ、postcreator はファイルのダウンロード後に オプションとして起動され、後処理を行うアプリケーションの 4 文字 のクリエータコードです。flags は、転送をバイナリで行うかアスキー で行うか、などの様々なフラグビットからなる値です。 extensionはこのファイルタイプに対するファイル名の拡張子、 appnameはファイルが属するアプリケーションの印字可能な名前、 postappnameは後処理用アプリケーション、 mimetypeはこのファイルのMIMEタイプ、最後のentrynameは このエントリの名前です。

`maptypecreator`( | type, creator[, filename])

  4文字のtypeとcreator コードを持つファイルに対するマッピン グエントリを返します。(クリエータが `'????'` であるような場合に) 正しいエントリが見つかりやすいようにオプションのfilename を指定 できます。

  マッピングエントリーはmapfileと同じフォーマットで返されます。

`settypecreator`( | file)

  実在のファイルfile に対して、拡張子に基づいて適切なクリエータと タイプを設定します。file の指定は、ファイル名でも `macfs.FSSpec()` の戻り値でもかまいません。変更は Finder に 通知されるので、Finder 上のアイコンは即座に更新されます。