dbus-ada.git
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

9 years agoUpdate README file for 0.1 release v0.1
Reto Buerki [Thu, 1 Dec 2011 17:13:56 +0000 (18:13 +0100)]
Update README file for 0.1 release

9 years agoRemove debug output from D-Bus rebounder
Reto Buerki [Thu, 1 Dec 2011 16:35:26 +0000 (17:35 +0100)]
Remove debug output from D-Bus rebounder

9 years agoInstall dbus-rebound to obj/tests/rebounder
Reto Buerki [Thu, 1 Dec 2011 16:33:29 +0000 (17:33 +0100)]
Install dbus-rebound to obj/tests/rebounder

9 years agoMinor: Cosmetic fixes
Adrian-Ken Rueegsegger [Thu, 1 Dec 2011 16:26:56 +0000 (17:26 +0100)]
Minor: Cosmetic fixes

9 years agoMakefile: Sort list of PHONY targets
Reto Buerki [Thu, 1 Dec 2011 14:54:52 +0000 (15:54 +0100)]
Makefile: Sort list of PHONY targets

9 years agoMakefile: Add dist target
Reto Buerki [Thu, 1 Dec 2011 14:52:25 +0000 (15:52 +0100)]
Makefile: Add dist target

9 years agoAdd .gitattributes file
Reto Buerki [Thu, 1 Dec 2011 14:39:18 +0000 (15:39 +0100)]
Add .gitattributes file

9 years agoAdd -fPIC to Compiler_Switches in thin project
Reto Buerki [Thu, 1 Dec 2011 14:07:29 +0000 (15:07 +0100)]
Add -fPIC to Compiler_Switches in thin project

9 years agoUse 'obj/lib' as Object_Dir in library project
Reto Buerki [Thu, 1 Dec 2011 14:06:36 +0000 (15:06 +0100)]
Use 'obj/lib' as Object_Dir in library project

9 years agoMakefile: Move PKGCONF flags after source filename
Reto Buerki [Thu, 1 Dec 2011 12:21:48 +0000 (13:21 +0100)]
Makefile: Move PKGCONF flags after source filename

9 years agoConnection: Fix Call_Blocking function
Reto Buerki [Thu, 1 Dec 2011 11:45:44 +0000 (12:45 +0100)]
Connection: Fix Call_Blocking function

Deserialize reply arguments from reply message not from method call
message.

9 years agoUse code of caller example in html doc
Reto Buerki [Thu, 1 Dec 2011 10:19:02 +0000 (11:19 +0100)]
Use code of caller example in html doc

9 years agoMinor corrections in README file
Reto Buerki [Thu, 1 Dec 2011 10:18:29 +0000 (11:18 +0100)]
Minor corrections in README file