/Doc/library/miniaeframe.rst
http://unladen-swallow.googlecode.com/ · ReStructuredText · 68 lines · 44 code · 24 blank · 0 comment · 0 complexity · 0125a55a1776dcadd8b1e039e30f8d47 MD5 · raw file
- :mod:`MiniAEFrame` --- Open Scripting Architecture server support
- =================================================================
- .. module:: MiniAEFrame
- :platform: Mac
- :synopsis: Support to act as an Open Scripting Architecture (OSA) server ("Apple Events").
- .. index::
- single: Open Scripting Architecture
- single: AppleEvents
- module: FrameWork
- The module :mod:`MiniAEFrame` provides a framework for an application that can
- function as an Open Scripting Architecture (OSA) server, i.e. receive and
- process AppleEvents. It can be used in conjunction with :mod:`FrameWork` or
- standalone. As an example, it is used in :program:`PythonCGISlave`.
- The :mod:`MiniAEFrame` module defines the following classes:
- .. class:: AEServer()
- A class that handles AppleEvent dispatch. Your application should subclass this
- class together with either :class:`MiniApplication` or
- :class:`FrameWork.Application`. Your :meth:`__init__` method should call the
- :meth:`__init__` method for both classes.
- .. class:: MiniApplication()
- A class that is more or less compatible with :class:`FrameWork.Application` but
- with less functionality. Its event loop supports the apple menu, command-dot and
- AppleEvents; other events are passed on to the Python interpreter and/or Sioux.
- Useful if your application wants to use :class:`AEServer` but does not provide
- its own windows, etc.
- .. _aeserver-objects:
- AEServer Objects
- ----------------
- .. method:: AEServer.installaehandler(classe, type, callback)
- Installs an AppleEvent handler. *classe* and *type* are the four-character OSA
- Class and Type designators, ``'****'`` wildcards are allowed. When a matching
- AppleEvent is received the parameters are decoded and your callback is invoked.
- .. method:: AEServer.callback(_object, **kwargs)
- Your callback is called with the OSA Direct Object as first positional
- parameter. The other parameters are passed as keyword arguments, with the
- 4-character designator as name. Three extra keyword parameters are passed:
- ``_class`` and ``_type`` are the Class and Type designators and ``_attributes``
- is a dictionary with the AppleEvent attributes.
- The return value of your method is packed with :func:`aetools.packevent` and
- sent as reply.
- Note that there are some serious problems with the current design. AppleEvents
- which have non-identifier 4-character designators for arguments are not
- implementable, and it is not possible to return an error to the originator. This
- will be addressed in a future release.