Electronics and Software
Engineering Innovation
Beam-lib  2.15.1
Beam-lib Documentation
Author
Dr Terry Barnaby
Version
2.15.1
Date
2019-10-14

Introduction

The Beam Beam-lib C++ class library provides a base library for developing real-time and other applications with multi-processor and multi-host support. The Bmeam-lib system has the following features:

  • Simple Object based development.
  • Simple Object base library for Strings, Lists, Network access etc.
  • Support for multi-threaded applications with Mutex Objects etc.
  • Usable from C++ and Python.
  • IDL based object creation tool allows easy creation of C++ and Python objects from IDL language.
  • IDL provides the ability to create SQL database schema automatically.
  • Database access that allows BDEV Objects to be stored.
  • BOAP (Beam Object Access Protocol) provides a simple, low overhead protocol, that allows access to remote objects using an RPC mechanism.
  • Database access via a layer that allows simultaineous access to different database systems including MYSQL and BEAM BDEV native object database.
  • Concept of Object domains.

Components

The beam-lib system is split into the following libraries:

  • LibBeam: This is the base class library containing the base 'C++' classes.
  • LibBeamPy: This contains Python components to allow access to the BEAM class library from Python (limited access).
  • Bidl: The BEAM BDEV IDL compiler. This takes Object definitions and Interface definitions and creates C++ and Python objects to implement them.

API Examples

Some simple client examples are listed below: