EDMA: Entorno de Desarrollo Modular y Abierto
Object Oriented and Componentware Framework

Copyright (C) 1998, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2013
           by David Martínez Oliveira

See the end of the file for license conditions.
==========================================================================

GNU/EDMA SIU Extensions Examples
-----------------------------------
These examples demonstrates the use of GNU/EDMA SIU extensions (SIU Proxies).

These examples uses the SUPER_CLASS class that is available in the GNU/EDMA examples repository and the ANNA_PYTHON_INTERP that is not installed by default.

To install the ANNA_PYTHON_INTERP follow the steps below:

- go to classes/system/anna in your GNU/EDMA source package
- compile the class with
make -f ANNA_PYTHON_INTERP.mk
- Install the class with
make -f ANNA_PYTHON_INTERP.mk install
ines_class_register ANNA_PYTHON_INTERP.ines

You need Python 2.5 to compile this class

To compile the examples use:

make -f runnable.mk
make -f anna_interp.mk


* Briefing
----------------
The GNU/EDMA SIU extension system allows to modify the main GNU/EDMA primitives to extend its functionalities in ways as new semantics (multi-threading classes) or interfacing to other run-time environments (implementing classes in interpreted languages). Two examples are provided and described bellow.

- runnable
This example uses the GNU/EDMA SIU Proxy named RUNNABLE. This SIU proxy extends the GNU/EDMA method invocation semantics allowing to run class methods in different threads. The example uses the example class SUPE_CLASS, overriding one of its virtual methods to run a loop. 

As the object is created with the RUNNABLE SIU proxy, that loop will be run in a different thread, in parallel with the main application thread.

- anna_interp
This example uses the GNU/EDMA Proxy named ANNA_PYTHON_INTERP (see above for installation). This SIU proxy extends the GNU/EDMA primitives to interface to a python interpreter, allowing the access to GNU/EDMA features from Python and also the execution of Python code from GNU/EDMA applications

.

EDMA is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

EDMA is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with EDMA.  If not, see <http://www.gnu.org/licenses/>.

