Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

BoilerPlate API Documentation

1.1

Introduction
How to use BoilerPlate
Supported Platforms
Building BoilerPlate

Introduction

BoilerPlate is a C++ framework that encapsulates CORBA bootstrapping. This includes code to initialize the ORB, and initialize any number of POAs using various policy perturbations. The policy combinations are pre-constructed in various types of ServantFactory. There are three types of Servant Factories: Each type of ServantFactory can have individual Thread and Id Assignment policies. The default is ORB_CTRL_MODEL and USER_ID.
Top

How do I use BoilerPlate

Using the BoilerPlate framework is easy. All you need to do is a small implemenation that inherits one of the ServantFactory patterns and then a small mainline that instances the OrbInit class. You pass pointers to your ServantFactory-s to OrbInit and then tell it to build them. Your ServantFactory implementation contains the code that you wrote to instance your Servants. It can be as simple or as complicated as your application requires.

Supported Platforms

BoilerPlate currently supports Cygwin, HPUX 11i (PA-RISC), and RedHat Linux. Supported ORBs include ORBacus 4, MICO 2.3.9+, and TAO. Support for OmniORB will be added very soon.
Top

Building

BoilerPlate uses GNU Autotools to configure the BoilerPlate build. We are new to the Autotools so if you have any problems let us know.

Configuring Your ORB

Before running configure you need to do some preparation so that the configure script can pick up you ORB. For MICO you need to do very little if you have run the MICO install from the Makefile. MICO creates a configuration script that the BoilerPlate configure script sources. If you haven't run the MICO install or are using ORBacus follow the directions below. For example for TAO:
ACE_ROOT=/opt/ACE_wrappers TAO_ROOT=/opt/ACE_wrappers/TAO export ACE_ROOT TAO_ROOT TAODIR=$ACE_ROOT TAOSHARTDIR=$ACE_ROOT/orbsvcs TAOVERSION=`sed -n /version/ {y/b/./; s#^.*\([0-9]\.*\), .*$#\1#p; }` \ "$ACE_ROOT/VERSION" ` PATH=${ACE_ROOT}/bin:${PATH} LD_LIBRARY_PATH=${ACE_ROOT}/lib:${LD_LIBRARY_PATH:-} SHLIB_PATH=${ACE_ROOT}/lib:${SHLIB_PATH:-} LIBPATH=${ACE_ROOT}/lib:${LIB_PATH:-} CPLUS_INCLUDE_PATH=${ACE_ROOT}/include LIB_PATH=${ACE_ROOT}/lib CPPFLAGS= CXXFLAGS= IDLFLAGS= LDFLAGS= LIBS= export TAOVERSION PATH LD_LIBRARY_PATH CPLUS_INCLUDE_PATH LIBRARY_PATH export SHLIB_PATH LIB_PATH TAO_DIR export CPPFLAGS CXXFLAGS IDLFLAGS LDFLAGS LIBS

Threading Models

BoilerPlate allows configurable threading models and custom threading models. There are two built-in threading models

Configuration Options