Marcus Fritzsch [Wed, 2 Aug 2017 13:42:24 +0000 (15:42 +0200)]
fix LICENSE file
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Wed, 2 Aug 2017 13:38:08 +0000 (15:38 +0200)]
add LICENSE file
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Wed, 2 Aug 2017 12:13:42 +0000 (14:13 +0200)]
app: add surface_set_layout(), call it from genivi::controller late-task
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Wed, 2 Aug 2017 12:13:08 +0000 (14:13 +0200)]
wayland: add {surface,layer}_exists(uint32_t) methods
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Wed, 2 Aug 2017 09:03:30 +0000 (11:03 +0200)]
app: rename fullscren surface task
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Wed, 2 Aug 2017 09:03:18 +0000 (11:03 +0200)]
add license text to implementation files
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 1 Aug 2017 15:49:40 +0000 (17:49 +0200)]
app: debug_layers returns a representation of layers.json configuration
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 1 Aug 2017 15:49:04 +0000 (17:49 +0200)]
layers: add layer and layer_map to_json() helper
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 1 Aug 2017 15:48:07 +0000 (17:48 +0200)]
wayland: add genivi::full_rect and operator== for genivi::rect
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 1 Aug 2017 15:15:19 +0000 (17:15 +0200)]
app: use config to determine json config file names
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 1 Aug 2017 15:13:56 +0000 (17:13 +0200)]
add config, a simple config interface. i.e. key-value-store
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 1 Aug 2017 15:13:03 +0000 (17:13 +0200)]
rename ids.json to layers.json, because that's what is is.
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 1 Aug 2017 14:25:24 +0000 (16:25 +0200)]
app: rename load_layer_ids to load_layer_map
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 1 Aug 2017 14:16:29 +0000 (16:16 +0200)]
layers: rename surface_id_to_layer and surface_id_to_layer_map
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 1 Aug 2017 14:14:12 +0000 (16:14 +0200)]
layer: document intentions of layer structure
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 1 Aug 2017 14:05:47 +0000 (16:05 +0200)]
app: some comments and erorrs regarding IDs configuration
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 1 Aug 2017 14:05:29 +0000 (16:05 +0200)]
app: when loading config, handle returned errors
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 1 Aug 2017 14:05:10 +0000 (16:05 +0200)]
app: simplify config loading code, handle errors too
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 1 Aug 2017 10:50:28 +0000 (12:50 +0200)]
minor clang-format
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 1 Aug 2017 10:22:42 +0000 (12:22 +0200)]
add simple README
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 1 Aug 2017 10:19:14 +0000 (12:19 +0200)]
app: handle failure to load layout.json gracefully
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 1 Aug 2017 09:48:13 +0000 (11:48 +0200)]
app: implement configured surface areas from ids.json
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 1 Aug 2017 09:47:46 +0000 (11:47 +0200)]
wayland: make genivi::rect::width and height int32
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Mon, 31 Jul 2017 10:16:11 +0000 (12:16 +0200)]
app: surfaces on layer != 1000 leave a 100pixel top and bottom margin
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 13:43:47 +0000 (15:43 +0200)]
app: add debug_terminate() event, quick hack to terminate
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 13:07:01 +0000 (15:07 +0200)]
wayland: clang-format
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 13:06:50 +0000 (15:06 +0200)]
util: clang-format
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 13:06:42 +0000 (15:06 +0200)]
layers: clang-format
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 13:06:28 +0000 (15:06 +0200)]
json_helper: clang-format
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 13:06:17 +0000 (15:06 +0200)]
controller_hooks: clang-format
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 13:06:05 +0000 (15:06 +0200)]
app: clang-format
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 13:05:53 +0000 (15:05 +0200)]
result: return nullopt if error is actuall nullptr
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 12:40:27 +0000 (14:40 +0200)]
layers: provide a layers-only vector
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 12:08:43 +0000 (14:08 +0200)]
app: logdebug() layer setup
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 11:19:47 +0000 (13:19 +0200)]
app: scene setup according to ids.json
* Setup layers as specified in ids.json.
* Map surfaces to their layers.
* Complain about unknown surfaces (i.e. those w/o a mapping).
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 10:43:09 +0000 (12:43 +0200)]
app: preallocate layouts storage
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 10:34:43 +0000 (12:34 +0200)]
app/wayland: move surface setup as is to app controller hook
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 10:33:56 +0000 (12:33 +0200)]
app: wire up controller_hooks
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 10:31:24 +0000 (12:31 +0200)]
add controller_hooks, a proxy for calls from the controller to the application
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 07:57:24 +0000 (09:57 +0200)]
app/layers: move embedded test run to layers
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 07:56:52 +0000 (09:56 +0200)]
remove some of th more verbose debug messages
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 28 Jul 2017 07:56:21 +0000 (09:56 +0200)]
result: remove broken map()
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 27 Jul 2017 22:36:46 +0000 (00:36 +0200)]
layers: move get_layer_for_surface() to .cpp
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 27 Jul 2017 21:53:26 +0000 (23:53 +0200)]
clang-tidy once more
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 27 Jul 2017 21:12:17 +0000 (23:12 +0200)]
layers: introduce layers.hpp and .cpp for layer related code
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 27 Jul 2017 14:11:14 +0000 (16:11 +0200)]
ids.json: add comment about tests expecting a failure
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 27 Jul 2017 14:02:00 +0000 (16:02 +0200)]
layout: check id_min against lower_bound() result
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 27 Jul 2017 14:01:41 +0000 (16:01 +0200)]
app: resturn Err() on failed IDs test
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 27 Jul 2017 13:52:10 +0000 (15:52 +0200)]
app: try to parse ids.json, run embedded tests (debug output only)
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 27 Jul 2017 13:51:35 +0000 (15:51 +0200)]
layout: add surface id to layer mapping
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 27 Jul 2017 13:50:10 +0000 (15:50 +0200)]
result: add some more functionality
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 27 Jul 2017 13:49:50 +0000 (15:49 +0200)]
util: move DB() debug macro from app
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 27 Jul 2017 13:49:28 +0000 (15:49 +0200)]
json_helper: move get here (from app)
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 27 Jul 2017 13:48:54 +0000 (15:48 +0200)]
add ids.json and layout.json
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 25 Jul 2017 11:03:47 +0000 (13:03 +0200)]
app: propagate errors from layout parsing, more thorough checking
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 25 Jul 2017 11:02:24 +0000 (13:02 +0200)]
result: implicit unwrap on conversion to result T
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 25 Jul 2017 10:27:54 +0000 (12:27 +0200)]
app: add very c++-y layout parsing
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Mon, 24 Jul 2017 09:42:54 +0000 (11:42 +0200)]
wayland: add display::add_global_handler which forwards to registry
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Mon, 24 Jul 2017 09:42:32 +0000 (11:42 +0200)]
cmake: fix source list layout
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Mon, 24 Jul 2017 09:42:16 +0000 (11:42 +0200)]
cmake: require afb-daemon w/o version specifier
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Mon, 24 Jul 2017 09:41:58 +0000 (11:41 +0200)]
cmake: add opton to link against LLVM's libc++
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 13 Jul 2017 10:09:38 +0000 (12:09 +0200)]
json_helper: use json-c object creation
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 13 Jul 2017 10:09:22 +0000 (12:09 +0200)]
app: reset g_app on ~App()
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 13 Jul 2017 08:23:55 +0000 (10:23 +0200)]
clang-format, mostly indenting.
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 13 Jul 2017 07:38:59 +0000 (09:38 +0200)]
clang-tidy the place up
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 13 Jul 2017 07:30:04 +0000 (09:30 +0200)]
glue: renamed output files to better represent their actual purpose
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Wed, 12 Jul 2017 14:40:29 +0000 (16:40 +0200)]
main: move most of main to app, separate ownership
* Move everything apart from the display connection itself to App.
* Everything depending on the display however is owned by App.
* Dispatch events for the application in App::dispatch_events()
That is, display_dispatch and local stuff e.g. execute_pending().
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Wed, 12 Jul 2017 13:59:37 +0000 (15:59 +0200)]
Generating binding API glue code using generate-binding.py
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 11 Jul 2017 13:18:42 +0000 (15:18 +0200)]
main/app: started to move things to app
Started implementing App, as the actual implementation, that is, to
pull out all the stuff that is actually the application and only have
glue code reside in main.
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 11 Jul 2017 13:17:32 +0000 (15:17 +0200)]
main: appid and surfaceid in register_surface are unsigned
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 11 Jul 2017 13:17:07 +0000 (15:17 +0200)]
main: rename g_wayland to g_afb_instance
It holds the data necessary for the AFB to work, hence call it
g_afb_instance to make this clear.
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Mon, 10 Jul 2017 13:42:13 +0000 (15:42 +0200)]
wayland: sprops and lprops should be before the *_map_types
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Mon, 10 Jul 2017 08:44:29 +0000 (10:44 +0200)]
Track surface/layer properties with one struct
As both share the exact same properties this makes sense, we now can
write code once and work on both layer and surface properties. This
however is only relevant in the wayland "level" of things, as in WM
semantics layers are always fullscreen.
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 7 Jul 2017 12:32:25 +0000 (14:32 +0200)]
main: imeplemented dummy register_surface with reply
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 7 Jul 2017 06:03:41 +0000 (08:03 +0200)]
main: remove CHECK_WAYLAND, inline logic into WRAP
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 6 Jul 2017 13:45:03 +0000 (15:45 +0200)]
util: do not define needed afb version
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 6 Jul 2017 13:44:41 +0000 (15:44 +0200)]
main: use our own log functions
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 6 Jul 2017 13:44:21 +0000 (15:44 +0200)]
cmake: define afb-daemon configuration items on target basis
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 6 Jul 2017 13:31:31 +0000 (15:31 +0200)]
main: wrap afb verb handlers, "namepace" debug verbs
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 6 Jul 2017 09:59:36 +0000 (11:59 +0200)]
util: logging to the afb daemon
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 6 Jul 2017 09:32:50 +0000 (11:32 +0200)]
Move all nlohmann::json to json_helper.cpp
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 6 Jul 2017 07:38:15 +0000 (09:38 +0200)]
main: further simplification
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 6 Jul 2017 07:16:01 +0000 (09:16 +0200)]
main: reorganize and simplify
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Thu, 6 Jul 2017 07:15:16 +0000 (09:15 +0200)]
wayland: add wl::display::get_error()
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Wed, 5 Jul 2017 14:23:17 +0000 (16:23 +0200)]
Check for g_wayland in every API call.
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Wed, 5 Jul 2017 14:13:46 +0000 (16:13 +0200)]
main: add layers and surfaces API calls
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Wed, 5 Jul 2017 12:02:05 +0000 (14:02 +0200)]
Implement window manager as an AGL App-FW binding
* Compile to shared object module, to be loaded by afb-daemon.
* Take most of main, rewrite to adhere to the AFB API.
* Implement dummy API call winman/status.
* Use export.map to specify symbol visibility.
* Poller and unique_fd are currently useless/unused.
* Logging is still only to stdout/stderr.
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Wed, 5 Jul 2017 11:56:50 +0000 (13:56 +0200)]
Add nlohnmann/json header only c++11+ json library v. 2.1.1
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 4 Jul 2017 14:29:32 +0000 (16:29 +0200)]
util: noexcept logging and also noreturn for fatal()
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Tue, 4 Jul 2017 14:29:05 +0000 (16:29 +0200)]
main: read only one signal and only return -1 if it succeeded
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Mon, 3 Jul 2017 09:05:38 +0000 (11:05 +0200)]
clang-tidy the place up
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Mon, 3 Jul 2017 09:04:56 +0000 (11:04 +0200)]
all: clang-format
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Mon, 3 Jul 2017 09:04:24 +0000 (11:04 +0200)]
moved Poller and unique_fd from main to util, fixed c++ issues in util
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Mon, 3 Jul 2017 09:01:28 +0000 (11:01 +0200)]
util.h and its impl are now c++
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 30 Jun 2017 13:58:45 +0000 (15:58 +0200)]
main: read only once from stdin for status log
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 30 Jun 2017 11:55:12 +0000 (13:55 +0200)]
cmake: enable _GLIBCXX_DEBUG when building Debug
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 30 Jun 2017 11:54:23 +0000 (13:54 +0200)]
main: handling signals, added simple unique_fd RAII helper
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 30 Jun 2017 11:53:51 +0000 (13:53 +0200)]
main: read() returns ssize_t not int
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 30 Jun 2017 11:53:23 +0000 (13:53 +0200)]
main: cleanup Poller implementation
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>
Marcus Fritzsch [Fri, 30 Jun 2017 11:06:25 +0000 (13:06 +0200)]
main: better check_events implementation
* Introduced helper struct Poller
* Implements check_events() and calls custom handlers on POLLIN.
* Moved status dump to genivi::controller.
Signed-off-by: Marcus Fritzsch <marcus_fritzsch@mentor.com>