profile/ivi/layer-management.git
11 years agoLayerManagerBase: fixed unit tests
Timo Lotterbach [Mon, 11 Mar 2013 15:55:38 +0000 (08:55 -0700)]
LayerManagerBase: fixed unit tests

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoDbusIpcModule: fixed destroy() return value
Timo Lotterbach [Tue, 12 Mar 2013 12:10:53 +0000 (05:10 -0700)]
DbusIpcModule: fixed destroy() return value

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoGLESGraphicSystem: release shader resources on destruction
Timo Lotterbach [Mon, 11 Mar 2013 14:54:33 +0000 (07:54 -0700)]
GLESGraphicSystem: release shader resources on destruction

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoX11GLESRenderer: release Graphicsystem and WindowSystem on shutdown
Timo Lotterbach [Mon, 11 Mar 2013 14:55:08 +0000 (07:55 -0700)]
X11GLESRenderer: release Graphicsystem and WindowSystem on shutdown

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agodoc: fixed specification document PDF generation
Timo Lotterbach [Thu, 14 Mar 2013 11:35:06 +0000 (04:35 -0700)]
doc: fixed specification document PDF generation

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerCommands: fixed array handling
Timo Lotterbach [Thu, 21 Feb 2013 12:07:54 +0000 (04:07 -0800)]
LayerManagerCommands: fixed array handling

The array in commands must not be deleted, before the object is destroyed,
otherwise getString() will work on deleted data.

Some commands did not release the array data, resulting in a memory leak.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerControl: fixed handling error in ILM calls
Timo Lotterbach [Thu, 28 Feb 2013 13:26:38 +0000 (05:26 -0800)]
LayerManagerControl: fixed handling error in ILM calls

LayerManagerControl used to ignore a lot of return values from ilmClient
library. This is fixed now.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoilmClient: fixed all client functions to return correct error code
Timo Lotterbach [Thu, 7 Feb 2013 14:30:17 +0000 (06:30 -0800)]
ilmClient: fixed all client functions to return correct error code

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoWaylandDrmWindowSysmte: Unset UseFrameTimer flag
Nobuhiko Tanibata [Tue, 15 Jan 2013 03:04:01 +0000 (12:04 +0900)]
WaylandDrmWindowSysmte: Unset UseFrameTimer flag

DRM backend can trigger a repaint by page flip but doesn't require a timer.

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoWaylandBaseWindowSystem: Add finishFrame and repaint scheduling
Nobuhiko Tanibata [Tue, 15 Jan 2013 03:00:09 +0000 (12:00 +0900)]
WaylandBaseWindowSystem: Add finishFrame and repaint scheduling

- Adds implementation of BaseWindowSystem::finishFrame.
- Modify the schedule of a repaint from client commit to timer event: 10ms except drm backend. DRM backend is triggered by page flip not by timer.

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoDrmGLESGraphicSystem: Improves the repaint efficiency in DRM backend.
Nobuhiko Tanibata [Fri, 11 Jan 2013 07:31:26 +0000 (16:31 +0900)]
DrmGLESGraphicSystem: Improves the repaint efficiency in DRM backend.

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoBaseWindowSystem: Add finishFrame
Nobuhiko Tanibata [Fri, 11 Jan 2013 07:21:07 +0000 (16:21 +0900)]
BaseWindowSystem: Add finishFrame

