dbus-ada.git
11 months agoStrip stdarg_h.Class_va_list again from thin binding master
Nicolas Boulenguez [Mon, 16 Nov 2020 16:32:59 +0000 (17:32 +0100)]
Strip stdarg_h.Class_va_list again from thin binding

The part of the script in charge of this removal was introduced in
order to work-around a bug in the GCC binding generator on several
architectures.

Commit a1c8a32e5c28f07fe6ac5b8c981a301df6245867 did remove this part
because the bug appeared to be fixed by GCC-10.  It actually still
bites on ARM.

12 months agoSet version to 0.6.0 v0.6.0
Reto Buerki [Fri, 23 Oct 2020 05:38:23 +0000 (07:38 +0200)]
Set version to 0.6.0

12 months agoAdd Message dispatchers
Reto Buerki [Mon, 19 Oct 2020 16:14:30 +0000 (18:14 +0200)]
Add Message dispatchers

The packages in the Message_Dispatcher hierarchy can be used to
implement a non-blocking D-Bus service which reacts to methods and
signals, without the need for the Glib main event loop. Furthermore, the
new framework is more flexible than the existing Connection.Dispatch
procedure.

Clients choose between a procedure- or object-oriented dispatcher variant,
depending on the application requirements.

The Glib-based dispatching, D_Bus.Service and Connection.Dispatch might
be removed in the future.

12 months agoProvide protected messagebox
Reto Buerki [Mon, 19 Oct 2020 09:42:09 +0000 (11:42 +0200)]
Provide protected messagebox

The Messagebox.Msg_Box_Type provides protected storage of D-Bus messages
via the Enqueue/Consume operations. It is meant to be used for tasked
processing of D-Bus messages.

The Messabox package also provides a pre-instantiated, ready to use
messagebox if only one is required in an application.

12 months agoAdd Messages.Ref function
Reto Buerki [Mon, 19 Oct 2020 09:01:57 +0000 (11:01 +0200)]
Add Messages.Ref function

Used to increase the reference count of the underlying D-Bus message.

12 months agoMake Connection_Type non-limited
Reto Buerki [Mon, 19 Oct 2020 08:53:03 +0000 (10:53 +0200)]
Make Connection_Type non-limited

This further simplifies the handling of D-Bus connections in Ada
applications. Rationale: Objects like connections and messages are
ref'counted in the underlying libdbus lib, so copying them is legal as
long as the reference counting is done correctly (using the Ref/Unref
operations).

The Connection_Type does not yet provide such operations, so a
connection variable, which is copied, always refers to the same
underlying D-Bus connection, whereas the lifetime of the connection
spans from Connect() to application exit.

12 months agoDo not force initialization of Connection_Type
Reto Buerki [Wed, 7 Oct 2020 13:43:10 +0000 (15:43 +0200)]
Do not force initialization of Connection_Type

Be less strict and allow the declaration of an 'unconnected' connection.
This is e.g. required to use the type in a record field (which is
perfectly legal if the record is constructed correctly).

12 months agoAdd Messages.Is_Signal function
Reto Buerki [Wed, 7 Oct 2020 13:55:28 +0000 (15:55 +0200)]
Add Messages.Is_Signal function

12 months agoAdjust Is_Method_Call function
Reto Buerki [Wed, 7 Oct 2020 13:50:40 +0000 (15:50 +0200)]
Adjust Is_Method_Call function

Directly wrap the thin dbus_message_is_method_call function.

12 months agoUpdate thin binding generator for g++-10
Nicolas Boulenguez [Sun, 27 Sep 2020 09:13:55 +0000 (11:13 +0200)]
Update thin binding generator for g++-10

Also, update thin binding sources using adjusted generator.

12 months agodoc: Simplify build
Reto Buerki [Fri, 22 Nov 2019 08:42:50 +0000 (09:42 +0100)]
doc: Simplify build

- Create DESTDIR using order-only prereq
- Move asciidoctor attributes to index file
- Stop setting TZ=UTC (asciidoctor now deals with SOURCE_DATE_EPOCH)

12 months agodoc: Get rid of fontawesome
Reto Buerki [Fri, 22 Nov 2019 08:39:52 +0000 (09:39 +0100)]
doc: Get rid of fontawesome

Not required for now (no note icons etc).

