pleyo.com

BAL Overview

< QuickStart | OrigynWebBrowser | Contents >

Introduction

BAL stands for Browser Abstraction Layer. Its purpose is to make port to another platform easy and quick. In the next section is detailled principles that conduct BAL abstraction. The chapter details interfaces and behaviour specification, module per module.

Principles

Interfaces

BAL abstraction is based on interfaces. Interfaces are described through abstract classes. These abstract classes contains only pure virtual method. No default implementation is tolerated. As a convention, interfaces are part of the namespace BAL, and are prefixed with BI.

Types

BAL types define some simple aggregation classes. These classes only contains predefined types, or BAL types. They do not have any virtual methods. They are supposed to be unmodified on all the platform. As a convention, BAL types are part of the namespace BAL. File names are prefixed with BT.

Concretisation

Concretisation of an interface is a heritage of this interface, with the implementation of the given methods. It is sometimes referred to as a component. The convention is to place such class in the BC namespace, and to prefix it with a BC.

Configuration

Instanciation and destruction of a component is centralized through the BAL Configuration. Why ? to hide concrete class in the engine code. This code has knowledge of the interfaces, and of the configuration. Engine code has no knowledge of the "BC" classes.

BAL modules


Generated on Wed Nov 21 20:04:18 2007 for Origyn Web Browser by Doxygen 1.5.3

pleyo.com
pleyo.com