profile/ivi/murphy.git
12 years agoMerge branch 'master' of github.com:otcshare/murphy
Krisztian Litkey [Tue, 8 May 2012 13:48:41 +0000 (16:48 +0300)]
Merge branch 'master' of github.com:otcshare/murphy

12 years agoMerge branch 'documentation'
Krisztian Litkey [Tue, 8 May 2012 13:43:14 +0000 (16:43 +0300)]
Merge branch 'documentation'

12 years agosample-config: minor commenting.
Krisztian Litkey [Tue, 8 May 2012 13:20:52 +0000 (16:20 +0300)]
sample-config: minor commenting.

12 years agotransport: consolidated IP{v4,v6}/unix transports to {stream,dgram}-transpor
Krisztian Litkey [Tue, 8 May 2012 13:01:33 +0000 (16:01 +0300)]
transport: consolidated IP{v4,v6}/unix transports to {stream,dgram}-transpor

The recognized address prefixes are now tcp4, tcp6, udp4, udp6, unxstrm,
and unxdgrm. If you omit the type-specifier prefix, the address resolver
code will try to figure out the type based on the address itself ('[',
']', '@', '/'). However, a prefix specifies both the address family and
the connection-oriented vs. connectionlessness of the transport. The
resolver cannot guess which one you want if you omit the prefix and you
will always end up with connection-oriented transports in this case (as
these are registered before the datagram ones).

If you are careless and try to use prefixless string addresses for datagram
transports, you will get quite difficult to understand errors (as you end
up polling an unconnected, unlistened socket for readability).

One way to get around this would be to change the API so that
  - only the address family is passed to the address resolver
  - the socket type (dgram/stream) is passed to the transport creation

Although, this would be a more natural abstraction... maybe another day.

12 years agoconsole: for the sake of testing, a UDP-capable console/console-client.
Krisztian Litkey [Mon, 7 May 2012 13:42:33 +0000 (16:42 +0300)]
console: for the sake of testing, a UDP-capable console/console-client.

No, it does not need to always make sense... I just wanted to check how
big chunk of code you need to write in addition to handling the connection-
oriented/connectionless differences.

12 years agocommon/transport: some minor API cleanup, saner address resolving
Krisztian Litkey [Mon, 7 May 2012 13:27:49 +0000 (16:27 +0300)]
common/transport: some minor API cleanup, saner address resolving

There's plenty of things to write and clean up in the transport layer.
For a starter,

1) The message API is not sane. Fields should be tagged by integers
   and not strings. It was a quick hack just to test the transports.
   The basic encoder/decoder needs to be changed to an integer-tagged,
   typed, TLV.

2) We also need unix-domain stream and dgram transports, maybe also IPv6
   TCP and UDP transports. Once we have those, it'd make sense to combine
   (or otherwise consolidate) the connection-oriented and connectionless
   transport code as largely they would end up being identical anyway...
   So IOW IPv4/v6 UDP, unix-domain dgram would share a large part of
   their code, and similarly IPv4/v6 TCP and unix-domain stream would
   share a large part of their code.

3) We need to write a DBUS transport to check if the current abstraction
   is generic enough (or rather how far it is from being generic enough
   and fix any remaining diffs).

4) While we're at it, an SHM-based transport wouldn't hurt either...

12 years agodocumentation-tools: eliminating/supressing some garbage prints
Janos Kovacs [Sun, 6 May 2012 23:52:40 +0000 (02:52 +0300)]
documentation-tools: eliminating/supressing some garbage prints

12 years agodocumentation-tools: doxygen automatic dependency generation
Janos Kovacs [Sun, 6 May 2012 23:07:02 +0000 (02:07 +0300)]
documentation-tools: doxygen automatic dependency generation

Some primitive doxygen depency generation added. Based on the doxygen
configuration file we try to guess the .h.c dependencies. However,
doxygen can have directories + patterns in which case we are living
on our wild guesses how doxygen finds the dependencies that are
not in the same directory.

MRP_DOCINIT autoconf macro was also introduced to initiate the
documentation building

12 years agodocumentation: oops, this Makefile.am was forgotten
Janos Kovacs [Sat, 5 May 2012 12:07:55 +0000 (15:07 +0300)]
documentation: oops, this Makefile.am was forgotten

