===========================
Elisa architecture overview
===========================
:Author: Philippe Normand
:Contact: philippe -at- fluendo [dot] com
:Revision: $Revision: 617 $
:Date: $Date: 2006-08-02 12:29:20 +0200 (mer, 02 aoû 2006) $

This page describes briefly the Elisa software architecture.

Elisa main component is `Application`_. An instance of this class will:

- load the `configuration`_ file

- create the `plugin manager`_ which will take care of
  loading/unloading `plugins`_

- create the `skin manager`_ which will use the plugin manager to find
  and manage `skins`_ (skins are plugins)

- create and enable or disable the `cache manager`_ depending on the config.

Once the Application is launched, it plugs to the Twisted reactor
via a looping call on the application's refresh() method.

The following figure shows the main Elisa software bricks and the
external bricks used by the application.

.. image:: https://core.fluendo.com/elisa/trac/attachment/wiki/GlobalArchitecture/global-architecture.png?format=raw
   :align: center


.. _Application: https://core.fluendo.com/elisa/trac/browser/trunk/core/application.py
.. _configuration: https://core.fluendo.com/elisa/trac/browser/trunk/core/config.py
.. _plugin manager: https://core.fluendo.com/elisa/trac/browser/trunk/core/plugin_manager.py
.. _plugins: https://core.fluendo.com/elisa/trac/browser/trunk/core/plugins/
.. _skin manager: https://core.fluendo.com/elisa/trac/browser/trunk/core/skins/skin_manager.py
.. _skins: https://core.fluendo.com/elisa/trac/browser/trunk/core/skins/
.. _cache manager: https://core.fluendo.com/elisa/trac/browser/trunk/core/cache_manager.py





