38.5. MiniAEFrame --- オープンスクリプティングアーキテクチャサーバのサポート¶
MiniAEFrame モジュールは、アプリケーションにオープンスクリプティングアーキテクチャ (OSA) サーバ機能を持たせるためのフレームワークを提供します。つまり、AppleEvents の受信と処理を行わせます。 FrameWork と連携させても良いし、単独でも使えます。実例として、このモジュールは PythonCGISlave の中で使われています。
MiniAEFrame には以下のクラスが定義されています:
-
class
MiniAEFrame.AEServer¶ AppleEvent の分岐を処理するクラス。作成するアプリケーションはこのクラスと、
MiniApplicationあるいはFrameWork.Applicationのサブクラスでなければなりません。サブクラス化したクラスでは__init__()メソッドで、継承した両方のクラスの__init__()メソッドを呼びださなければなりません。
-
class
MiniAEFrame.MiniApplication¶ FrameWork.Applicationとある程度互換なクラスですが、機能は少ないです。このクラスのイベントループはアップルメニュー、 Cmd-.(コマンドキーを押しながらピリオド.を押す)、 AppleEvent をサポートします。他のイベントは Python インタープリタか Sioux(CodeWarrior のコンソールシステム)に渡されます。作成するアプリケーションでAEServerを使いたいが、独自のウィンドウなどを持たない場合に便利です。
38.5.1. AEServer オブジェクト¶
-
AEServer.installaehandler(classe, type, callback)¶ AppleEvent ハンドラをインストールします。 classe と type は4 文字の OSA クラスとタイプの指定子で、ワイルドカード
'****'も使えます。対応する AppleEvent を受けるとパラメータがデコードされ、与えたコールバックが呼び出されます。
-
AEServer.callback(_object, **kwargs)¶ 与えたコールバックは、OSA ダイレクトオブジェクトを 1 番目のパラメータとして呼び出されます。他のパラメータは 4 文字の指定子を名前にしたキーワード引数として渡されます。他に 3 つのキーワード・パラメータが渡されます。つまり、
_classと_typeはクラスとタイプ指定子で、_attributesは AppleEvent 属性を持つ辞書です。与えたメソッドの返り値は
aetools.packevent()でパックされ、リプライとして送られます。
現在のクラス設計にはいくつか重大な問題があることに注意してください。引数に名前ではない 4 文字の指定子を持つ AppleEvent はまだ実装されていないし、イベントの送信側にエラーを返すこともできません。この問題は将来のリリースまで先送りにされています。