- Add finishFrame() method, interface which notifies the demand of repaint to WindowSystem from GraphicSystem.

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoLayerManagerUtils: fixed unit test build to use unit test configuration
Timo Lotterbach [Mon, 4 Feb 2013 14:00:11 +0000 (06:00 -0800)]
LayerManagerUtils: fixed unit test build to use unit test configuration

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerBase: fixed unit test build to use unit test configuration
Timo Lotterbach [Mon, 4 Feb 2013 13:55:54 +0000 (05:55 -0800)]
LayerManagerBase: fixed unit test build to use unit test configuration

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoDbusCommunicatorTest: fixed unit test build to use unit test configuration
Timo Lotterbach [Mon, 4 Feb 2013 13:46:47 +0000 (05:46 -0800)]
DbusCommunicatorTest: fixed unit test build to use unit test configuration

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoilmClient_Test: fixed unit test build to use unit test configuration
Timo Lotterbach [Mon, 4 Feb 2013 13:44:09 +0000 (05:44 -0800)]
ilmClient_Test: fixed unit test build to use unit test configuration

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: added compiler flags documentation
Timo Lotterbach [Tue, 5 Feb 2013 10:50:24 +0000 (02:50 -0800)]
CMake: added compiler flags documentation

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoIpcModuleLoader: was moved to LayerManagerUtils, dependencies have been updated
Timo Lotterbach [Mon, 4 Feb 2013 12:37:01 +0000 (04:37 -0800)]
IpcModuleLoader: was moved to LayerManagerUtils, dependencies have been updated

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoTextRenderer: provide default screen to scene
Timo Lotterbach [Tue, 22 Jan 2013 09:31:08 +0000 (01:31 -0800)]
TextRenderer: provide default screen to scene

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerControl: added support for optional expressions in commands
Timo Lotterbach [Mon, 21 Jan 2013 11:45:41 +0000 (03:45 -0800)]
LayerManagerControl: added support for optional expressions in commands

optional commands are defined using "[...]" syntax., while variables
are defined using "<...>" syntax.

varibles now additionally may have default values using this syntax:
"get screen <screenid=0>".

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoilmClient: added test case for ilm_layerSetRenderOrder
Timo Lotterbach [Mon, 21 Jan 2013 12:17:13 +0000 (04:17 -0800)]
ilmClient: added test case for ilm_layerSetRenderOrder

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoilmClient: added test for ilm_displaySetRenderOrder
Timo Lotterbach [Mon, 21 Jan 2013 12:17:03 +0000 (04:17 -0800)]
ilmClient: added test for ilm_displaySetRenderOrder

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoilmClient: fix for ilm_getPropertiesOfScreen if screen was not found
Timo Lotterbach [Fri, 18 Jan 2013 12:08:28 +0000 (04:08 -0800)]
ilmClient: fix for ilm_getPropertiesOfScreen if screen was not found

if the scene does not contain the requested screen, the screenProperties
structure is now initialized to save values.

LayerManagerControl now correctly evaluates the return value of
ilm_getPropertiesOfScreen and prints "screen not found" instead of
crashing.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoMaintenenace: fix several compiler warnings in C code
Timo Lotterbach [Fri, 18 Jan 2013 11:45:09 +0000 (03:45 -0800)]
Maintenenace: fix several compiler warnings in C code

Due to incorrect handling of C source files, the typical compiler warning
settings had not been applied to C code, but instead only to C++ code.

After fixing the build system setting, this patch fixed most of the
compiler warnings in C code.

other fixes:
- GLXApplicationExample: fixed compiler warnings
- CMake: fixed several compiler warnings
- LayerManagerBase: fix compiler warning
- LayerManagerUtils: suppress DLT macro related warnings, if DLT is enabled
- TextureBinders: fixed compiler warning

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerBase: moved ScreenTest.cpp from LayerManagerService to LayerManagerbase
Timo Lotterbach [Tue, 15 Jan 2013 12:27:52 +0000 (04:27 -0800)]
LayerManagerBase: moved ScreenTest.cpp from LayerManagerService to LayerManagerbase

Component was split up, but this unit test was not moved to new location.
Becuase of this, the unit tests in ScreenTest were effectively disabled
(not build).

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: updated compiler settings
Timo Lotterbach [Tue, 15 Jan 2013 11:45:02 +0000 (03:45 -0800)]
CMake: updated compiler settings

expected compiler settings have been overwritten in several components,
so no project specific compiler flags have been used during build.
This resulted e.g. in linker errors on 64bit platforms which require
the -fPIC flag for successful builds.