12 years agodocumentation: plugin-developer-guide content update
Janos Kovacs [Sat, 5 May 2012 11:50:17 +0000 (14:50 +0300)]
documentation: plugin-developer-guide content update

12 years agodocumentation-tools: doc-tools finalized + makefiles
Janos Kovacs [Sat, 5 May 2012 11:37:11 +0000 (14:37 +0300)]
documentation-tools: doc-tools finalized + makefiles

* plugin developer guide can be generated
* faking shavings and hiding the flood of doc-toolchain garbage
* manual dependencies (automatic dependency generation will be
  the next big step)

12 years agodocumentation-tools: fixing doxml2db to open the output file for writing
Janos Kovacs [Fri, 4 May 2012 23:17:17 +0000 (02:17 +0300)]
documentation-tools: fixing doxml2db to open the output file for writing

12 years agodocumentation: some doxygen comments were added
Janos Kovacs [Fri, 4 May 2012 14:45:13 +0000 (17:45 +0300)]
documentation: some doxygen comments were added

some initial doxygen comments were added to be able to test the documentation
toolchain

12 years agodocumentation-tools: doxml2db.py introduced
Janos Kovacs [Fri, 4 May 2012 14:41:18 +0000 (17:41 +0300)]
documentation-tools: doxml2db.py introduced

doxml2db.py is to convert doxml files into docbook fragments
ie. chapters or sections. These chapters or sections in turn can be included
to the main docbook.

12 years agotcp-transport: update leftover misleading comment.
Krisztian Litkey [Thu, 3 May 2012 18:52:45 +0000 (21:52 +0300)]
tcp-transport: update leftover misleading comment.

12 years agosample config: load two instances of test for command testing.
Krisztian Litkey [Thu, 3 May 2012 15:58:36 +0000 (18:58 +0300)]
sample config: load two instances of test for command testing.

12 years agodaemon/config: kludge for partial-line comment support.
Krisztian Litkey [Thu, 3 May 2012 15:57:54 +0000 (18:57 +0300)]
daemon/config: kludge for partial-line comment support.

12 years agocommon,core: support automatic console command registration for plugins
Krisztian Litkey [Thu, 3 May 2012 08:16:29 +0000 (11:16 +0300)]
common,core: support automatic console command registration for plugins

12 years agocommon/transport: address is const for resolve.
Krisztian Litkey [Thu, 3 May 2012 08:14:36 +0000 (11:14 +0300)]
common/transport: address is const for resolve.

12 years agocommon: receive-side buffering fixes, added tcp_resolve.
Krisztian Litkey [Thu, 3 May 2012 00:02:27 +0000 (03:02 +0300)]
common: receive-side buffering fixes, added tcp_resolve.

12 years agocommon: added a UDP transport to check if the abstraction is generic enough.
Krisztian Litkey [Wed, 2 May 2012 22:38:11 +0000 (01:38 +0300)]
common: added a UDP transport to check if the abstraction is generic enough.

12 years agocommon: preliminary resolve and bind support for transport layer.
Krisztian Litkey [Wed, 2 May 2012 22:36:42 +0000 (01:36 +0300)]
common: preliminary resolve and bind support for transport layer.

12 years agomurphy.conf: try-load the console plugin in the sample config file.
Krisztian Litkey [Wed, 2 May 2012 17:30:04 +0000 (20:30 +0300)]
murphy.conf: try-load the console plugin in the sample config file.

12 years agoplugins-test: added a few commands for console testing.
Krisztian Litkey [Wed, 2 May 2012 17:29:19 +0000 (20:29 +0300)]
plugins-test: added a few commands for console testing.

12 years agoAdded murphy-console, a client for the TCP console (plugin).
Krisztian Litkey [Wed, 2 May 2012 17:26:05 +0000 (20:26 +0300)]
Added murphy-console, a client for the TCP console (plugin).

12 years agoplugins: added a TCP-transport based console plugin.
Krisztian Litkey [Wed, 2 May 2012 17:20:37 +0000 (20:20 +0300)]
plugins: added a TCP-transport based console plugin.

12 years agocommon,core: include msg,transport,console to the convenience headers.
Krisztian Litkey [Wed, 2 May 2012 17:19:39 +0000 (20:19 +0300)]
common,core: include msg,transport,console to the convenience headers.