18 months agoCreate $(OBJDIR)/tests using order-only prereq
Reto Buerki [Mon, 6 Apr 2020 07:41:48 +0000 (09:41 +0200)]
Create $(OBJDIR)/tests using order-only prereq

Fixes race in 'tests' target.

2 years agoMove Connection.Dispatch procedure to separate file v0.5.0
Reto Buerki [Wed, 16 Oct 2019 14:24:51 +0000 (16:24 +0200)]
Move Connection.Dispatch procedure to separate file

In order to support C-style callbacks, the procedure must pass
access-to-subprograms to the dbus_connection_add_filter procedure.

This might, depending on the toolchain, lead to code trampolines and as
a result, to an executable stack. For more details read the
"No_Implicit_Dynamic_Code" section in the GNAT Reference Manual.

Therefore, move the procedure to a separate file which avoids this
effect for callers not using the Dispatch API.

2 years agoSet version to 0.5.0
Reto Buerki [Mon, 30 Sep 2019 18:15:36 +0000 (20:15 +0200)]
Set version to 0.5.0

2 years agoUpdate release signing key information
Adrian-Ken Rueegsegger [Mon, 30 Sep 2019 20:06:24 +0000 (22:06 +0200)]
Update release signing key information

2 years agoUpdate copyright information in README
Reto Buerki [Mon, 30 Sep 2019 18:16:54 +0000 (20:16 +0200)]
Update copyright information in README

2 years agoProvide Messages.Unref procedure
Reto Buerki [Mon, 30 Sep 2019 17:58:32 +0000 (19:58 +0200)]
Provide Messages.Unref procedure

If a given msg is not Null_Message, call dbus_message_unref and set
internal thin message field to null.

2 years agoImplement Connection.Pop_Message
Reto Buerki [Mon, 30 Sep 2019 17:50:15 +0000 (19:50 +0200)]
Implement Connection.Pop_Message

Returns the first-received message from the incoming message queue,
removing it from the queue. The caller owns a reference to the returned
message. If the queue is empty, Null_Message is returned.

2 years agoProvide Connection.Read_Write function
Reto Buerki [Mon, 30 Sep 2019 17:41:46 +0000 (19:41 +0200)]
Provide Connection.Read_Write function

The function return value indicates whether reading or writing is still
possible for the specified connection, i.e. whether the connection is
connected.

This is a wrapper for dbus_connection_read_write(), see the D-Bus API
doc for more details.

2 years agoAdd Messages.Is_Null function
Reto Buerki [Mon, 30 Sep 2019 17:27:37 +0000 (19:27 +0200)]
Add Messages.Is_Null function

Returns True if the given message is nil.

2 years agoAdd Messages.To_Thick helper
Reto Buerki [Mon, 30 Sep 2019 17:25:22 +0000 (19:25 +0200)]
Add Messages.To_Thick helper

2 years agoAdd Null_Message constant
Reto Buerki [Mon, 30 Sep 2019 17:23:02 +0000 (19:23 +0200)]
Add Null_Message constant

2 years agoAdd Get_Element getter to Argument_List_Type
Reto Buerki [Mon, 30 Sep 2019 16:33:43 +0000 (18:33 +0200)]
Add Get_Element getter to Argument_List_Type

The Get_Element function returns an argument at given index. If no
element exists at the specified index, an exception is raised.

List index range is 1 .. Get_Count().

2 years agoRename No_Arguments exception to Arguments_Error
Reto Buerki [Mon, 30 Sep 2019 16:16:35 +0000 (18:16 +0200)]
Rename No_Arguments exception to Arguments_Error

2 years agoDrop unused Invalid_Message exception
Reto Buerki [Mon, 30 Sep 2019 16:15:23 +0000 (18:15 +0200)]
Drop unused Invalid_Message exception

2 years agoMinor: Fix indentation in server example
Reto Buerki [Mon, 30 Sep 2019 16:14:11 +0000 (18:14 +0200)]
Minor: Fix indentation in server example

2 years agoMake timeout an argument of Call_Blocking
Reto Buerki [Fri, 12 Jul 2019 15:01:58 +0000 (17:01 +0200)]
Make timeout an argument of Call_Blocking

Allows custom timeouts to clients. The default is applied if the
argument is not specified.

2 years agoPrefix Check exception message with D-Bus error name
Reto Buerki [Fri, 12 Jul 2019 14:28:16 +0000 (16:28 +0200)]
Prefix Check exception message with D-Bus error name