new compiler flag presets have been added for 3rdParty and Test code.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoWaylandEvdevInputEvent: Fix segfault
Nobuhiko Tanibata [Fri, 11 Jan 2013 07:00:47 +0000 (16:00 +0900)]
WaylandEvdevInputEvent: Fix segfault

Bugfix: Segfault occurred on LayerManagerService when input device open failed.

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoWaylandX11GLESRenderer: Fix build error
Nobuhiko Tanibata [Fri, 11 Jan 2013 11:55:34 +0000 (20:55 +0900)]
WaylandX11GLESRenderer: Fix build error

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoWaylandFbdevGLESRenderer: Fix build error
Nobuhiko Tanibata [Fri, 11 Jan 2013 11:54:56 +0000 (20:54 +0900)]
WaylandFbdevGLESRenderer: Fix build error

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoWaylandDrmGLESRenderer: Fix build error
Nobuhiko Tanibata [Fri, 11 Jan 2013 11:53:53 +0000 (20:53 +0900)]
WaylandDrmGLESRenderer: Fix build error

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoGraphicLib WaylandFbdevGLESv2: fix typo
Nobuhiko Tanibata [Fri, 11 Jan 2013 11:52:10 +0000 (20:52 +0900)]
GraphicLib WaylandFbdevGLESv2: fix typo

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoEGLWLInputEventExample: Remove including a internal dependency
Nobuhiko Tanibata [Fri, 11 Jan 2013 11:48:40 +0000 (20:48 +0900)]
EGLWLInputEventExample: Remove including a internal dependency

Signed-off-by: Nobuhiko Tanibata <ntanibata@jp.adit-jv.com>
11 years agoC-Code: fixed compiler warnings in C Code
Timo Lotterbach [Fri, 11 Jan 2013 13:00:30 +0000 (05:00 -0800)]
C-Code: fixed compiler warnings in C Code

accidentally the compiler warnings settings have not been used during
the build of C files (*.c).

After enabling the warnings settings for C-Code, a fair amount of warnings
have been found. This fix removed these warnings.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoScreenSetRenderOrderCommand: fix handling of empty render order
Timo Lotterbach [Fri, 11 Jan 2013 12:53:16 +0000 (04:53 -0800)]
ScreenSetRenderOrderCommand: fix handling of empty render order

setting an empty render order wored, but execution result was set to failed.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerControl: fixed scatter to accept lowercase letters input
Timo Lotterbach [Fri, 11 Jan 2013 12:47:35 +0000 (04:47 -0800)]
LayerManagerControl: fixed scatter to accept lowercase letters input

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerControl: added support for GetPropertiesOfScreen
Timo Lotterbach [Thu, 10 Jan 2013 11:32:59 +0000 (03:32 -0800)]
LayerManagerControl: added support for GetPropertiesOfScreen

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoGenericCommunicator: added support for GetPropertiesOfScreen
Timo Lotterbach [Thu, 10 Jan 2013 11:36:37 +0000 (03:36 -0800)]
GenericCommunicator: added support for GetPropertiesOfScreen

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoilmClient: added support for GetPropertiesOfScreen
Timo Lotterbach [Thu, 10 Jan 2013 11:33:16 +0000 (03:33 -0800)]
ilmClient: added support for GetPropertiesOfScreen

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagement: removed support for layergroup and surfacegroup
Timo Lotterbach [Thu, 10 Jan 2013 11:13:10 +0000 (03:13 -0800)]
LayerManagement: removed support for layergroup and surfacegroup