12 years agocore: added core console infra, a few basic commands for test.
Krisztian Litkey [Wed, 2 May 2012 17:14:12 +0000 (20:14 +0300)]
core: added core console infra, a few basic commands for test.

12 years agocommon: added a TCP transport implementation.
Krisztian Litkey [Wed, 2 May 2012 16:52:16 +0000 (19:52 +0300)]
common: added a TCP transport implementation.

12 years agocommon: added generic transport layer.
Krisztian Litkey [Wed, 2 May 2012 16:46:01 +0000 (19:46 +0300)]
common: added generic transport layer.

12 years agocommon: added msg.[hc], a (preliminary) message interface for transports.
Krisztian Litkey [Wed, 2 May 2012 16:43:30 +0000 (19:43 +0300)]
common: added msg.[hc], a (preliminary) message interface for transports.

12 years agodaemon: fix stupid array sizing thinko.
Krisztian Litkey [Wed, 2 May 2012 16:30:58 +0000 (19:30 +0300)]
daemon: fix stupid array sizing thinko.

12 years agocommon: comment type fix.
Krisztian Litkey [Wed, 2 May 2012 16:27:46 +0000 (19:27 +0300)]
common: comment type fix.

12 years agobuild: removed a bunch commented out conditionals.
Krisztian Litkey [Wed, 2 May 2012 16:24:02 +0000 (19:24 +0300)]
build: removed a bunch commented out conditionals.

12 years agomainloop: handle more gracefully if fd is closed before delete_io_watch.
Krisztian Litkey [Mon, 30 Apr 2012 12:38:57 +0000 (15:38 +0300)]
mainloop: handle more gracefully if fd is closed before delete_io_watch.

EPOLL_CTL_DEL sets errno to ENOENT if w->fd is closed (by the user)
after mrp_del_io_watch is called but before delete_io_watch gets around
to purge the watch and update our epoll bookkeeping. Don't treat this as
an error and avoid printing an error message.

12 years agocommon: changed realloc macro to preserve ptr upon failure akin to reallocz.
Krisztian Litkey [Fri, 27 Apr 2012 14:04:14 +0000 (17:04 +0300)]
common: changed realloc macro to preserve ptr upon failure akin to reallocz.

12 years agodaemon: potentially uninitialized var. fix.
Krisztian Litkey [Wed, 2 May 2012 14:01:56 +0000 (17:01 +0300)]
daemon: potentially uninitialized var. fix.

12 years agocommon: fix calloc-like macro to set memory to zero.
Krisztian Litkey [Thu, 26 Apr 2012 13:10:45 +0000 (16:10 +0300)]
common: fix calloc-like macro to set memory to zero.

12 years agocommon: added mrp_datadup.
Krisztian Litkey [Wed, 25 Apr 2012 23:24:24 +0000 (02:24 +0300)]
common: added mrp_datadup.

12 years agocommon: fix copy-paste typo in pkg-config file.
Krisztian Litkey [Mon, 30 Apr 2012 08:30:50 +0000 (11:30 +0300)]
common: fix copy-paste typo in pkg-config file.

12 years agocommon: fix incorrect include paths in log.[hc].
Krisztian Litkey [Mon, 30 Apr 2012 08:27:34 +0000 (11:27 +0300)]
common: fix incorrect include paths in log.[hc].

12 years agomurphy-db: make pkg-config link also against the base library.
Ismo Puustinen [Fri, 27 Apr 2012 10:55:30 +0000 (13:55 +0300)]
murphy-db: make pkg-config link also against the base library.

12 years agodocumentation: dblyxfix.py is now filtering <dummy> tags
Janos Kovacs [Tue, 24 Apr 2012 23:52:16 +0000 (02:52 +0300)]
documentation: dblyxfix.py is now filtering <dummy> tags

12 years agodocumentation: fixing some bugs to get the first version work
Janos Kovacs [Mon, 23 Apr 2012 03:44:18 +0000 (06:44 +0300)]
documentation: fixing some bugs to get the first version work

12 years agodocumentation: make clean will delete the copied svg files
Janos Kovacs [Mon, 23 Apr 2012 03:04:26 +0000 (06:04 +0300)]
documentation: make clean will delete the copied svg files

