\section{\module{ic} --- インターネット設定へのアクセス} \declaremodule{builtin}{ic} \platform{Mac} \modulesynopsis{インターネット設定へのアクセス。} このモジュールはMacintoshのインターネット設定\index{Internet Config}パッ ケージへのアクセスを提供します。このパッケージにはインターネットプログラ ムの設定、例えばメールアドレス、デフォルトのホームページなどが保存されてい ます。 それ以外にもインターネット設定はMacintoshのクリエータ/タイプとファイル 名の拡張子との対応付けや、ファイルの転送方法(バイナリ、アスキーなど)に関す る情報を含んでいます。 MacOS 9以降では、このモジュールは``インターネット''という名前のコント ロールパネルになりました。 \module{icglue}\refbimodindex{icglue}という低レベルの関連モジュールが あって、このモジュールはインターネット設定の基本的なアクセス機能を提供し ています。 この低レベルモジュールは文書化されていませんが、ルーチンのdocstringでパ ラメータが説明されていますし、ルーチン名はインターネット設定にあるPascal や\C{}のAPIと同じなので、このモジュールを使う場合はICプログラマーのため の標準的な文書が利用できます。 \module{ic}モジュールは例外\exception{error}と、インターネット設定から生 じる全てのエラーコードに対するシンボル名を定義しています。詳細はソースを 参照してください。 \begin{excdesc}{error} \module{ic}モジュール内部のエラーで発生した例外。 \end{excdesc} \module{ic}モジュールは以下のクラスと関数を定義しています: \begin{classdesc}{IC}{\optional{signature\optional{, ic}}} インターネット設定オブジェクトを作成します。\var{signature}は、現在のア プリケーションの4文字のクリエータ(デフォルトは\code{'Pyth'})で、他のICの 設定に影響する可能性があります。オプションの引数\var{ic}はあらかじめ作成さ れた低レベルの\code{icglue.icinstance}で、別の設定ファイルなどから設定を得 る場合に便利です。 \end{classdesc} \begin{funcdesc}{launchurl}{url\optional{, hint}} \funcline{parseurl}{data\optional{, start\optional{, end\optional{, hint}}}} \funcline{mapfile}{file} \funcline{maptypecreator}{type, creator\optional{, filename}} \funcline{settypecreator}{file} これらの関数は、後述する同名のメソッドへの``ショートカット''です。 \end{funcdesc} \subsection{ICオブジェクト} \class{IC}オブジェクトは対応付けのインターフェースを持っているので、メー ルアドレスは単に\code{\var{ic}['MailAddress']}で得ることができます。値の 代入も機能しますし、設定ファイルのオプションを変えることができます。 このモジュールは各種のデータ型を知っているので、IC内部の表現を``論理的'' なPythonデータ構造に変換します。\module{ic}モジュールをスタンドアロン で実行するとテストプログラムが実行され、ICデータベースにある全てのキーと 値のペアをリスト表示するので、文書代わりになります。 もしこのモジュールがデータをどう表わすか分からない場合は、\member{data} 属性に生のデータを入れた\code{ICOpaqueData}タイプのインスタンスを返しま す。このタイプのオブジェクトは値のアクセスだけでなく代入も可能です。 ディクショナリのインターフェースだけでなく、\class{IC}には以下のメソッド があります。 \begin{methoddesc}{launchurl}{url\optional{, hint}} 与えられたURLを解析し、正しいアプリケーションを起動してURLを渡します。省 略可能な\var{hint}は、\code{'mailto:'}などのスキーム名で、不完全なURLはこ のスキームにあわせて完全化されます。もし\var{hint}が与えられていない場合 は、不完全なURLは無効になります。 \end{methoddesc} \begin{methoddesc}{parseurl}{data\optional{, start\optional{, end\optional{, hint}}}} \var{data}の中からURLを検索して、URLの開始位置、終了位置、URLそのものを 返します。省略可能な\var{start}と\var{end}で検索範囲を制限することができ ます。例えば、ユーザーが長いテキストフィールドをクリックしたとしても、テ キストフィールド全体とクリック位置\var{start}を渡すことができて、この ルーチンによってユーザーがクリックしたテキストからURL全体が返されます。 既に述べたように、\var{hint}はオプションのスキームで、不完全なURLを完全 化するために使われます。 \end{methoddesc} \begin{methoddesc}{mapfile}{file} 与えられた\var{file}に対するマッピングエントリーを返します。\var{file}と してファイル名か\function{macfs.FSSpec()}の結果を渡すことができて、存在 しないファイルであってもかまいません。 マッピングエントリーはタプル\code{(\var{version}, \var{type}, \var{creator}, \var{postcreator}, \var{flags}, \var{extension}, \var{appname}, \var{postappname}, \var{mimetype}, \var{entryname})} として返されます。ここで\var{version}はエントリーのバージョン番号、 \var{type}は4文字のファイルタイプ、\var{creator}は4文字のクリエータタ イプ、\var{postcreator}は省略可能な後処理用アプリケーションを示す4文字 のクリエータで、このアプリケーションはファイルをダウンロードした後にファ イルを後処理します。\var{flags}は各種のビットであり、転送をバイナリで 行うかアスキーで行うかなどを表わします。\var{extension}はこのファイルタ イプに対するファイル名の拡張子、\var{appname}はファイルが属するアプリ ケーションの出力可能な名前、\var{postappname}は後処理用アプリケーショ ン、\var{mimetype}はこのファイルのMIMEタイプ、最後の\var{entryname}は このエントリーの名前です。 \end{methoddesc} \begin{methoddesc}{maptypecreator}{type, creator\optional{, filename}} 与えられた4文字の\var{type}と\var{creator}を持つファイルに対するマッピン グエントリーを返します。正しいエントリーが見つかりやすいように、オプショ ンの\var{filename}を指定することもできます(例えばクリエータ\code{'????'} の場合など)。 マッピングエントリーは\var{mapfile}と同じフォーマットで返されます。 \end{methoddesc} \begin{methoddesc}{settypecreator}{file} 存在する\var{file}をファイル名か\function{macfs.FSSpec()}の結果として与 えると、拡張子から判断してクリエータとタイプを適切にセットします。ファイ ンダにこの変更が伝えられるので、ファインダのアイコンは即座に更新されま す。 \end{methoddesc}