the group feature has not been used by any known project and within GENIVI
it was agreed to remove it.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerControl: fixed issue for some QNX platforms
Timo Lotterbach [Thu, 10 Jan 2013 11:00:15 +0000 (03:00 -0800)]
LayerManagerControl: fixed issue for some QNX platforms

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: fixed compiler flags for 64 bit linux builds
Timo Lotterbach [Wed, 9 Jan 2013 09:12:54 +0000 (01:12 -0800)]
CMake: fixed compiler flags for 64 bit linux builds

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: config project now additionally check configuration for validity
Timo Lotterbach [Fri, 4 Jan 2013 12:59:11 +0000 (04:59 -0800)]
CMake: config project now additionally check configuration for validity

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: using LIBRARY_BUILDMODE for libraries responding to WITH_STATIC_LIBRARIES
Timo Lotterbach [Fri, 4 Jan 2013 12:01:17 +0000 (04:01 -0800)]
CMake: using LIBRARY_BUILDMODE for libraries responding to WITH_STATIC_LIBRARIES

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: use project_type(PLUGIN) to create list of statically linked plugins
Timo Lotterbach [Fri, 4 Jan 2013 11:59:32 +0000 (03:59 -0800)]
CMake: use project_type(PLUGIN) to create list of statically linked plugins

plugins only have to define 'PLUGIN' as type to support static linking
into LayerManagerService binary.

this removed a lot of repetitive cmake code for each plugin.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: added autogeneration of build flags in config.h header file
Timo Lotterbach [Thu, 3 Jan 2013 14:14:05 +0000 (06:14 -0800)]
CMake: added autogeneration of build flags in config.h header file

now all build flags are automatically exported to the auto_generated
config.h file.

Note: config.h is no created in two passes:
1. pass: #cmakedefine macros are created for each build flag
2. pass: #cmakedefine macros are evaluated

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: replaced build_flag() macro to create list of build flags
Timo Lotterbach [Fri, 4 Jan 2013 10:39:34 +0000 (02:39 -0800)]
CMake: replaced build_flag() macro to create list of build flags

internally the flags are set with option, but additionally a list of
build flags is created.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: refactored main CMakeLists.txt
Timo Lotterbach [Thu, 3 Jan 2013 10:01:52 +0000 (02:01 -0800)]
CMake: refactored main CMakeLists.txt

main focus in this refactoring is maintainability

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: added project_type to each component
Timo Lotterbach [Thu, 3 Jan 2013 09:44:51 +0000 (01:44 -0800)]
CMake: added project_type to each component

the project_type is currently used to set the compiler flags
for based on the type of the component.

this information can be extended for type specific build behaviour.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: moved default compiler settings to DefaultSettings.txt
Timo Lotterbach [Thu, 3 Jan 2013 09:24:08 +0000 (01:24 -0800)]
CMake: moved default compiler settings to DefaultSettings.txt

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: moved DefaultSettings to separate file
Timo Lotterbach [Thu, 3 Jan 2013 09:19:17 +0000 (01:19 -0800)]
CMake: moved DefaultSettings to separate file

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: build WaylandDrmGLESRenderer independently
Timo Lotterbach [Wed, 2 Jan 2013 15:52:45 +0000 (07:52 -0800)]
CMake: build WaylandDrmGLESRenderer independently

this renderer can now be built independently of all other renderers.
this allows building multiple renderers at once.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: build WaylandFbdevGLESRenderer independently
Timo Lotterbach [Wed, 2 Jan 2013 15:44:02 +0000 (07:44 -0800)]
CMake: build WaylandFbdevGLESRenderer independently

this renderer can now be built independently of all other renderers.
this allows building multiple renderers at once.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: build WaylandX11GLESRenderer independently
Timo Lotterbach [Wed, 2 Jan 2013 15:37:34 +0000 (07:37 -0800)]
CMake: build WaylandX11GLESRenderer independently

this renderer can now be built independently of all other renderers.
this allows building multiple renderers at once.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: improved build of LayerManagerGraphicWaylandFbdevGLESv2
Timo Lotterbach [Wed, 2 Jan 2013 14:16:50 +0000 (06:16 -0800)]
CMake: improved build of LayerManagerGraphicWaylandFbdevGLESv2