2 years agoConvert webpage from asciidoc to asciidoctor
Reto Buerki [Thu, 2 May 2019 18:20:10 +0000 (20:20 +0200)]
Convert webpage from asciidoc to asciidoctor

3 years agoRemove reference to stdarg_h from thin binding
Nicolas Boulenguez [Tue, 11 Sep 2018 14:59:15 +0000 (16:59 +0200)]
Remove reference to stdarg_h from thin binding

Some functions are generated on some architectures, that require the
non-existent stdarg.h, and are not used by dbusada. Simply remove them
when they are generated.

This was included in the first commit introducing the generator script
(7c218ad), but removed by error by the commit switching from g++-7 to
g++-8 (b1311d7).

3 years agoSet version to 0.4.2 v0.4.2
Reto Buerki [Tue, 4 Sep 2018 11:12:40 +0000 (13:12 +0200)]
Set version to 0.4.2

3 years agoRefresh the binding source for g++-8
Nicolas Boulenguez [Mon, 3 Sep 2018 19:05:24 +0000 (21:05 +0200)]
Refresh the binding source for g++-8

3 years agoRegenerate thin binding with Debian g++ 8.2.0-4
Reto Buerki [Mon, 3 Sep 2018 18:52:36 +0000 (20:52 +0200)]
Regenerate thin binding with Debian g++ 8.2.0-4

Use the generate-thin-binding.sh script to regenerate the thin binding
using g++ version (Debian 8.2.0-4) 8.2.0.

3 years agoAdjust generate-thin-binding.sh for g++-8
Reto Buerki [Mon, 3 Sep 2018 18:42:42 +0000 (20:42 +0200)]
Adjust generate-thin-binding.sh for g++-8

3 years agoRemove -gnat05 compiler flag and Ada_2005 pragmas
Adrian-Ken Rueegsegger [Fri, 10 Aug 2018 12:15:27 +0000 (14:15 +0200)]
Remove -gnat05 compiler flag and Ada_2005 pragmas

GNAT Community Edition 2018 does not recognize these any longer.

3 years agoSwitch codelabs URLs to HTTPS
Reto Buerki [Mon, 3 Sep 2018 18:37:21 +0000 (20:37 +0200)]
Switch codelabs URLs to HTTPS

3 years agoDocument the way the thin binding has been generated
Nicolas Boulenguez [Tue, 24 Jul 2018 12:20:21 +0000 (14:20 +0200)]
Document the way the thin binding has been generated

This will hopefully help users to rebuild, then the maintainers to
merge their changes back.

3 years agoSet version to 0.4.1 v0.4.1
Reto Buerki [Thu, 9 Aug 2018 08:18:40 +0000 (10:18 +0200)]
Set version to 0.4.1

3 years agoUse Leading_Library_Options for LDFLAGS
Reto Buerki [Thu, 9 Aug 2018 09:46:03 +0000 (11:46 +0200)]
Use Leading_Library_Options for LDFLAGS

3 years agoSwitch from gnatmake to gprbuild
Reto Buerki [Thu, 9 Aug 2018 08:12:39 +0000 (10:12 +0200)]
Switch from gnatmake to gprbuild

3 years agoInstall libraries with write permissions for user
Nicolas Boulenguez [Tue, 24 Jul 2018 12:20:21 +0000 (14:20 +0200)]
Install libraries with write permissions for user

The installer is supposed to be root, there is no point in forbidding
write. This also disrupts the Debian build process.

3 years agoClarify passing of build flags
Nicolas Boulenguez [Tue, 24 Jul 2018 12:20:21 +0000 (14:20 +0200)]
Clarify passing of build flags

3 years agoUpdate copyright information in README
Reto Buerki [Wed, 8 Aug 2018 10:15:17 +0000 (12:15 +0200)]
Update copyright information in README

3 years agoDrop unused use type clauses
Adrian-Ken Rueegsegger [Fri, 6 Oct 2017 13:21:53 +0000 (15:21 +0200)]
Drop unused use type clauses

4 years agoSet version to 0.4 v0.4.0
Reto Buerki [Mon, 17 Jul 2017 07:07:25 +0000 (09:07 +0200)]
Set version to 0.4

