Wallaroo  0.8
Wallaroo Documentation

Introduction

Welcome to Wallaroo API documentation.

Here you will find the description of Wallaroo classes and methods.

If you're looking for tutorials or installation guides you can visit the site: http://wallaroolib.sourceforge.net/

Overview

To register a class, you must derive it from wallaroo::Part and use the macro WALLAROO_REGISTER in the implementation file.

You can add dependencies and attributes to your registered classes by adding data members of type wallaroo::Collaborator and wallaroo::Attribute respectively.

Then you can use the class wallaroo::Catalog to create and manage instances of registered classes.

You can link the instances together (i.e., inject the dependencies) by using the syntax:

use( catalog_1[ "target" ] ).as( "dependency" ).of( catalog_2[ "object" ] );

or, inside a clause wallaroo_within, the syntax:

wallaroo_within( myCatalog )
{
...
use( "target" ).as( "dependency" ).of( "object" );
...
}

You can set the attributes by using the syntax:

set_attribute( "attribute_name" ).of( catalog[ "object" ] ).to( value );

or, inside a clause wallaroo_within, the syntax:

wallaroo_within( myCatalog )
{
...
set_attribute( "attribute_name" ).of( "object" ).to( value );
...
}

If you prefer, you can perform object creation, dependency injection and attribute setting from one (or many) external configuration file in WAL, XML, or JSON format. See wallaroo::Configuration, wallaroo::XmlConfiguration, wallaroo::JsonConfiguration.

You can define your classes in shared libraries. In this case, you must use WALLAROO_DYNLIB_REGISTER instead and load the shared library with wallaroo::Plugin::Load.

Loading of shared libraries can be performed by specifying the name in the WAL, XML or JSON configuration files. See the methods wallaroo::Configuration::LoadPlugins, wallaroo::XmlConfiguration::LoadPlugins and wallaroo::JsonConfiguration::LoadPlugins.