this graphic development lib is now a dedicated component that
can be build independently of other graphic development libs.
this component contains no source code, it uses BaseRenderer and
graphic component source code.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: improved build of LayerManagerGraphicWaylandDrmGLESv2
Timo Lotterbach [Wed, 2 Jan 2013 14:16:03 +0000 (06:16 -0800)]
CMake: improved build of LayerManagerGraphicWaylandDrmGLESv2

this graphic development lib is now a dedicated component that
can be build independently of other graphic development libs.
this component contains no source code, it uses BaseRenderer and
graphic component source code.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: improved build of LayerManagerGraphicWaylandX11GLESv2
Timo Lotterbach [Wed, 2 Jan 2013 14:05:59 +0000 (06:05 -0800)]
CMake: improved build of LayerManagerGraphicWaylandX11GLESv2

this graphic development lib is now a dedicated component that
can be build independently of other graphic development libs.
this component contains no source code, it uses BaseRenderer and
graphic component source code.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: fixed install target of GLXRenderer
Timo Lotterbach [Thu, 3 Jan 2013 10:31:25 +0000 (02:31 -0800)]
CMake: fixed install target of GLXRenderer

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: improved build of LayerManagerGraphicGLX
Timo Lotterbach [Wed, 2 Jan 2013 13:45:20 +0000 (05:45 -0800)]
CMake: improved build of LayerManagerGraphicGLX

this graphic development lib is now a dedicated component that
can be build independently of other graphic development libs.
this component contains no source code, it uses BaseRenderer and
graphic component source code.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: improved build of LayerManagerGraphicGLESv2
Timo Lotterbach [Wed, 2 Jan 2013 13:44:33 +0000 (05:44 -0800)]
CMake: improved build of LayerManagerGraphicGLESv2

this graphic development lib is now a dedicated component that
can be build independently of other graphic development libs.
this component contains no source code, it uses BaseRenderer and
graphic component source code.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: improved dependency handling using add_subdirectory_once macro
Timo Lotterbach [Wed, 2 Jan 2013 12:59:21 +0000 (04:59 -0800)]
CMake: improved dependency handling using add_subdirectory_once macro

each component now just builds all components it dependes on using
the custom macro 'add_subdirectory_once'.

During the first call, add_subdirectory_once will add the subdirectory
to the current build. all subsequent calls are silently ignored.
This solves the basic problem of double definition of components which
result in cmake errors.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoCMake: removed Wayland Vivante Renderer reference
Timo Lotterbach [Wed, 2 Jan 2013 12:34:03 +0000 (04:34 -0800)]
CMake: removed Wayland Vivante Renderer reference

Vivante Renderer never was integrated because of an incompatible license.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoGenericCommunicator: improved logging of ServiceConnect/Disconnect
Timo Lotterbach [Thu, 20 Dec 2012 11:09:56 +0000 (03:09 -0800)]
GenericCommunicator: improved logging of ServiceConnect/Disconnect

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoTcpIpcModule: fixed compiler error in host resolution
Timo Lotterbach [Wed, 19 Dec 2012 14:15:10 +0000 (06:15 -0800)]
TcpIpcModule: fixed compiler error in host resolution

due to updated compiler settings (-c99) a the struct hostent has
slightly changed, member h_addr not available any more.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoGLXRenderer: updated to new IPlugin interface
Timo Lotterbach [Wed, 19 Dec 2012 13:36:04 +0000 (05:36 -0800)]
GLXRenderer: updated to new IPlugin interface

GLXRenderer is now based on the updated IPlugin interface
to support static linking.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagement: fixed warnings in C code
Timo Lotterbach [Wed, 19 Dec 2012 08:02:06 +0000 (00:02 -0800)]
LayerManagement: fixed warnings in C code

The build system was fixed to apply the global compiler settings
also to C-compiler calls.

This raised several warnings in the C code parts.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoilmClient: fixed memory leak in notification delivery
Timo Lotterbach [Mon, 17 Dec 2012 14:01:33 +0000 (06:01 -0800)]
ilmClient: fixed memory leak in notification delivery

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerBase: moved library to separate directory
Timo Lotterbach [Wed, 12 Dec 2012 13:31:47 +0000 (05:31 -0800)]
LayerManagerBase: moved library to separate directory