4 years agoUpdate thin binding
Reto Buerki [Fri, 7 Jul 2017 09:43:16 +0000 (11:43 +0200)]
Update thin binding

Re-generate thin binding on Debian GNU/Linux 9 (stretch) x86_64 using
the GNAT GPL 2017 g++ compiler:

  $ g++ -fdump-ada-spec ../dbus/dbus.h -I ..

Manual changes to the thin binding files:
- Fix unreferenced Interfaces.C warnings
- Drop incorrect nullptr_t declaration

Adjust all call sites accordingly.

4 years agoMake static library build work with GPL 2017
Reto Buerki [Mon, 19 Jun 2017 12:51:02 +0000 (14:51 +0200)]
Make static library build work with GPL 2017

5 years agoFix implicit declaration of 'g_unlink' warning
Reto Buerki [Fri, 8 Jul 2016 12:53:36 +0000 (14:53 +0200)]
Fix implicit declaration of 'g_unlink' warning

5 years agoSet version to 0.3.3 v0.3.3
Reto Buerki [Fri, 8 Jul 2016 09:44:18 +0000 (11:44 +0200)]
Set version to 0.3.3

5 years agoAllow for flexible configuration of gnatmake params
Reto Buerki [Fri, 8 Jul 2016 10:56:34 +0000 (12:56 +0200)]
Allow for flexible configuration of gnatmake params

5 years agoSet TZ=UTC before calling asciidoc
Reto Buerki [Fri, 8 Jul 2016 08:51:36 +0000 (10:51 +0200)]
Set TZ=UTC before calling asciidoc

This is required to support reproducible builds in Debian. Thanks to
Eduard Sanou for the patch.

5 years agoSet version to 0.3.2 v0.3.2
Reto Buerki [Tue, 16 Feb 2016 07:49:53 +0000 (08:49 +0100)]
Set version to 0.3.2

5 years agoAdd -ldbus-1 to Linker_Options in gnat/dbus_ada.gpr
Reto Buerki [Mon, 15 Feb 2016 14:29:18 +0000 (15:29 +0100)]
Add -ldbus-1 to Linker_Options in gnat/dbus_ada.gpr

5 years agoUpdate copyright information in README v0.3.1
Reto Buerki [Thu, 5 Nov 2015 07:45:42 +0000 (08:45 +0100)]
Update copyright information in README

5 years agoIntroduce and set revision to 1
Reto Buerki [Thu, 5 Nov 2015 07:33:22 +0000 (08:33 +0100)]
Introduce and set revision to 1

The new dbus-ada version number now has a revision besides major and
minor numbers. The version is set to 0.3.1.

5 years agoDrop nm_dhcp_client_action example
Reto Buerki [Thu, 5 Nov 2015 07:40:35 +0000 (08:40 +0100)]
Drop nm_dhcp_client_action example

For examples on how to interact with NetworkManager using D_Bus/Ada see
the D-Bus notifiers in the ADHCP [1] project.

[1] - http://www.codelabs.ch/adhcp/

5 years agoProvide Connection.Flush procedure
Reto Buerki [Mon, 21 Sep 2015 13:12:55 +0000 (15:12 +0200)]
Provide Connection.Flush procedure

7 years agoUse static library in examples target
Reto Buerki [Tue, 2 Sep 2014 20:32:13 +0000 (22:32 +0200)]
Use static library in examples target

7 years agoPass external libs as Linker_Options in examples project
Reto Buerki [Tue, 2 Sep 2014 20:24:42 +0000 (22:24 +0200)]
Pass external libs as Linker_Options in examples project

7 years agoPass external libs as Linker_Options in test project
Reto Buerki [Tue, 2 Sep 2014 20:11:04 +0000 (22:11 +0200)]
Pass external libs as Linker_Options in test project

This fixes build errors on Ubuntu as it has -Wl,--as-needed enabled by
default and somehow gnatmake does not get the ordering right when using
Linker.Default_Switches.

7 years agoBump version to 0.3 v0.3
Reto Buerki [Thu, 14 Aug 2014 12:38:12 +0000 (14:38 +0200)]
Bump version to 0.3

7 years agoInclude thin binding sources in d_bus_ada_lib project
Reto Buerki [Thu, 14 Aug 2014 14:14:25 +0000 (16:14 +0200)]
Include thin binding sources in d_bus_ada_lib project

Do not build a separate library for the thin binding.

