Ismo Puustinen [Fri, 29 Jun 2012 11:21:51 +0000 (14:21 +0300)]
signalling: add an initial signalling plugin.
Krisztian Litkey [Tue, 11 Sep 2012 08:11:26 +0000 (11:11 +0300)]
plugin-test: test hack console command for testing target updates.
Krisztian Litkey [Tue, 11 Sep 2012 08:05:33 +0000 (11:05 +0300)]
core: debug table update.
Krisztian Litkey [Tue, 11 Sep 2012 07:50:01 +0000 (10:50 +0300)]
resolver: emit target update events, run autoupdate from a deferred cb.
Deferring autoupdates requires deferring functions from the main
loop. These are available from the main murphy context on which
the resolver did not have any dependency so far. Direct dependency
could have been avoided by hiding the deferring functions behind
externally provided callbacks.
However, since eventually we probably want to be able to demand-
load (mrp_request_plugin) scriptlet interpreter plugins it's easier
to just provide access to the main context (and its mainloop) for
the resolver. The downside is that this creates an ugly cross-
dependency between the main context and the resolver context...
Krisztian Litkey [Tue, 11 Sep 2012 07:22:42 +0000 (10:22 +0300)]
resolver: added basic event emission support.
Krisztian Litkey [Tue, 11 Sep 2012 07:16:10 +0000 (10:16 +0300)]
core, common/msg: enabled sentinel check for safer event emitting.
Krisztian Litkey [Tue, 11 Sep 2012 07:12:52 +0000 (10:12 +0300)]
common: added mrp_list_insert_{before,after}.
Janos Kovacs [Mon, 10 Sep 2012 22:53:46 +0000 (01:53 +0300)]
common: including macros.h in hashtbl.h
Krisztian Litkey [Fri, 7 Sep 2012 17:37:22 +0000 (20:37 +0300)]
core: force exported/imported methods to be static.
Krisztian Litkey [Fri, 26 Oct 2012 16:03:20 +0000 (19:03 +0300)]
repo-fixing: fixup #3.
Krisztian Litkey [Fri, 7 Sep 2012 17:29:14 +0000 (20:29 +0300)]
plugin-test: ugly hacks for DB/resolver testing.
Krisztian Litkey [Fri, 7 Sep 2012 17:28:27 +0000 (20:28 +0300)]
daemon: minor cleanup.
Krisztian Litkey [Fri, 7 Sep 2012 17:25:38 +0000 (20:25 +0300)]
resolver: preliminary DB integration, autoupdate&script preparation support.
Krisztian Litkey [Fri, 7 Sep 2012 17:14:58 +0000 (20:14 +0300)]
core: added scriptlet preparation support.
Added a prepare operation to scriptlet interpreter. If provided by an
interpreter, preparing a scriptlet should carry out any and all actions
necessary to finalize a compiled scriptlet for execution. For instance,
the simple builtin resolver scriptlet interpreter uses the preparation
phase to link function names to exported functions. The normal sequence
to run a scriptlet is now create - compile - prepare - execute.
Krisztian Litkey [Fri, 7 Sep 2012 16:05:53 +0000 (19:05 +0300)]
daemon: enable debug logs if debug options are set.
Krisztian Litkey [Thu, 6 Sep 2012 15:17:17 +0000 (18:17 +0300)]
daemon: active logging/debugging options immediately.
Krisztian Litkey [Thu, 6 Sep 2012 14:04:30 +0000 (17:04 +0300)]
daemon: added forgotten daemon.h
Krisztian Litkey [Thu, 6 Sep 2012 14:04:15 +0000 (17:04 +0300)]
resolver: added forgotten scanner.h.
Krisztian Litkey [Thu, 6 Sep 2012 13:57:45 +0000 (16:57 +0300)]
common: updated debug function info.
Krisztian Litkey [Thu, 6 Sep 2012 11:58:08 +0000 (14:58 +0300)]
murphy-db: don't start failing transaction creation from the MQI_TXDEPTH_MAX-1'th transaction.
Krisztian Litkey [Thu, 6 Sep 2012 11:53:41 +0000 (14:53 +0300)]
murphy-db: correctly return the number of affected rows for 'delete all's.
Krisztian Litkey [Thu, 6 Sep 2012 11:44:35 +0000 (14:44 +0300)]
murphy-db: added mqi and mdb support for table stamping.
Each table has now a modification stamp. The modification stamp
is a monotonically increasing integer that is incremented every
time a new transaction modifies a table, ie. the stamp is the
number of transactions that have modified the table (and have
eventually been fully committed). Stamps are preserved across
commits and rolled back during rollbacks. Stamps can be queried
by table handle.
Krisztian Litkey [Thu, 6 Sep 2012 06:14:54 +0000 (09:14 +0300)]
resolver: 's/cleanup/destroy/g'.
Krisztian Litkey [Wed, 5 Sep 2012 11:13:14 +0000 (14:13 +0300)]
resolver: removed unused/moved context typedefs.
Krisztian Litkey [Wed, 5 Sep 2012 10:29:29 +0000 (13:29 +0300)]
resolver: added builtin echo.
Krisztian Litkey [Wed, 5 Sep 2012 08:46:58 +0000 (11:46 +0300)]
resolver: better relative path handling for includes.
Krisztian Litkey [Wed, 5 Sep 2012 10:09:46 +0000 (13:09 +0300)]
core: allow including method.h without including plugin.h first.
Krisztian Litkey [Wed, 5 Sep 2012 08:27:36 +0000 (11:27 +0300)]
daemon: try to load resolver ruleset if specified in the config file.
Krisztian Litkey [Wed, 5 Sep 2012 08:25:07 +0000 (11:25 +0300)]
core: don't try to print NULL signature.
Krisztian Litkey [Tue, 4 Sep 2012 16:43:01 +0000 (19:43 +0300)]
core: initial event infrastructure, daemon and plugin events.
The basic event interface provides a mechanism for
- registering named events
- subscribing to events
- unsubscribing from events
- emitting events with some attached event-specific data
Event emission relies on the generic messages of the transport
layer to attach data to events. Albeit admittably a bit cumbersome,
this provides a way to gracefully handle different than expected
data on the subscriber side.
Krisztian Litkey [Tue, 4 Sep 2012 16:36:10 +0000 (19:36 +0300)]
common/msg: more convenience macros and functions.
Krisztian Litkey [Tue, 4 Sep 2012 16:27:44 +0000 (19:27 +0300)]
common: added mrp_list_update_address.
Krisztian Litkey [Mon, 3 Sep 2012 10:43:24 +0000 (13:43 +0300)]
daemon: added configuration directive for setting resolver ruleset.
Added a new configuration directive that can be used to set various
configuration settings. Currently it can only be used to set the
resolver ruleset path like this
set resolver-ruleset '/path/to/resolver/ruleset-file'
It can be generalized with a few minor changes to handle other
configuration settings if/when needed.
Krisztian Litkey [Mon, 3 Sep 2012 10:25:02 +0000 (13:25 +0300)]
common: fix mrp_msg_t field (double-)allocation leak.
Krisztian Litkey [Mon, 3 Sep 2012 10:20:54 +0000 (13:20 +0300)]
common: fix leak in I/O watch deletion.
Krisztian Litkey [Mon, 3 Sep 2012 06:37:28 +0000 (09:37 +0300)]
build-sys: fix for (re)moved resolver/script.c.
Krisztian Litkey [Mon, 3 Sep 2012 06:29:49 +0000 (09:29 +0300)]
build-sys: updated debug function mappings.
Krisztian Litkey [Mon, 3 Sep 2012 06:28:07 +0000 (09:28 +0300)]
build-sys: build updates for core and resolver.
Krisztian Litkey [Mon, 3 Sep 2012 06:21:31 +0000 (09:21 +0300)]
resolver: script compilation, function lookup and execution, and more.
Added basic script compilation, function lookup, and script execution
code. Also some of the supporting scripting code (script.c, context.c)
has been lifted over to core.
The current (dres-like) named variable model with nested scoping
probably does not make much sense any more. Needs a bit more thinking
and probably a rewrite...
Krisztian Litkey [Fri, 26 Oct 2012 15:59:32 +0000 (18:59 +0300)]
repo-fixing: fixup #2.
Krisztian Litkey [Mon, 3 Sep 2012 06:02:52 +0000 (09:02 +0300)]
core: initial shot at method export/import; code liftover from resolver.
Basic method export/import support has been added to core. Plugins
can now declare two sets of methods. One that they wish to export
for others and one that they need to import from others for performing
their basic function. Boilerplate routines for scripting can now be
exported with the same mechanism.
Krisztian Litkey [Thu, 23 Aug 2012 13:33:45 +0000 (16:33 +0300)]
build-sys: updates for building the resolver.
Krisztian Litkey [Thu, 23 Aug 2012 13:30:43 +0000 (16:30 +0300)]
resolver: fixes, basic context variable handling.
Krisztian Litkey [Tue, 21 Aug 2012 07:36:56 +0000 (10:36 +0300)]
resolver: initial scripting infra + a primitive builtin script.
Krisztian Litkey [Tue, 21 Aug 2012 07:20:34 +0000 (10:20 +0300)]
common: added mrp_list_move for moving full lists between hooks.
Krisztian Litkey [Mon, 13 Aug 2012 07:17:03 +0000 (10:17 +0300)]
common: test and debug line info update.
Krisztian Litkey [Mon, 13 Aug 2012 07:12:59 +0000 (10:12 +0300)]
build-sys: debug table generation fixes/cleanup.
Krisztian Litkey [Mon, 13 Aug 2012 07:09:03 +0000 (10:09 +0300)]
resolver: initial import of an embrionic dependency resolver.
Krisztian Litkey [Fri, 10 Aug 2012 15:15:48 +0000 (18:15 +0300)]
common: fixed debug control by file basename.
Krisztian Litkey [Fri, 26 Oct 2012 15:43:07 +0000 (18:43 +0300)]
repo-fixing: fixup #1.
Krisztian Litkey [Wed, 4 Jul 2012 12:29:31 +0000 (15:29 +0300)]
Debugging function info update (changed because of license insertion).
Krisztian Litkey [Wed, 4 Jul 2012 12:26:26 +0000 (15:26 +0300)]
build-sys: added --enable-gpl configure option.
Ismo Puustinen [Wed, 4 Jul 2012 11:57:10 +0000 (14:57 +0300)]
licensing: rewrote COPYING.
Krisztian Litkey [Wed, 4 Jul 2012 11:35:51 +0000 (14:35 +0300)]
Added licensing information.
Krisztian Litkey [Tue, 3 Jul 2012 16:03:54 +0000 (19:03 +0300)]
common, core: moved debug site listing to common.
Krisztian Litkey [Fri, 29 Jun 2012 15:59:42 +0000 (18:59 +0300)]
build-sys: keep generated linker scripts, debug files around.
To avoid having a hard compile-time dependency on ctags/etags,
we keep generated linker scripts and debug function info files
in the repository and only regenerate them when required. IOW,
they are required for hacking around in but not for just compiling
murphy...
Krisztian Litkey [Fri, 29 Jun 2012 11:02:14 +0000 (14:02 +0300)]
build-sys: install also configuration file.
Krisztian Litkey [Fri, 29 Jun 2012 11:01:46 +0000 (14:01 +0300)]
build-sys: configure takes list of dynamic plugins now.
Krisztian Litkey [Thu, 28 Jun 2012 15:52:16 +0000 (18:52 +0300)]
common: check custom data counted array consistency on the receiver side.
Krisztian Litkey [Thu, 28 Jun 2012 14:59:53 +0000 (17:59 +0300)]
murphy-db: eliminating typedef redefinitions
Krisztian Litkey [Thu, 28 Jun 2012 13:15:24 +0000 (16:15 +0300)]
murphy-db: fixes for more recent/pedantic versions of gcc.
Krisztian Litkey [Thu, 28 Jun 2012 13:12:57 +0000 (16:12 +0300)]
common/tests: fixes for more recent/pedantic versions of gcc.
Krisztian Litkey [Thu, 28 Jun 2012 13:12:29 +0000 (16:12 +0300)]
console: fixes for more recent/pedantic versions of gcc.
Krisztian Litkey [Thu, 28 Jun 2012 13:12:13 +0000 (16:12 +0300)]
dbus: fixes for more recent/pedantic versions of gcc.
Krisztian Litkey [Thu, 28 Jun 2012 13:11:53 +0000 (16:11 +0300)]
common: fixes for more recent/pedantic versions of gcc.
Janos Kovacs [Wed, 27 Jun 2012 14:52:26 +0000 (17:52 +0300)]
murphy-db: eliminating typedef redefinitions
Ismo Puustinen [Wed, 27 Jun 2012 11:16:41 +0000 (14:16 +0300)]
build: added a ctags check to configure.ac.
Krisztian Litkey [Wed, 27 Jun 2012 13:21:26 +0000 (16:21 +0300)]
build-sys: configure help message cosmetology.
Krisztian Litkey [Wed, 27 Jun 2012 13:19:05 +0000 (16:19 +0300)]
build-sys: support for disabling individual plugins, and the console.
Krisztian Litkey [Wed, 27 Jun 2012 10:24:44 +0000 (13:24 +0300)]
build-sys: when warning, also tell how to install git hooks.
Krisztian Litkey [Tue, 26 Jun 2012 16:25:04 +0000 (19:25 +0300)]
cleanup: monsterously huge whitespace cleanup, git pre-commit hook.
From this point on, please configure your editor to
- use spaces instead of tabs
- warn about (or colorize) whitespace errors (tabs, trailing
whitespace, emply line with whitespace, etc.)
Also after having clones/pulled this update, please run a
'make install-git-hooks' at the top level directory. This will
install a custom pre-commit hook that prevents subsequent
commits that would accidentially introduce whitespace errors.
Krisztian Litkey [Tue, 26 Jun 2012 13:22:21 +0000 (16:22 +0300)]
build-sys: added a git hook for WS error checks.
Krisztian Litkey [Tue, 26 Jun 2012 09:47:17 +0000 (12:47 +0300)]
Merge branch 'devel'
Krisztian Litkey [Mon, 25 Jun 2012 13:27:42 +0000 (16:27 +0300)]
debug: semi-automatic infra to resolve debug file:line to function name
Unfortunately starting with 4.x proper support for __FUNCTION__ has
been degenerated to an alias to the C99-compatible func. Since func
is an automatic variable instead of an automatic macro, many of the
interesting stuff (such as constant-string concatenation) you cannot
do with it that were possible with __FUNCTION__.
This is a slight setback for our debug infra because the intention
was to set up the main debugging macro, mrp_debug, in such a way that
it would have autogenerated for every debug site a string table entry
of the format __DEBUG_SITE_function@file:line. Listing the existing
sites would have then simply become finding all matching entries in the
string table and printing them out.
Now with the degenerated >= 4.x gcc, we only get file and line number
information but not function name. To overcome this, support has been
added to the debug infra for registering the necessary information to
do the extra file:line to function name mapping. Moreover, a simple
script and some common boilerplate code has been added to help make
use of all this without having to really understand the details of how
it all works, or having to touch any of your code (other than placing
mrp_debug's wherever appropriate).
You can take a look at src/Makefile.am and check how the common or core
libraries or the dbus plugin is built to see what you need to do to
automatically generate the necessary debug function info.
Krisztian Litkey [Wed, 20 Jun 2012 16:40:15 +0000 (19:40 +0300)]
Merge branch 'master' of github.com:otcshare/murphy
Ismo Puustinen [Wed, 20 Jun 2012 08:40:54 +0000 (11:40 +0300)]
common: fixed clang compile error.
Ismo Puustinen [Wed, 20 Jun 2012 11:26:06 +0000 (14:26 +0300)]
common: add a header include to msg.h.
Ismo Puustinen [Wed, 20 Jun 2012 11:29:04 +0000 (14:29 +0300)]
console: make connection_evt static.
Krisztian Litkey [Wed, 20 Jun 2012 16:31:18 +0000 (19:31 +0300)]
core: ignore plugin start failure for try-loaded plugins.
Hmm... as Ismo pointed out probably the correct semantics for
try-load is to ignore both load-time and start-time errors for
plugins that are loaded with a try-load-plugin directive in
the config file.
Krisztian Litkey [Wed, 20 Jun 2012 15:45:38 +0000 (18:45 +0300)]
Console command infra overhaul, added core commands, debug control.
Krisztian Litkey [Wed, 20 Jun 2012 15:40:40 +0000 (18:40 +0300)]
murphy-console: crash fix.
Krisztian Litkey [Wed, 20 Jun 2012 15:40:01 +0000 (18:40 +0300)]
common: added runtime-controllable debug infra.
Krisztian Litkey [Wed, 20 Jun 2012 15:37:19 +0000 (18:37 +0300)]
common/console: check return-while-busy once, just like with transports.
Krisztian Litkey [Wed, 20 Jun 2012 15:28:33 +0000 (18:28 +0300)]
common/macros: added stringifying macro.
Krisztian Litkey [Wed, 20 Jun 2012 15:27:42 +0000 (18:27 +0300)]
comon/dbus: use MRP_UNUSED and mrp_debug macros where appropriate.
Krisztian Litkey [Wed, 20 Jun 2012 15:25:28 +0000 (18:25 +0300)]
plugins/console: crash fix, remove #if 0'd code.
Krisztian Litkey [Wed, 20 Jun 2012 08:21:18 +0000 (11:21 +0300)]
common: removed old tcp/udp-transport.c.
Krisztian Litkey [Tue, 19 Jun 2012 16:10:58 +0000 (19:10 +0300)]
build: export aptly named globals as well.
Ismo Puustinen [Mon, 18 Jun 2012 15:07:42 +0000 (18:07 +0300)]
meta: added a .gitattributes file to highlight whitespace errors.
Krisztian Litkey [Mon, 18 Jun 2012 08:31:55 +0000 (11:31 +0300)]
common: handle gracefully disconnect requests for NULL transports.
Krisztian Litkey [Fri, 15 Jun 2012 12:25:15 +0000 (15:25 +0300)]
common: added missing dbus-glue.c.
Krisztian Litkey [Fri, 15 Jun 2012 12:20:38 +0000 (15:20 +0300)]
common: added missing murphy-pulse.pc.in.
Krisztian Litkey [Fri, 8 Jun 2012 22:34:04 +0000 (01:34 +0300)]
common/pulse-glue: added libmurphy-pulse, a PulseAudio murphy superloop.
libmurphy-pulse provides the necessary gluing code to enable the murphy
mainloop to be pumped by a PulseAudio mainloop.
Krisztian Litkey [Fri, 8 Jun 2012 22:16:09 +0000 (01:16 +0300)]
common: added support for externally pumped mainloops (superloops).
Murphy mainloop has now an abstraction - called a superloop - for
external mainloops that pump the murphy mainloop. This abstraction
layer defines the set of functions one needs to implement to integrate
the native murphy mainloop to an external mainloop. Practically this
means implementing functios for
- adding/deleting file descriptor I/O watches,
- adding/deleting/modifying timers, and
- adding/deleting/enabling/disabling deferred callbacks
To integrate murphy to any external mainloop one needs to
- implement these functions using the external mainloop, and
- register these functions as the superloops API to murphy
(using mrp_set_superloop)
After this whenever the superloop is iterated/run, the murphy mainloop
will be iterated/run as well.
Krisztian Litkey [Thu, 7 Jun 2012 14:13:20 +0000 (17:13 +0300)]
build: generate dbus lib .pc file, removed extra header typo/cut'n'pasteo.
Krisztian Litkey [Wed, 6 Jun 2012 19:00:10 +0000 (22:00 +0300)]
common/tests: added missing dbus-test.c.
Krisztian Litkey [Wed, 6 Jun 2012 14:57:16 +0000 (17:57 +0300)]
common: DBUS transport sender-based filtering for connected mode.
Krisztian Litkey [Wed, 6 Jun 2012 14:22:19 +0000 (17:22 +0300)]
common: pass also name owner to DBUS name tracking callbacks.
Krisztian Litkey [Wed, 6 Jun 2012 13:24:02 +0000 (16:24 +0300)]
common: (untested) raw transport, small cleanups, stricter decoding checks.
Krisztian Litkey [Wed, 6 Jun 2012 13:23:52 +0000 (16:23 +0300)]
common: don't unref msg mrp_dbus_send did not allocate.