LayerManagerBase library contains all base functionality of
LayerManagement like Scene, GraphicalObjects.

All improtant interfaces are defined by this package.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoilmClient: removed ilm_surfaceInvalidateRectangle
Timo Lotterbach [Wed, 12 Dec 2012 13:07:45 +0000 (05:07 -0800)]
ilmClient: removed ilm_surfaceInvalidateRectangle

this function was never implemented and after being deprecated
it is now removed completely.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerControl: moved out of examples directory
Timo Lotterbach [Wed, 12 Dec 2012 13:03:32 +0000 (05:03 -0800)]
LayerManagerControl: moved out of examples directory

LayerManagerControl was promoted to be the default control tool
for LayerManagement. In order to have it included in as many
installations as possible, it was moved out of the examples package,
because examples will not be installed on many (embedded) targets.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoWaylandGLESRenderer: updated to new IPlugin interface
Timo Lotterbach [Tue, 11 Dec 2012 12:31:08 +0000 (04:31 -0800)]
WaylandGLESRenderer: updated to new IPlugin interface

WalyandGLESRenderer is now based on the updated IPlugin interface
to support static linking.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoTextRenderer: updated to new IPlugin interface
Timo Lotterbach [Tue, 11 Dec 2012 12:04:25 +0000 (04:04 -0800)]
TextRenderer: updated to new IPlugin interface

TextRenderer is now based on the updated IPlugin interface
to support static linking.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoExampleSceneProvider: refactored cmake configuration
Timo Lotterbach [Fri, 30 Nov 2012 12:45:31 +0000 (04:45 -0800)]
ExampleSceneProvider: refactored cmake configuration

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoGenericCommunicator: refactored cmake configuration
Timo Lotterbach [Fri, 30 Nov 2012 12:07:14 +0000 (04:07 -0800)]
GenericCommunicator: refactored cmake configuration

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoX11GLESRenderer: refactored cmake configuration
Timo Lotterbach [Fri, 30 Nov 2012 12:02:48 +0000 (04:02 -0800)]
X11GLESRenderer: refactored cmake configuration

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoSystemdHealthMonitor: refactored cmake configuration
Timo Lotterbach [Fri, 30 Nov 2012 12:02:24 +0000 (04:02 -0800)]
SystemdHealthMonitor: refactored cmake configuration

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: added support for full static build of LayerManagerService
Timo Lotterbach [Wed, 28 Nov 2012 15:59:26 +0000 (07:59 -0800)]
LayerManagerService: added support for full static build of LayerManagerService

the build flag WITH_STATIC_LIBRARIES can be enabled to build all libraries and
plugins statically and link them directly to the LayerManagerService
binary.

Additionally searching for dynamically loaded plugins is disabled
to provide improved startup performance.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: divided into LayerManagerBase and LayerManagerService
Timo Lotterbach [Fri, 30 Nov 2012 12:52:52 +0000 (04:52 -0800)]
LayerManagerService: divided into LayerManagerBase and LayerManagerService

LayerManagerBase is a static library containing the whole LayerManager
base implementation, e.g. Scene, PluginLoading, ...
This allows other components to directly link to this implementation
(e.g. unit tests)

LayerManagerService contains only the main.cpp file and links to
LayerManagerBase library.

Additionally, some component dependencies have been improved.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoExampleSceneProvider: updated to new IPlugin interface
Timo Lotterbach [Wed, 28 Nov 2012 10:55:45 +0000 (02:55 -0800)]
ExampleSceneProvider: updated to new IPlugin interface

ExampleSceneProvider is now based on the updated IPlugin interface
to support static linking.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoSystemdHealthMonitor: updated to new IPlugin interface
Timo Lotterbach [Wed, 28 Nov 2012 10:55:07 +0000 (02:55 -0800)]
SystemdHealthMonitor: updated to new IPlugin interface

