Component Manager


Component Manager

In Apple Macintosh computer programming, Component Manager was one of many approaches to sharing code that originated on the pre-PowerPC Macintosh. It was originally introduced as part of QuickTime, which remained the part of Mac OS that used it most heavily.[1]

Technical details

A component was a piece of code that provided various functions that may be invoked by clients. Each function was identified by a signed 16-bit integer ID code. Non-positive codes were reserved for predefined functions that should be understood by all components—open/close a component instance, query whether a function was supported, etc. The meanings of positive function codes depended on the type of component.

A component instance was created by opening a component. This called the component's open function to allocate and initialize any necessary storage for the instance. Closing the instance got rid of this storage and invalidated all references to that instance.

Components and component instances were referenced by 32-bit values that were not pointers. Instead, they were interpreted as keys into internal Component Manager tables. These references were generated in such a way that, once they became invalid, those values were unlikely to become valid again for a long time. This minimized the chance of obscure bugs due to dangling references.

Components were identified by OSType codes giving their type, subtype and "manufacturer". For instance, a component type might be "raster image compressor", subtypes of which might exist for JPEG, H.261, Sorenson, and Intel Indeo, among others. It was possible to have multiple components registered with exactly the same identification codes, giving alternative implementations of the same algorithm for example using hardware versus software, trading off speed versus quality, or other criteria. It was possible for the applications to query the existence of such alternatives and make explicit choices between them, or let the system choose a default.

Among the options available, a component could delegate parts of its functions to another component as a form of subclassing for code reuse. It was also possible for one component to capture another, which meant that all accesses to the captured component had to go through the capturing one.

Mac OS Components

Mac OS accumulated a great variety of component types:

  • Within QuickTime, there were image codecs, media handlers, media data handlers, video digitizer drivers, file format importers and exporters, and many others.
  • The Sound Manager moved to a predominantly component-based architecture in version 3.0: sound output devices were represented as components, and there were also component types for mixing multiple channels, converting between different sample rates and sample sizes, and encoding and decoding compressed formats.
  • AppleScript introduced the concept of scripting languages implemented as components.
  • ColorSync implemented different colour-matching methods as components.
  • QuickDraw GX "font scalers" were renderers for the different font formats.

References

  1. ^ Weinstein, Stephen B. (2005). The multimedia Internet. Springer. pp. 355. ISBN 0387236813. 

Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Component Manager — Component Manager,   QuickTime …   Universal-Lexikon

  • Manager (Mac OS) — A Manager was any of a set of specialized components of the Mac OS operating system, including those that comprised the Macintosh Toolbox. Each of these Managers was responsible for handling system calls from applications running on the Macintosh …   Wikipedia

  • Manager — may refer to: Anyone who uses management skills or holds the organizational title of manager A manager of a department in an organization A manager of a division (business) General manager, for managing both the revenue and cost elements of an… …   Wikipedia

  • Component Object Model — Not to be confused with COM file. Component Object Model (COM) is a binary interface standard for software componentry introduced by Microsoft in 1993. It is used to enable interprocess communication and dynamic object creation in a large range… …   Wikipedia

  • Component Object Model — В данной статье или разделе имеется список источников или внешних ссылок, но источники отдельных утверждений остаются неясными из за отсутствия сносок …   Википедия

  • Desktop Window Manager — For the X Window System window manager, see dwm. Desktop Window Manager A component of Microsoft Windows Details Included with Windows Vista Windows Server 2008 Windows 7 Windows Server 2008 R2 …   Wikipedia

  • Compositing window manager — Compiz showing the desktop cube effect in Ubuntu. A compositing window manager is a type of window manager. A window manager is software that draws a graphical user interface on a computer display – it positions windows, draws additional elements …   Wikipedia

  • Workload Manager — In IBM mainframes, Workload Manager (WLM) is a base component of MVS/ESA mainframe operating system, and its successors up to and including z/OS. It controls the access to system resources for the work executing on z/OS based on administrator… …   Wikipedia

  • IBM Tivoli Access Manager — is an authentication and authorization solution for corporate web services, operating systems, and existing applications. [http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/topic/com.ibm.itame.doc/am61 admin18.htm#choverview] Tivoli Access… …   Wikipedia

  • Novell Storage Manager — Developer(s) Novell Initial release 2004 Stable release 3.0 / 2010 Type System Software Website …   Wikipedia