#
# Copyright forever by
# Faye <faye2040 at gmail dot com>
#
# This file is part of the Surumi project, and may only be used, modified,
# and distributed under the terms of the GPL,
# By continuing to use, modify, or distribute this file you indicate that
# you have read the license and understand and accept it fully.
#
Surumi is a great project of ``modular'' event-driven programming framework by C++
You certainly heard of event-driven programming, but in any window system, those events are usually bound on ``window objects'' and very few pre-defined events could be chosen. Yes, I know they always give you so call ``client data'' and you could carry everything by those ugly ``void-typed pointer''.
Now you have another good choice, your program would be ``plug-in'' based, and they are vivid module rather than those GUI toys (or gadgets), you have any possible event type with any possible client data carried. Ah~ this is what we called ``modular''.
It originated from an idea of home theater framework ``freevo'' by Python but Surumi offered more generic and uniform interface to do better jobs. You will be very surprised about how such a flexible programming model would give you so much fun during your projects development.
It has a core event engine to dispatch every programming logics via events. As we know that such an event-driven programming model gives the best mechanism to those response interaction via ``on-demand'' occasion.
When your project is decomposed into event-driven working logics, you will find how it provides the flexibility can ease the jobs and this also prevents many cases of multi-threading. Yes, you have a good opportunity to dump those annoyed threads.
Besides, this works very efficiently, very little overhead, very tiny footprint of executable image size if you wish. Why not try it today and your program speaks to you naturally and lively amongst the codes.
Since this is a GPL project, your program would become GPL if you used Surumi. However, I am not a selfish programmer, contact me if you have any concern about GPL or you want to use this in your commercial projects. By some other possible extra service, you may have a contract deal with me and my framework.
1). You need choose either libevent or nano-X as surumi's core event engine
Use freshmeat.net or any other search engine to locate these source projects.
2). It supports uClibc++ and certainly you will be familiar to it if you work on
uCLinux platform (a non-MMU Linux usually used in an embedded system).
3). It has a X86 emulation sample which always needs libevent. Thus,
if you want to begin your programming journey, go to libevent site and retrieve the up-to-date copy.
Again, this is just a beginning, I wish you will know how this architecture can help your application to be easier to extend.
See AUTHORS to contact me