SystemdHealthMonitor is now based on the updated IPlugin interface
to support static linking.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoX11GLESRenderer: updated to new IPlugin interface
Timo Lotterbach [Wed, 28 Nov 2012 10:52:51 +0000 (02:52 -0800)]
X11GLESRenderer: updated to new IPlugin interface

X11GLESRenderer is now based on the updated IPlugin interface
to support static linking.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoGenericCommunicator: updated to new IPlugin interface
Timo Lotterbach [Wed, 28 Nov 2012 10:49:36 +0000 (02:49 -0800)]
GenericCommunicator: updated to new IPlugin interface

GenericCommuncator is now based on the updated IPlugin interface
to support static linking.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: removed plugin management functions from ICommandExecutor
Timo Lotterbach [Wed, 28 Nov 2012 10:27:21 +0000 (02:27 -0800)]
LayerManagerService: removed plugin management functions from ICommandExecutor

Plugins are now handled by the PluginManager within Layermanager, so
there's no need for the external interface to add or remove different
kind of plugins to the ICommandExecutor.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: updated PluginManager to load IPlugins
Timo Lotterbach [Wed, 28 Nov 2012 10:24:51 +0000 (02:24 -0800)]
LayerManagerService: updated PluginManager to load IPlugins

the plugin discovery was updated to recursively scan the whole plugin
directory. Every file in this directory is tested, if it is a valid
LayerManagement plugin. If a plugin is valid, it is instantiated.

The type and API version of the plugin can be validated afterwards.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: updated IPlugin, PluginBase
Timo Lotterbach [Wed, 28 Nov 2012 10:15:25 +0000 (02:15 -0800)]
LayerManagerService: updated IPlugin, PluginBase

all plugins are now required to provide their API type and version
as well as their name.

This allows loading all plugins using the same mechanism and detect
their type during runtime. The API version can be used to make sure,
that the LayerManagerService supports this verison of the plugin API.

The name of the plugin is used for logging.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerPlugins: introduced WITH_STATIC_PLUGINS to statically link plugins
Timo Lotterbach [Wed, 28 Nov 2012 10:08:04 +0000 (02:08 -0800)]
LayerManagerPlugins: introduced WITH_STATIC_PLUGINS to statically link plugins

the build system was enhanced to create a list of
statically linked plungins. All plugins in this list are statically linked
against LayerManagerService.

To enable this option, the build flag WITH_STATIC_PLUGINS was added.

Plugins supporting this features must add themselves to the list of
statically linked plugins based on the setting of WITH_STATIC_PLUGINS.

additionally the macro DECLARE_LAYERMANAGEMENT_PLUGIN was added to
simplify the definition of a plugin entry point for loading.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: fixed broken build of unit tests
Timo Lotterbach [Wed, 28 Nov 2012 11:39:52 +0000 (03:39 -0800)]
LayerManagerService: fixed broken build of unit tests

PluginManager class was added to LayerManagerService, but it was
not included in LayerManagerService_Test, resulting in an linker error.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerExamples: moved LayerSceneDescriptionExample to plugin directory
Timo Lotterbach [Mon, 26 Nov 2012 14:11:31 +0000 (06:11 -0800)]
LayerManagerExamples: moved LayerSceneDescriptionExample to plugin directory

LayerSceneDescriptionExample was moved to
LayerManagerPlugins/SceneProvider/ExampleSceneProvider

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: moved Systemd health monitor to health plugin
Timo Lotterbach [Mon, 26 Nov 2012 13:50:07 +0000 (05:50 -0800)]
LayerManagerService: moved Systemd health monitor to health plugin

the systemd integration was moved to an optional plugins.
this way LayerManagerService has no dependencies on systemd.

