-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
72 lines (53 loc) · 2.66 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
wallaroo
********
Welcome to wallaroo!
This is the source code for the wallaroo project. The main project page is at:
http://wallaroo.googlecode.com/
All of our documentation is on the project wiki:
http://code.google.com/p/wallaroo/w/list
You can download the packages from sourceforge at:
http://sourceforge.net/projects/wallaroolib/
Introduction
============
Wallaroo is a lightweight yet powerful library for configurable creation
and wiring of C++ classes
With Wallaroo you will be able to separate the setup phase (object building
and wiring) from the logic of your classes. In addition, you will be able to
change the class of your objects without rebuilding anything: in this way you
can modify the behaviour of your application, or perform mock testing using
the same executable.
With Wallaroo you will be able to focus on the logic of your classes, without
worrying about the wiring phase.
This mechanism is called Dependency Injection (DI). Someone calls it
Inversion of Control (IoC), but actually that has a broader meaning.
Key features
============
- Lightweight but powerful
- Type Safe
- DSL syntax for object creation and wiring
- Object creation and wiring also by parsing one (or more) xml or json file
- Shared library support
- C++11 or boost interface
- Doesn't use code generators
Installation
============
See INSTALL for (generic) installation instructions.
The Wallaroo Distribution
=========================
This is a sketch of the resulting directory structure:
wallaroo\ .......................................The “wallaroo root directory”
README ................................Generic documentation about wallaroo
INSTALL .........................................Installation documentation
ChangeLog ...........................................The log of the changes
Version ..............................This file contains the version number
wallaroo\ ........................................All Wallaroo Header files
samples\ .................................................Examples and test
minimal\.................................................A basic example
cpp0x_only\.....................This example uses C++0x instead of boost
boost_only\.....................This example uses boost instead of C++0x
mineplant\ ............A "control system" example using XmlConfiguration
roulette\.A roulette simulation, using multiple catalogs and shared libs
shapes\.....A drawing sample, using XmlConfiguration & JsonConfiguration
...more samples...
test\ ............ Automatic tests of the library (for wallaroo developers)
doc\ .....................................A subset of Wallaroo library docs