7 years agoSilence 'unused Interfaces.C' warnings in thin packages
Reto Buerki [Thu, 14 Aug 2014 14:06:57 +0000 (16:06 +0200)]
Silence 'unused Interfaces.C' warnings in thin packages

7 years agoDisable style checks for thin packages
Reto Buerki [Thu, 14 Aug 2014 14:06:16 +0000 (16:06 +0200)]
Disable style checks for thin packages

7 years agoPass optional ADAFLAGS to compiler in build_lib
Reto Buerki [Thu, 14 Aug 2014 12:36:53 +0000 (14:36 +0200)]
Pass optional ADAFLAGS to compiler in build_lib

7 years agoRemove unneeded (implicit) .PHONY targets
Reto Buerki [Thu, 14 Aug 2014 12:35:54 +0000 (14:35 +0200)]
Remove unneeded (implicit) .PHONY targets

7 years agoPass optional LDFLAGS to library project files
Reto Buerki [Thu, 14 Aug 2014 12:34:47 +0000 (14:34 +0200)]
Pass optional LDFLAGS to library project files

7 years agoUpdate licence in README
Reto Buerki [Thu, 14 Aug 2014 12:05:46 +0000 (14:05 +0200)]
Update licence in README

7 years agoFix 'wrong convention' compiler misunderstandings
Reto Buerki [Thu, 14 Aug 2014 11:48:54 +0000 (13:48 +0200)]
Fix 'wrong convention' compiler misunderstandings

The way conventions are handled with anonymous access-to-subprograms
must have changed with gnat-4.9. Fix the problem by explicitly
specifying the conventions for dbus_connection_h.DBusObjectPathVTable
access-to-subprogram fields.

For more details see GNAT RM, section 8.17 'Conventions and Anonymous
Access Types'.

7 years agoAlso eavesdrop on error messages
Reto Buerki [Thu, 14 Aug 2014 11:45:43 +0000 (13:45 +0200)]
Also eavesdrop on error messages

7 years agoAdd eavesdrop=true attribute to monitor match rules
Reto Buerki [Thu, 14 Aug 2014 11:38:31 +0000 (13:38 +0200)]
Add eavesdrop=true attribute to monitor match rules

The attribute is required to receive messages that were not explicitly
addressed to a name the application owns, or replies to such messages.

7 years agoLet clientsub example use the test service interface
Reto Buerki [Thu, 14 Aug 2014 11:37:22 +0000 (13:37 +0200)]
Let clientsub example use the test service interface

8 years agoUpdate PGP pubkey in README
Reto Buerki [Fri, 18 Oct 2013 10:26:38 +0000 (12:26 +0200)]
Update PGP pubkey in README

8 years agoUpdate README
Adrian-Ken Rueegsegger [Thu, 17 Oct 2013 13:50:07 +0000 (15:50 +0200)]
Update README

9 years agoAdd constructor functions for OBJECT_PATH argument
Reto Buerki [Wed, 8 Aug 2012 08:07:01 +0000 (10:07 +0200)]
Add constructor functions for OBJECT_PATH argument

9 years agoConnection: Use Obj_Path type instead of String
Reto Buerki [Wed, 8 Aug 2012 07:44:06 +0000 (09:44 +0200)]
Connection: Use Obj_Path type instead of String

9 years agoAdd Obj_Path type
Reto Buerki [Wed, 8 Aug 2012 07:21:43 +0000 (09:21 +0200)]
Add Obj_Path type

This type is used to ensure that D-Bus Object_Path_Type arguments can
only be constructed using a valid object path.

The Is_Valid function in the new Types package implements the additional
OBJECT_PATH tests described in the D-Bus specification, section "Valid
Object Paths".

9 years agoAdd preliminary support for OBJECT_PATH arguments
Alexander Senier [Tue, 7 Aug 2012 20:17:10 +0000 (22:17 +0200)]
Add preliminary support for OBJECT_PATH arguments

TBD: Implement the checks for object path validity defined in D-Bus spec

9 years agoRemove Binder package from library projects
Reto Buerki [Fri, 30 Mar 2012 09:17:04 +0000 (11:17 +0200)]
Remove Binder package from library projects

The GNAT binder gnatbind is only called for main programs not libraries.