12 years agodocumentation: first version of document generation
Janos Kovacs [Mon, 23 Apr 2012 02:57:02 +0000 (05:57 +0300)]
documentation: first version of document generation

* pdf generation
* no doxygen support yet

12 years agomurphy-db: some cosmetic changes in mql-scanner.l
Janos Kovacs [Sat, 21 Apr 2012 16:53:38 +0000 (19:53 +0300)]
murphy-db: some cosmetic changes in mql-scanner.l

Some of the regexp's in mql-scanner.l got a facelift in order to produce
prettier ABNF description using abnf.py

12 years agomurphy: abnf.py script now uses both the flex and bison file to generate ABNF
Janos Kovacs [Sat, 21 Apr 2012 16:43:24 +0000 (19:43 +0300)]
murphy: abnf.py script now uses both the flex and bison file to generate ABNF

* flex support added for the automatic document generation, ie. ABNF is
  generated from the regexp's in the definition section
* more correct ABNF description is generated
* the output is directly includable into DocBook xml file

12 years agobuild: shave linker script generation.
Krisztian Litkey [Sat, 21 Apr 2012 09:46:08 +0000 (12:46 +0300)]
build: shave linker script generation.

12 years agocommon,core: added top-level convenience include files.
Krisztian Litkey [Sat, 21 Apr 2012 09:15:56 +0000 (12:15 +0300)]
common,core: added top-level convenience include files.

12 years agomainloop-test: enable logging.
Krisztian Litkey [Fri, 20 Apr 2012 18:11:45 +0000 (21:11 +0300)]
mainloop-test: enable logging.

12 years agomainloop: I/O watch removal fix (thinko + incorrect EPOLL_CTL_DEL).
Krisztian Litkey [Fri, 20 Apr 2012 18:11:31 +0000 (21:11 +0300)]
mainloop: I/O watch removal fix (thinko + incorrect EPOLL_CTL_DEL).

12 years agomainloop: fix I/O watch HUP processing.
Krisztian Litkey [Thu, 19 Apr 2012 20:29:59 +0000 (23:29 +0300)]
mainloop: fix I/O watch HUP processing.

(e)poll uses (E)POLLRDHUP for input direction close/shutdown. The event
enum now has HUP for (POLLHUP|POLLRDHUP).  RDHUP and WRHUP has been added
for POLLRDHUP and POLLHUP, respectively. Let's see if this will confuse
people...

12 years agobuild: don't PKG_CHECK for dbus-glib.
Krisztian Litkey [Thu, 19 Apr 2012 09:46:19 +0000 (12:46 +0300)]
build: don't PKG_CHECK for dbus-glib.

12 years agobuild: glib plugin needs glib, not dbus-glib.
Krisztian Litkey [Thu, 19 Apr 2012 09:45:21 +0000 (12:45 +0300)]
build: glib plugin needs glib, not dbus-glib.

12 years agodaemon: updated test config.
Krisztian Litkey [Thu, 19 Apr 2012 08:19:39 +0000 (11:19 +0300)]
daemon: updated test config.

12 years agobuild: generate/use linker scripts for murphy-db.
Krisztian Litkey [Thu, 19 Apr 2012 08:07:10 +0000 (11:07 +0300)]
build: generate/use linker scripts for murphy-db.

12 years agobuild: clean up built linker-scripts during clean.
Krisztian Litkey [Thu, 19 Apr 2012 08:06:17 +0000 (11:06 +0300)]
build: clean up built linker-scripts during clean.

12 years agobuild: linker-script generator pattern argument handling fix.
Krisztian Litkey [Thu, 19 Apr 2012 08:03:37 +0000 (11:03 +0300)]
build: linker-script generator pattern argument handling fix.

12 years agoshave: add support for lex/flex and yacc/bison.
Krisztian Litkey [Wed, 18 Apr 2012 15:14:31 +0000 (18:14 +0300)]
shave: add support for lex/flex and yacc/bison.

12 years agomurphy-db: mql syntax documentation
Janos Kovacs [Tue, 17 Apr 2012 01:11:59 +0000 (04:11 +0300)]
murphy-db: mql syntax documentation

First incarnation of the abnf.py which produces the grammar description
directly from mql-scanner.l and mql-parser.y. The lexer regexp's are not
translated to ABNF yet.

