Application Server

Purpose

The app_server provides services to the Haiku by managing processes, filtering and dispatching input from the Input Server to the appropriate applications, and managing all graphics-related tasks.

Tasks performed by app_server

The tasks performed by the app_server are grouped in relation to its purpose.

  • Receives and redirects (dispatches) messages from the input server

  • Responds to messages from apps

  • Receives and consolidates requests from BView, BWindow, BBitmap, and others to draw stuff (draw bitmap, etc)

  • Utilizes ports to communicate with child processes

  • Handles drag & drop messaging

  • Manages the system clipboard

  • Loads and Kills processes

  • Detects absence of Input Server and restarts when not running

  • Aids in system shutdown

  • Dynamically loads accelerant portion of graphics driver

  • Creates a connection with BBitmaps requiring a child view

  • Draws the blue desktop screen

  • Provides workspace support

  • Provides functionality to the BeAPI for drawing primitives, such as rectangles, ellipses, and beziers

  • Provides a means for BViews to draw on BBitmaps

  • Manages window behavior with respect to redraw (move to front, minimize, etc)

  • Returns a frame buffer to direct-access classes

  • Caches fonts for screen and printer use

  • Draws text and provides other font API support for the BeAPI classes

App server components

Class Descriptions

Application Management

Graphics Management

Font Infrastructure