health monitoring plugins implement the interface IHealthMonitor.
Currently there's only one avialable that uses systemd watchdog to
report health status to the system.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: HealthSystemd now uses ThreadBase for monitoring thread
Timo Lotterbach [Mon, 26 Nov 2012 12:10:41 +0000 (04:10 -0800)]
LayerManagerService: HealthSystemd now uses ThreadBase for monitoring thread

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: removed obsolete #include directives
Timo Lotterbach [Mon, 26 Nov 2012 11:09:12 +0000 (03:09 -0800)]
LayerManagerService: removed obsolete #include directives

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: added waitForShutdownSignal() in SignalHandler and main.cpp
Timo Lotterbach [Mon, 14 Jan 2013 08:34:07 +0000 (00:34 -0800)]
LayerManagerService: added waitForShutdownSignal() in SignalHandler and main.cpp

The SignalHandler now has a blocking call to wait for program termination.
It internally blocks, until a signal is received that results in a shutdown.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoGenericCommunicator: now using ThreadBase as receive thread
Timo Lotterbach [Mon, 26 Nov 2012 10:55:43 +0000 (02:55 -0800)]
GenericCommunicator: now using ThreadBase as receive thread

GenericCommunicator now uses an internal thread to receive incoming
messages. It is not running in main thread anymore.

This allows having multiple Communicators at once.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerUtils: added ThreadBase class
Timo Lotterbach [Mon, 26 Nov 2012 10:29:32 +0000 (02:29 -0800)]
LayerManagerUtils: added ThreadBase class

added convenience class to simplyfy thread management by encapsulating
all thread handling in a base class.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoTextRenderer: added text renderer for debugging
Timo Lotterbach [Wed, 12 Dec 2012 13:40:17 +0000 (05:40 -0800)]
TextRenderer: added text renderer for debugging

the text  renderer does not provide any graphical representation of
the LayerManagement scene.

all calls to this renderer are logged, but no further processing
takes place.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoilmClient: updated implementation to be thread safe
Timo Lotterbach [Mon, 10 Dec 2012 09:45:28 +0000 (01:45 -0800)]
ilmClient: updated implementation to be thread safe

each command contains a critical region, that is protected by a mutex.
within that critical section, a command is sent and the corresponding
response is received.

The critical section enforces a transaction of a thread is completed,
before the next transaction by any thread can be processed.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerService: added support for client specific command queues
Timo Lotterbach [Tue, 4 Dec 2012 13:04:18 +0000 (05:04 -0800)]
LayerManagerService: added support for client specific command queues

all asynchronous commands get enqueued and are executed by the client
using the commit command.
Now there is a separate command queue for each connected client and a client
can only commit commands, that have been sent by this client.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerCommands: fixed logging inside CommitCommand
Timo Lotterbach [Fri, 30 Nov 2012 14:41:26 +0000 (06:41 -0800)]
LayerManagerCommands: fixed logging inside CommitCommand

CommitCommand printed itself as creator of each executed command.
Error state was logged wrong after one command failed.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoLayerManagerToolBox: removed component
Timo Lotterbach [Thu, 29 Nov 2012 14:08:33 +0000 (06:08 -0800)]
LayerManagerToolBox: removed component

LayerManagerToolBox was replaced by LayerManagerControl, which is easier
to extend. All feature of LayerManagerToolBox are now available in
LayerManagerControl.

The README file was updated to point users to LayerManagerControl, instead
of LayerManagerToolBox.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoNullWindowSystem: removed component
Timo Lotterbach [Thu, 29 Nov 2012 13:54:08 +0000 (05:54 -0800)]
NullWindowSystem: removed component

NullWindowSystem was not maintained any more, because it was not used.
This patch removes it.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>
11 years agoBeagleRenderer: removed component
Timo Lotterbach [Thu, 29 Nov 2012 13:48:45 +0000 (05:48 -0800)]
BeagleRenderer: removed component

this component is not maintained any more, because TI Beagle board
can use default GLES Renderer with current GPU driver releases.

this was not possible with older driver versions.

Signed-off-by: Timo Lotterbach <timo.lotterbach@bmw-carit.de>