12 years agomurphy-db: mql transaction support
Janos Kovacs [Sun, 15 Apr 2012 20:45:26 +0000 (23:45 +0300)]
murphy-db: mql transaction support

Use of transaction names (eg. BEGIN foo; COMMIT foo; etc)
precompiled transaction statements (begin, commit and rollback).

12 years agomurphy-db: rest of mql transaction create routines
Janos Kovacs [Tue, 10 Apr 2012 23:23:30 +0000 (02:23 +0300)]
murphy-db: rest of mql transaction create routines

Test cases for string results only, ie. event result based
test cases are missing.

12 years agomurphy-db: triggers introduced
Janos Kovacs [Mon, 9 Apr 2012 20:07:15 +0000 (23:07 +0300)]
murphy-db: triggers introduced

mqi is fairily completei.
mql is just to see how the API will look like (only column change works)
cosmetic changes to confirm the agreed coding style (mostly typedef stuff).

12 years agomurphy-db: pkg-config support for murphy-db
Janos Kovacs [Sun, 25 Mar 2012 22:50:59 +0000 (01:50 +0300)]
murphy-db: pkg-config support for murphy-db

12 years agomurphy-db: cleanup the include file names and dependencies
Janos Kovacs [Sun, 25 Mar 2012 21:36:37 +0000 (00:36 +0300)]
murphy-db: cleanup the include file names and dependencies

12 years agomurphy-db: initial commit of the MurphyDB
Janos Kovacs [Sun, 25 Mar 2012 19:44:10 +0000 (22:44 +0300)]
murphy-db: initial commit of the MurphyDB

12 years agobuild: install .pc files & non-existing docs, honour libdir for plugins.
Krisztian Litkey [Tue, 17 Apr 2012 13:30:19 +0000 (16:30 +0300)]
build: install .pc files & non-existing docs, honour libdir for plugins.

Generate and install pkgconfig files. Honour ${libdir} in the default
plugin directory and make ${libdir} available also as a macro. Install
(the non-existing) documentation.

12 years agoplugins: add some of the missing functionality (plugin metadata, checks)
Krisztian Litkey [Fri, 13 Apr 2012 13:17:09 +0000 (16:17 +0300)]
plugins: add some of the missing functionality (plugin metadata, checks)

Added plugin and API versioning, singletons, author et al metadata,
API version check and singletonnes check. Started adding plugin states.

12 years agocommon: a simple directory scanning routine.
Krisztian Litkey [Fri, 13 Apr 2012 13:18:32 +0000 (16:18 +0300)]
common: a simple directory scanning routine.

12 years agoplugins: don't hardcode 'plugin-' prefix twice.
Krisztian Litkey [Thu, 12 Apr 2012 15:14:29 +0000 (18:14 +0300)]
plugins: don't hardcode 'plugin-' prefix twice.

12 years agoplugins: added basic support for plugin arguments.
Krisztian Litkey [Thu, 12 Apr 2012 10:48:53 +0000 (13:48 +0300)]
plugins: added basic support for plugin arguments.

12 years agocommon: more pedantic array allocation macros.
Krisztian Litkey [Thu, 12 Apr 2012 10:47:21 +0000 (13:47 +0300)]
common: more pedantic array allocation macros.

12 years agocore: don't log low-level load errors for non-existing plugins.
Krisztian Litkey [Tue, 10 Apr 2012 10:33:00 +0000 (13:33 +0300)]
core: don't log low-level load errors for non-existing plugins.

12 years agobuild: added brindging Makefiles to common, core, daemon and plugins.
Krisztian Litkey [Tue, 10 Apr 2012 10:26:33 +0000 (13:26 +0300)]
build: added brindging Makefiles to common, core, daemon and plugins.

12 years agodaemon: unified config directive handling, added info/warning/error directives.
Krisztian Litkey [Tue, 10 Apr 2012 10:02:46 +0000 (13:02 +0300)]
daemon: unified config directive handling, added info/warning/error directives.

12 years agodoc: added author info and coding style guide.
Krisztian Litkey [Fri, 6 Apr 2012 11:52:51 +0000 (14:52 +0300)]
doc: added author info and coding style guide.

