Commit graph

1121 commits

Author SHA1 Message Date
499ffcbff5 better build dynamic libs into ./.libs
add a symlink bin/.libs -> ../libs for running from within bin/
2008-12-15 13:36:42 +01:00
12fc97b8e2 Build most of Lumiera as shared library (SCons build) 2008-12-15 13:36:42 +01:00
255e501258 comments and #ifdef __cplusplus 2008-12-15 13:36:42 +01:00
0675f589a2 define an (unimplemented) option to set config defs on the commandline 2008-12-15 13:36:42 +01:00
1c7402b25d DUMMY Lumiera executable working now.
Lumiera starts, loads a GuiStarterPlugin dummy and finaly performes a clean shutdown
2008-12-15 13:36:42 +01:00
6a3f232036 Log system error message when loading DYNLIB fails 2008-12-15 13:36:42 +01:00
57c3559f74 WIP trying to get the guistarter shared module loaded 2008-12-15 13:36:42 +01:00
45f18379b4 provide the missing parts for actually bringing up a (dummy) subsystem "GUI" 2008-12-15 13:36:42 +01:00
4ec74a4dc3 fill in the gaps to acutally detect the options defined thus far 2008-12-15 13:36:42 +01:00
085c60e039 util to invoke two functors chained,
here to be used for decorating a given signal (callback)
2008-12-15 13:36:42 +01:00
feebc502e5 implementation of GuiStarterPlugin 2008-12-15 13:36:41 +01:00
f0fd9dd1ae fix a potential segfault in the Lumiera exception base class 2008-12-15 13:36:41 +01:00
20c719d89c add bool() to InstanceHandle, performing an validity check 2008-12-15 13:36:41 +01:00
7cad095675 WIP let the GuiFacade trigger loading of the GuiStarterPlugin 2008-12-15 13:36:41 +01:00
e8639b8319 WIP work out further how to handle start/stop of layer separation interfaces 2008-12-15 13:36:41 +01:00
b841ab3139 definitions for creating my first Interface instance :-) 2008-12-15 13:36:41 +01:00
8c501a3d7c first rough draft implementation of calling through a layer separation interface 2008-12-15 13:36:41 +01:00
07d31fe772 Concept draft regarding layer separation interfaces 2008-12-15 13:36:41 +01:00
cc88a62caf Cleanup, no need to place the unexpected handler installation into everything.
Sufficient to do it just "sometime" before main()
2008-12-15 13:36:40 +01:00
41f9f54907 pass compiler and starts OK without doing anything 2008-12-15 13:36:40 +01:00
75b97ff9dd WIP draft remainder of the global start/stop sequence, incl errorhandling 2008-12-15 13:36:40 +01:00
01876fd576 add descriptive subsystem name string 2008-12-15 13:36:40 +01:00
b6a3139b66 define logic for running several dependent subsystems in parallel 2008-12-15 13:36:40 +01:00
cc871fcaec comments, typos.... 2008-12-15 13:36:40 +01:00
df85f2a5d9 pull up the config system in pre-init phase 2008-12-15 13:33:06 +01:00
fa9b23115c move init plugin/interface system and global init to AppState::init() 2008-12-15 13:33:05 +01:00
3518235b57 Stub implementation of the various subsystem facades 2008-12-15 13:33:05 +01:00
2dd90e4fad Subsystem descriptor skeleton 2008-12-15 13:33:05 +01:00
010b0d99ff AppState implementation skeleton 2008-12-15 13:33:05 +01:00
14c1ebceb7 second try for drafting main 2008-12-15 13:33:05 +01:00
3693a5fa3d draft outline for main() 2008-12-15 13:33:05 +01:00
6ca2c23bda fix a warning and some typos 2008-12-15 13:33:05 +01:00
98b3fcbad8 missing implementation 2008-12-15 13:33:05 +01:00
98005b10ae factor out placeholder for a (planned) Symbol datatype 2008-12-15 13:33:05 +01:00
b14d711146 refactor Appconfig, split off lifecycle interface 2008-12-15 13:33:05 +01:00
9e0e79c55c comments for logging config 2008-12-15 13:33:04 +01:00
3f6f1218fc some typos 2008-12-15 13:33:04 +01:00
c567c57a58 reorganise NoBug global definitions and startup 2008-12-15 13:33:04 +01:00
2b5affa8b3 Appconfig doesn't provide Config functionality any longer.
This role of the Appconfig class is superseeded by the Config subsystem...
2008-12-15 13:33:04 +01:00
628be502e5 reordered some files to use the new include and lumiera directories 2008-12-15 13:33:04 +01:00
Christian Thaeter
221a2a76c3 let the plugin test test the new config interface 2008-12-15 13:33:04 +01:00
Christian Thaeter
6169ccaf08 refine the initialization order
* introduce a lumiera_preinit() which does some dirty startup work
 * lumiera_init() and lumiera_shutdown() will do the desired
   DesignProcess/GlobalInitilaization
 * as example, initialize the config interface there
2008-12-15 13:33:04 +01:00
Christian Thaeter
d91c4ee326 build a 'liblumieracore' instead many small libs
This makes some cross dependency things easier, later on the parts which
get included there might be configured and selected with conditionals.
2008-12-15 13:33:04 +01:00
Christian Thaeter
aa92eab301 Provide prelimary config interface declaration and implementation
This exports the 'configuration' system as interface. It is not finally
settled if the filenames shall be *_interface.{c,h} and some details might
be sorted out (so far it works quite well).

This can also serve as example how to implement a slightly more complex
interface (some functions got inline wraped because we dont want to export
internal config system state).
2008-12-15 13:33:03 +01:00
Christian Thaeter
085f3ec5a7 a upper limit of 16 iterations was not enough in ppmpl,
lets see how long 64 suffices
2008-12-15 13:33:03 +01:00
Christian Thaeter
85bde6ddb1 Extend the tests for plugins to show how to handle interface opening
from plugins themself.
2008-12-15 13:33:03 +01:00
Christian Thaeter
52a4f7743a Passing an interface handle to plugins
Plugins which in turn want to open other interfaces need some way to
access the interfaces system itself. This is realized with a 'interface'
implementing the interface api and passed to the plugins initialization
routine.

A plugin which wishes to open other interfaces must
safe this in a local variable defined by LUMIERA_PLUGIN_INTERFACEHANDLE
with the LUMIERA_PLUGIN_STORE_INTERFACEHANDLE macro.

The LUMIERA_INTERFACE_OPEN and LUMIERA_INTERFACE_CLOSE macros change their
definition depending on compiled as buildin or plugin to account for that.
2008-12-15 13:33:03 +01:00
Christian Thaeter
f5da688c48 some more bits towards a lumiera main 2008-12-15 13:33:03 +01:00
Christian Thaeter
37f56a670e Now converting the tests ..and some missing things
* fixed include paths
 * lots of build system fixes
 * initialization, shutdown, state and nobug flags are factored out into
   a liblumierainit.a to simplify test builds
2008-12-15 13:33:03 +01:00
Christian Thaeter
52a9c7fb27 lumiera is alive...
This starts the proposed changes in
http://www.pipapo.org/pipawiki/Lumiera/DesignProcess/ApplicationStructure

 * Moving all necessary files from src/backend to src/lumiera
 * create a small helloworld main app
 * setup the buildsystem to build it all
 * fix include paths at many places

The testsuite is not yet fixed here, that will be the next commit
2008-12-15 13:33:03 +01:00