9 years agoInclude d_bus_ada_lib.gpr in test project file
Reto Buerki [Tue, 27 Mar 2012 15:32:22 +0000 (17:32 +0200)]
Include d_bus_ada_lib.gpr in test project file

Drop unneeded thin/build.gpr project file. The test runner binary is
linked using the static version of the libs.

9 years agoBuild dynamic/static libs in separate Obj/Lib dirs
Reto Buerki [Mon, 26 Mar 2012 16:24:21 +0000 (18:24 +0200)]
Build dynamic/static libs in separate Obj/Lib dirs

This avoids position-independent code (PIC) in the static libraries.

9 years agoInstall libs to $(PREFIX)/lib directory
Reto Buerki [Wed, 29 Feb 2012 14:17:17 +0000 (15:17 +0100)]
Install libs to $(PREFIX)/lib directory

9 years agoDrop incorrect libdbusada-thin.so.0 symlink
Reto Buerki [Mon, 20 Feb 2012 10:00:24 +0000 (11:00 +0100)]
Drop incorrect libdbusada-thin.so.0 symlink

The current library SONAME is libdbusada-thin.so.0.2, not
libdbusada-thin.so.0.

9 years agoDrop incorrect libdbusada.so.0 symlink
Reto Buerki [Mon, 20 Feb 2012 09:57:13 +0000 (10:57 +0100)]
Drop incorrect libdbusada.so.0 symlink

The current library SONAME is libdbusada.so.0.2, not libdbusada.so.0.

9 years agoTreat warnings as errors when compiling library
Reto Buerki [Fri, 17 Feb 2012 13:30:32 +0000 (14:30 +0100)]
Treat warnings as errors when compiling library

9 years agoDefine default Binder switches
Reto Buerki [Wed, 15 Feb 2012 15:34:09 +0000 (16:34 +0100)]
Define default Binder switches

9 years agoSet minor version to 2 v0.2
Reto Buerki [Thu, 15 Dec 2011 09:35:17 +0000 (10:35 +0100)]
Set minor version to 2

9 years agoAdd TODO item
Reto Buerki [Thu, 15 Dec 2011 09:25:42 +0000 (10:25 +0100)]
Add TODO item

9 years agoDoc: Remove div id 'content' from page.conf
Reto Buerki [Tue, 6 Dec 2011 16:21:17 +0000 (17:21 +0100)]
Doc: Remove div id 'content' from page.conf

9 years agoDoc: Add page.conf as index.html dependency
Reto Buerki [Tue, 6 Dec 2011 16:20:44 +0000 (17:20 +0100)]
Doc: Add page.conf as index.html dependency

9 years agoAdd TODO item
Reto Buerki [Tue, 6 Dec 2011 08:01:05 +0000 (09:01 +0100)]
Add TODO item

9 years agoUnify naming of container constructor functions
Reto Buerki [Mon, 5 Dec 2011 21:19:40 +0000 (22:19 +0100)]
Unify naming of container constructor functions

"+": Create a new argument list from given argument
"&": Append an argument to an existing list

9 years agoNotify: Construct D-Bus arguments in place
Reto Buerki [Mon, 5 Dec 2011 21:14:11 +0000 (22:14 +0100)]
Notify: Construct D-Bus arguments in place

9 years agoNotify: Print returned notification ID
Reto Buerki [Mon, 5 Dec 2011 20:58:43 +0000 (21:58 +0100)]
Notify: Print returned notification ID

9 years agoAdd desktop notification example
Reto Buerki [Mon, 5 Dec 2011 20:35:14 +0000 (21:35 +0100)]
Add desktop notification example

Thanks to Tero Koskinen for his example code and the permission to
include it.

9 years agoAdd licence section to README
Reto Buerki [Mon, 5 Dec 2011 12:21:29 +0000 (13:21 +0100)]
Add licence section to README

As suggested by Yannick DuchĂȘne, thanks for the feedback!

9 years agoAdd licence header to dbus-rebound.c
Reto Buerki [Mon, 5 Dec 2011 11:53:28 +0000 (12:53 +0100)]
Add licence header to dbus-rebound.c

9 years agoUpdate project description
Reto Buerki [Mon, 5 Dec 2011 09:49:10 +0000 (10:49 +0100)]
Update project description

9 years agoUpdate README
Reto Buerki [Thu, 1 Dec 2011 20:48:22 +0000 (21:48 +0100)]
Update README