12 years agobuild: removed unused Makefile.am's.
Krisztian Litkey [Fri, 6 Apr 2012 11:49:27 +0000 (14:49 +0300)]
build: removed unused Makefile.am's.

12 years agodaemon: added a config file for testing the parser.
Krisztian Litkey [Fri, 6 Apr 2012 11:44:15 +0000 (14:44 +0300)]
daemon: added a config file for testing the parser.

12 years agoplugins: added glib plugin.
Krisztian Litkey [Fri, 6 Apr 2012 11:42:30 +0000 (14:42 +0300)]
plugins: added glib plugin.

12 years agoplugins: added dbus core plugin.
Krisztian Litkey [Fri, 6 Apr 2012 11:41:20 +0000 (14:41 +0300)]
plugins: added dbus core plugin.

12 years agoplugins: a primitive plugin to test the loading/unloading infra.
Krisztian Litkey [Fri, 6 Apr 2012 11:39:58 +0000 (14:39 +0300)]
plugins: a primitive plugin to test the loading/unloading infra.

12 years agodaemon: skeleton of the daemon, config parsing.
Krisztian Litkey [Fri, 6 Apr 2012 11:36:55 +0000 (14:36 +0300)]
daemon: skeleton of the daemon, config parsing.

12 years agocommon: added utils for misc. routines (currently just daemonization).
Krisztian Litkey [Fri, 6 Apr 2012 11:33:58 +0000 (14:33 +0300)]
common: added utils for misc. routines (currently just daemonization).

12 years agocore: initial parts of the murphy plugin implementation.
Krisztian Litkey [Fri, 6 Apr 2012 11:30:39 +0000 (14:30 +0300)]
core: initial parts of the murphy plugin implementation.

12 years agocore: added murphy context.
Krisztian Litkey [Fri, 6 Apr 2012 11:28:58 +0000 (14:28 +0300)]
core: added murphy context.

12 years agocommon/tests: ad-hoc mainloop test, with a GLIB and a DBUS pumps.
Krisztian Litkey [Fri, 6 Apr 2012 11:26:01 +0000 (14:26 +0300)]
common/tests: ad-hoc mainloop test, with a GLIB and a DBUS pumps.

12 years agocommon/tests: added and ad-hoc hash table test.
Krisztian Litkey [Fri, 6 Apr 2012 11:22:35 +0000 (14:22 +0300)]
common/tests: added and ad-hoc hash table test.

12 years agocommon/tests: added and ad-hoc memory management test.
Krisztian Litkey [Fri, 6 Apr 2012 11:21:45 +0000 (14:21 +0300)]
common/tests: added and ad-hoc memory management test.

12 years agocommon: first implementation of the murphy mainloop.
Krisztian Litkey [Fri, 6 Apr 2012 11:15:26 +0000 (14:15 +0300)]
common: first implementation of the murphy mainloop.

12 years agocommon: added a simple hash table implementation.
Krisztian Litkey [Fri, 6 Apr 2012 11:13:36 +0000 (14:13 +0300)]
common: added a simple hash table implementation.

12 years agocommon: added a simple memory management wrapper/module
Krisztian Litkey [Fri, 6 Apr 2012 11:06:48 +0000 (14:06 +0300)]
common: added a simple memory management wrapper/module

By default, it passes calls through to malloc et al. If run in
debugging mode (by setting the __MURPHY_MM_CONFIG=debug) the
module keeps track of memory allocations, and can be used to
detect and report memory leaks.

The same memory management module currently also provides a page-
based object pool implementation.

12 years agocommon: added a simple logging implementation.
Krisztian Litkey [Fri, 6 Apr 2012 11:04:09 +0000 (14:04 +0300)]
common: added a simple logging implementation.

12 years agocommon: added a simple doubly-linked list implementation.
Krisztian Litkey [Fri, 6 Apr 2012 11:02:00 +0000 (14:02 +0300)]
common: added a simple doubly-linked list implementation.

12 years agocommon: added some commonly used macros.
Krisztian Litkey [Fri, 6 Apr 2012 11:00:24 +0000 (14:00 +0300)]
common: added some commonly used macros.

12 years agoSkeleton repo.
Krisztian Litkey [Tue, 13 Mar 2012 14:55:45 +0000 (16:55 +0200)]
Skeleton repo.