Chapter 4. Architecture

Table of Contents

1. Layers

Tahiti is programmed in mainly in C++ using several toolkits and libraries.

Used toolkits:

BCG Pro

MFC extension for native look and feel

MFC

used for user interface on Win32

XPCOM (XULRUNNER, Gecko)

Several features are used from the Gecko platform. Xulrunner is embedded in the Tahiti and is used as a component framework (XPCOM), JavaScript runtime and User interface.

1. Layers

Tahiti consists from several layers:

  • Application Layer

  • Domain Layer

  • Frame Layer

Architecture is shown on next picture. There are components on each layer - this way can be Tahiti easily extended and new functionality can be added.

There are three types of components:

Shared Component

They are used as base application components (e.g. initialization of several subsystems, sockets...). Views are also implemented as shared components.

Domain Component

Domain components are usually used from domain specific tasks as communication, data store, etc. These components are usually without user interface.

Frame Component

Frame represents one window. These components are used for user-interface implementation.