Krisztian Litkey [Mon, 8 Jul 2013 16:33:23 +0000 (19:33 +0300)]
telephony: minor update for latest resource API.
Jaska Uimonen [Tue, 25 Jun 2013 20:29:32 +0000 (23:29 +0300)]
ivi-resource-manager: add appid mapping
Janos Kovacs [Mon, 24 Jun 2013 23:36:04 +0000 (02:36 +0300)]
ivi-resource-manager: manage audio_playback resource
Jaska Uimonen [Sun, 16 Jun 2013 19:47:23 +0000 (22:47 +0300)]
ivi-resource-manager: make scripting definition static
Janos Kovacs [Sun, 16 Jun 2013 11:17:48 +0000 (14:17 +0300)]
ivi-resource-manager: add key based resource allocation for screen
Janos Kovacs [Sun, 16 Jun 2013 00:01:33 +0000 (03:01 +0300)]
ivi-resource-manager: add console support
Janos Kovacs [Sat, 15 Jun 2013 20:22:21 +0000 (23:22 +0300)]
ivi-resource-manager: integrate to resolver
Janos Kovacs [Fri, 14 Jun 2013 00:32:38 +0000 (03:32 +0300)]
ivi-resource-manager: screen resource grant depends on active_screen table
Janos Kovacs [Thu, 13 Jun 2013 07:56:27 +0000 (10:56 +0300)]
ivi-resource-manager: basic framework for screen resource
Janos Kovacs [Tue, 11 Jun 2013 09:11:15 +0000 (12:11 +0300)]
ivi-resource-manager: add plugin skeleton
Ismo Puustinen [Tue, 19 Mar 2013 10:19:01 +0000 (12:19 +0200)]
amb: fixed reopening the listening socket after disconnect.
Ismo Puustinen [Wed, 9 Jan 2013 14:26:52 +0000 (16:26 +0200)]
amb: started working on setting properies to AMB.
Ismo Puustinen [Fri, 1 Mar 2013 12:28:54 +0000 (14:28 +0200)]
amb: started adding process watching support.
Krisztian Litkey [Thu, 21 Feb 2013 17:48:14 +0000 (19:48 +0200)]
telephony: run with a single transaction.
Krisztian Litkey [Thu, 21 Feb 2013 17:46:59 +0000 (19:46 +0200)]
plugin-amb: property change notification signal is now configurable.
Krisztian Litkey [Thu, 14 Feb 2013 13:58:35 +0000 (15:58 +0200)]
plugin-amb: updated to changed lua object creation signature.
Krisztian Litkey [Thu, 20 Dec 2012 18:36:37 +0000 (20:36 +0200)]
plugin-dlog: added a plugin that enables logging to dlog.
Krisztian Litkey [Thu, 13 Dec 2012 22:44:14 +0000 (00:44 +0200)]
telephony: added preliminary resource allocation.
Ismo Puustinen [Tue, 4 Dec 2012 12:35:54 +0000 (14:35 +0200)]
amb: fix handling of error cases.
Ismo Puustinen [Fri, 30 Nov 2012 09:38:43 +0000 (11:38 +0200)]
amb: added some mdb updating support to test configuration file.
Ismo Puustinen [Fri, 30 Nov 2012 09:36:17 +0000 (11:36 +0200)]
amb: debug print fix.
Krisztian Litkey [Tue, 27 Nov 2012 15:28:34 +0000 (17:28 +0200)]
telephony: added telephony plugin.
Ismo Puustinen [Mon, 26 Nov 2012 13:53:57 +0000 (15:53 +0200)]
amb: add AMB plugin to build.
Ismo Puustinen [Mon, 26 Nov 2012 13:53:19 +0000 (15:53 +0200)]
amb: added initial version of Automotive Message Broker plugin.
Automotive Message Broker sends information about the current vehicle
system status. The AMB plugin allows Murphy to listen for these changes
and put the data to Murphy internal database for decision making.
Krisztian Litkey [Fri, 8 Nov 2013 21:30:07 +0000 (23:30 +0200)]
sample config: test message dispatching, message sending.
Jan Ekström [Thu, 8 Jan 2015 15:29:04 +0000 (17:29 +0200)]
{common,resource}: make sure buffers are null-terminated.
These were found by Coverity, and technically they are correct.
Thus explicit null termination is added or strncpy is used.
Krisztian Litkey [Tue, 16 Dec 2014 19:05:03 +0000 (21:05 +0200)]
common: use decltype to approximate typeof for C++.
decltype looks good enough to approximate some usage of the
very handy gcc-compatible typeof extension. It does not seem
to be good enough to cover all cases (one known cas where it
breaks down is mrp_list_entry).
Krisztian Litkey [Mon, 15 Dec 2014 09:11:47 +0000 (11:11 +0200)]
common: more C++-friendly bitmask handling.
Krisztian Litkey [Mon, 15 Dec 2014 09:10:48 +0000 (11:10 +0200)]
common: reject gracefully async events on the global (NULL) bus.
Krisztian Litkey [Fri, 12 Dec 2014 17:02:49 +0000 (19:02 +0200)]
mask-test: get rid of a warning on 32-bit systems.
Janos Kovacs [Fri, 21 Nov 2014 16:15:57 +0000 (18:15 +0200)]
murphy-db: fix issues detected by coverity
Krisztian Litkey [Fri, 12 Dec 2014 15:35:53 +0000 (17:35 +0200)]
lua-transport: use mrp_lua_error with a return whenever possible.
Krisztian Litkey [Thu, 11 Dec 2014 12:12:33 +0000 (14:12 +0200)]
core: fix a few incorrect mrp_debug usages.
Krisztian Litkey [Thu, 11 Dec 2014 12:12:11 +0000 (14:12 +0200)]
common: fix a few incorrect mrp_debug usages.
Krisztian Litkey [Thu, 11 Dec 2014 12:11:13 +0000 (14:11 +0200)]
common: annotate mrp_debug_msg as printf-like.
Krisztian Litkey [Thu, 11 Dec 2014 11:59:42 +0000 (13:59 +0200)]
common: allow printf-like formatted assert messages.
Krisztian Litkey [Wed, 10 Dec 2014 12:15:15 +0000 (14:15 +0200)]
lua-event: adjusted to event infra changes, added explicit start/stop.
Updated to use the revamped event infrastructure. Added explicit
methods for starting/stopping watches. Added oneshot member to be
more in line with timers and deferred callbacks. Minor stylistical
changes to be more in line with the rest of the Lua bindings.
Emitting events from Lua with data attached is not implemented yet...
Krisztian Litkey [Wed, 10 Dec 2014 22:11:21 +0000 (00:11 +0200)]
lua-utils: allow and handle 64- and 32-bit array size members.
Krisztian Litkey [Tue, 9 Dec 2014 18:38:29 +0000 (20:38 +0200)]
common: event infrastructure overhaul, lifted from core to common.
This patch litfs the original event publish/subscribe code from
core to common and attempts to fix some of its shortcomings.
The patch also introduces events busses to provide an abstraction
for logically grouping related or similar events together. Arbitrary
number of busses can be created dynamically. Subscription and event
delivery (emitting) is always done on a particular bus. There is
a default global (the NULL) bus which is always availablei.
This is the easiest to use for backward-compatibility for code which
used to generate or subscribe to some events but did not have direct
access to the mainloop.
Events can now be delivered both synchronously and asynchronously.
The event mechanism have been put under the mainloop mainly for this
reason (to automatically associate busses with a mainloop) to support
asynchronous delivery. With synchronous delivery, the event have been
delivered to all subscribers by the time the emitting call returns.
With asynchronous delivery the event will be delivered from a deferred
callback once the mainloop is done processing its pending events. The
global NULL bus is not associated with a mainloop and therefore only
supports synchronous delivery.
Data can now be attached to events in different formats. In addition
to the original mrp_msg_t, we now support JSON (mrp_json_t) and custom
pointers. For mrp_msg_t and JSON, the infrastructure takes care of
properly reference-counting the data in case of asychronous delivery.
For custom data this is not done ATM (although that might change), so
the caller has to make sure the event data is valid during delivery
and properly freed afterwards.
Currently it is not possible to delete event busses or unregister
events.
Ismo Puustinen [Thu, 4 Dec 2014 13:54:12 +0000 (15:54 +0200)]
core: added initial Lua bindings for event handling.
Krisztian Litkey [Tue, 9 Dec 2014 17:13:15 +0000 (19:13 +0200)]
resource: fix a typo in an assert message.
Krisztian Litkey [Sat, 29 Nov 2014 13:28:29 +0000 (15:28 +0200)]
lua-bindings: added functions for inspecting the environment and identity.
Added lua-env.c with simple bindings for getting environment variables,
process ID, user ID, group ID, and user name.
Krisztian Litkey [Fri, 12 Sep 2014 13:33:42 +0000 (16:33 +0300)]
lua-bindings: teach bitwise to handle more than two arguments.
Krisztian Litkey [Thu, 20 Nov 2014 11:16:47 +0000 (13:16 +0200)]
murphy-db: added mql_result_rows_get_row_column_index.
Jan Ekström [Fri, 24 Oct 2014 09:52:31 +0000 (12:52 +0300)]
build-sys: symlink src/plugins/domain-control to src/domain-control.
This fixes a mismatch between how domain-control's header is located
and to which kind of structure it is installed when Murphy is installed.
Krisztian Litkey [Mon, 3 Nov 2014 14:10:37 +0000 (16:10 +0200)]
resource: try to free resource attributes upon unregistering the set.
Jan Ekström [Fri, 7 Nov 2014 13:33:46 +0000 (15:33 +0200)]
dbus{,-sdbus,-libdbus}-transport: fix comparison in check_address().
Jan Ekström [Thu, 6 Nov 2014 09:28:46 +0000 (11:28 +0200)]
resource: stop a possible nullptr dereference in resource_getfield.
Jan Ekström [Thu, 6 Nov 2014 09:20:41 +0000 (11:20 +0200)]
resource: fix a nullptr check typo.
Jan Ekström [Wed, 2 Jul 2014 07:18:57 +0000 (10:18 +0300)]
resource-dbus: add available classes to the manager interface.
User had to before know the system's available classes before
hand; This fixes a discrepancy between this and other Murphy IPC
protocols, as other protocols provided this information to the
user.
Krisztian Litkey [Thu, 6 Nov 2014 13:14:25 +0000 (15:14 +0200)]
mm-test: remove useless 0-ness check.
Krisztian Litkey [Thu, 6 Nov 2014 13:13:07 +0000 (15:13 +0200)]
websocklib: remove useless NULL-ness check.
Krisztian Litkey [Thu, 6 Nov 2014 13:10:32 +0000 (15:10 +0200)]
lua-bindings: fix Lua debug record short_src check.
Krisztian Litkey [Thu, 6 Nov 2014 13:04:38 +0000 (15:04 +0200)]
core: fix thinko that turned purge_deleted into dead-code.
Krisztian Litkey [Thu, 6 Nov 2014 12:58:44 +0000 (14:58 +0200)]
common: don't doubly close epollfd on error path.
Krisztian Litkey [Thu, 6 Nov 2014 12:52:31 +0000 (14:52 +0200)]
libdbus: always va_end(ap) on errors before bailing out.
Krisztian Litkey [Thu, 6 Nov 2014 12:40:47 +0000 (14:40 +0200)]
common: always va_end(ap) on error before bailing out.
Krisztian Litkey [Thu, 6 Nov 2014 12:00:16 +0000 (14:00 +0200)]
strm-transport: fail if setting cloexec, reuseaddr, or nonblocking fails.
Krisztian Litkey [Thu, 6 Nov 2014 11:51:11 +0000 (13:51 +0200)]
domain-control: make ractive int since it is used as one, not a bool.
Krisztian Litkey [Thu, 6 Nov 2014 11:48:02 +0000 (13:48 +0200)]
mm-test: poison with <= 255 value.
Krisztian Litkey [Thu, 6 Nov 2014 11:38:08 +0000 (13:38 +0200)]
dbus-libdbus-transport: make sure address buffer is not overflown.
Krisztian Litkey [Thu, 6 Nov 2014 10:58:46 +0000 (12:58 +0200)]
core: don't leak RTLD_LOCAL-ly opened handles for core plugins.
Krisztian Litkey [Thu, 6 Nov 2014 10:53:14 +0000 (12:53 +0200)]
murphy-db: don't leak result columns created in trigger column_event_callbacks.
Krisztian Litkey [Thu, 6 Nov 2014 09:23:50 +0000 (11:23 +0200)]
common/strm-transport: uninitialized variable fix.
Krisztian Litkey [Tue, 4 Nov 2014 14:12:12 +0000 (16:12 +0200)]
domain-control/test-client: let client subscribe to audio_playback tables.
Krisztian Litkey [Tue, 4 Nov 2014 14:02:08 +0000 (16:02 +0200)]
domain-control: enforce full initial client notification.
Krisztian Litkey [Tue, 4 Nov 2014 14:01:19 +0000 (16:01 +0200)]
domain-control: subscribe properly for column changes.
Krisztian Litkey [Tue, 4 Nov 2014 13:51:51 +0000 (15:51 +0200)]
resource: added a few debug printouts.
Krisztian Litkey [Sat, 1 Nov 2014 13:34:01 +0000 (15:34 +0200)]
common: replace 2-case switch with an if-else.
Ismo Puustinen [Tue, 4 Nov 2014 09:13:18 +0000 (11:13 +0200)]
resource-backend: move 'emit event' messages to mrp_debug().
Ismo Puustinen [Tue, 4 Nov 2014 09:12:35 +0000 (11:12 +0200)]
resource-lua: removed 'data' parameter from resource callbacks.
Ismo Puustinen [Mon, 3 Nov 2014 14:19:30 +0000 (16:19 +0200)]
config: test case for lua resource API.
Ismo Puustinen [Mon, 3 Nov 2014 14:19:17 +0000 (16:19 +0200)]
resource-lua: memory handling fixes.
Krisztian Litkey [Sat, 1 Nov 2014 08:42:54 +0000 (10:42 +0200)]
common: added mrp_normalize_path to file-utils.
Krisztian Litkey [Fri, 31 Oct 2014 19:54:28 +0000 (21:54 +0200)]
common: added mrp_mkdir to file-utils.
Krisztian Litkey [Thu, 30 Oct 2014 23:59:10 +0000 (01:59 +0200)]
common: add debug printout for epoll.
Krisztian Litkey [Thu, 30 Oct 2014 23:48:15 +0000 (01:48 +0200)]
mainloop: use 0 poll timeout if we have enabled deferred callbacks.
Krisztian Litkey [Thu, 30 Oct 2014 22:27:50 +0000 (00:27 +0200)]
common: added pulse-subloop.[hc], a pulse subloop implementation.
Krisztian Litkey [Thu, 30 Oct 2014 13:01:28 +0000 (15:01 +0200)]
common: force O_NONBLOCK on for listening stream transports.
Without this, a transport user could drive the mainloop stuck
blocking in an accept by calling mrp_transport_accept on a
(stream) transport without pending connections. To prevent
this we always force the socket to non-blocking mode when
it is either explicitly listened on, or if the transport
adopts an fd (typically from socket-based activation) and
it is marked as listening.
Krisztian Litkey [Thu, 30 Oct 2014 11:34:23 +0000 (13:34 +0200)]
common: try to reject connection if accept fails in stream transport.
Try hard to reject incoming connection if accept fails. If we fail
to reject altogether, close the transport and emit a closed event
with an error.
Krisztian Litkey [Thu, 30 Oct 2014 11:32:58 +0000 (13:32 +0200)]
common: added socket-utils.[hc], mrp_reject_connection.
Jan Ekström [Thu, 30 Oct 2014 09:06:28 +0000 (11:06 +0200)]
resource-native: disconnect, destroy transport when connection is closed.
Ismo Puustinen [Thu, 30 Oct 2014 08:30:26 +0000 (10:30 +0200)]
resource-c: added test app for trying context creations.
Krisztian Litkey [Tue, 28 Oct 2014 12:52:50 +0000 (14:52 +0200)]
plugin-lua: explicitly restore Lua stack across resolver scriptlet runs.
Krisztian Litkey [Tue, 28 Oct 2014 12:51:09 +0000 (14:51 +0200)]
lua-log: explicitly restore Lua stack across function calls.
Krisztian Litkey [Tue, 28 Oct 2014 12:50:43 +0000 (14:50 +0200)]
lua-resource: explicitly restore Lua stack across callbacks.
Krisztian Litkey [Tue, 28 Oct 2014 12:48:34 +0000 (14:48 +0200)]
lua-transport: explicitly restore Lua stack across callbacks.
Krisztian Litkey [Tue, 28 Oct 2014 12:48:34 +0000 (14:48 +0200)]
lua-sighandler: explicitly restore Lua stack across callbacks.
Krisztian Litkey [Tue, 28 Oct 2014 12:48:34 +0000 (14:48 +0200)]
lua-timer: explicitly restore Lua stack across callbacks.
Krisztian Litkey [Tue, 28 Oct 2014 12:48:34 +0000 (14:48 +0200)]
lua-deferred: explicitly restore Lua stack across callbacks.
Krisztian Litkey [Tue, 28 Oct 2014 12:48:34 +0000 (14:48 +0200)]
lua-console: explicitly restore Lua stack across callbacks.
Krisztian Litkey [Mon, 27 Oct 2014 16:27:50 +0000 (18:27 +0200)]
domain-control: switched to resolver-aware trigger-driven notification logic.
Switched client notification logic from table stamp-based to
trigger-driven. Also block client updates if/while ruleset-
resolution is active. Schedule an extra update when resolution
is finished.
Resolver-activity is tracked by subscribing to start/done/fail
events emitted by the resolver and calculating started but un-
finished events.
Krisztian Litkey [Mon, 27 Oct 2014 18:23:26 +0000 (20:23 +0200)]
murphy-db: emit transaction depth/ID in transaction trigger events.
Krisztian Litkey [Sun, 26 Oct 2014 18:00:05 +0000 (20:00 +0200)]
murphy-db: don't leak result rows created in trigger row_event_callbacks.
This patch does fix certain memory leaks, but to be honest I'm not
entirely sure if the fix needs to be put behind some extra checks
to not cause trouble by overzealous freeing on other code pathes.
Needs eyeballing from someone more initiated...
Krisztian Litkey [Sun, 26 Oct 2014 15:32:46 +0000 (17:32 +0200)]
domain-control: fixed a few compiler warnings.
Krisztian Litkey [Sun, 26 Oct 2014 15:04:48 +0000 (17:04 +0200)]
sample-config: better timer/deferred/sighandler tests.
Krisztian Litkey [Sun, 26 Oct 2014 13:16:27 +0000 (15:16 +0200)]
lua-deferred: fixes, explicit enable/disable, removed 'data' member.
Added support for explicitly enabling/disabling deferred callbacks.
Removed 'userdata'-like data member as pointless. Since Lua deferred
callback is an extensible object, one can set data as an extended
Lua attribute just as well. No need to special-case it out...
Deferred callbacks are now automatically disabled if invoking the
associated callback fails.
Krisztian Litkey [Sun, 26 Oct 2014 13:14:42 +0000 (15:14 +0200)]
lua-sighandler: fixes, explicit enable/disable, removed 'data' member.
Added support for explicitly enabling/disabling signal handlers.
Removed 'userdata'-like data member as pointless. Since Lua
sighander is an extensible object, one can set data as an extended
Lua attribute just as well. No need to special-case it out...
Signal handlers are now automatically disabled if invoking the
associated callback fails.
Krisztian Litkey [Sat, 25 Oct 2014 17:25:52 +0000 (20:25 +0300)]
lua-timer: fixes, explicit start/stop, removed 'data' member.
Added support for explicitly stopping and starting an otherwise
fully functional timer (IOW both interval and callback set). Also
removed the userdata-like 'data' members as pointless. Since Lua
timer is an extensible object, one can set data as an extended
Lua attribute just as well. No need to special-case it out...
Removed all attempts to self-destruct the object by explicitly
calling mrp_lua_destroy_object as Lua timer is now marked dynamic.
Timers are now automatically disabled if invoking the callback
fails.
Krisztian Litkey [Sun, 26 Oct 2014 12:42:25 +0000 (14:42 +0200)]
lua-utils: exttbl and reftbl cleanup fixes, call user destructor earlier.
Fix bad exttbl cleanup thinko (exttbl is an ordinary table, not
a table of references). Change reftbl cleanup to simply remove
our reference to reftbl. Also moved invoking the user-provided
destructor a bit earlier before reftbl and extbl are cleaned up.
Explicit cleanup of reftbl (by explicitly looping through reftb
and removing all references found there) reliably triggers an
assert in the Lua garbage-collector. I'm quite puzzled why this
happens. Maybe it has something to do with being called from the
garbage-collector... though I checked the documentation about
finalizers and did not find a word about any limitations what
one would be allowed to do from a finalizers. For the time being
we just drop our reference to reftbl, which should be good enough
as it should remove all references from the table once that is
collected. This needs further head-scratching and eyeballing...