Chris Josten
a1f3a16af3
Add libdbus as dependency of the library
...
Not adding this causes linker errors
2021-03-02 01:19:00 +01:00
Chris Josten
e4ff08ba9d
Move dependency declaration to top-level meson file
...
Otherwise meson won't detect it.
2021-03-01 15:40:04 +01:00
Chris Josten
e70d535168
Declare ddbus Meson dependency
...
* Declare ddbus_dep, so it can be used as a Meson subproject
2021-03-01 15:27:39 +01:00
Chris Josten
168bc0eb81
DBus variant File descriptor storage more explicit
...
Also added constants for the stdin, stdout, stderr filenos
2021-01-22 01:27:40 +01:00
Chris Josten
95a29d0578
Merge branch 'master' of https://github.com/trishume/ddbus
2021-01-22 00:30:12 +01:00
Chris Josten
3b1cc9b453
Added FileDescriptor support
...
Some DBus methods return file descriptors, such as
"org.freedesktop.login1.Manager.Inhibit". This commit adds support for
these.
I followed the same enum type defining pattern I've seen in the code,
such as with InterfaceNames and BusNames, to prevent integers and
fileDescriptors implicitly casting to each other.
Note that it is kinda hard to test with reading and writing
fileDescriptors, as DBus will duplicate the file descriptor
when reading, leading to relatively unpredicatable behaviour.
I also must admit I focussed most of my attention to reading file
descriptors and less to writing file descriptors, as I don't know a good
way to test those.
2021-01-22 00:20:43 +01:00
WebFreak001
2fde2e12af
fix immutable/const types & add type convenience
...
Before it was not properly possible to use
static immutable name = interfaceName(...)
in a message, which is now fixed
2021-01-12 11:04:34 +01:00
H. S. Teoh
50a517f4fb
Replace 'byte' with 'ubyte'.
...
Because 'y' is unsigned in the DBus spec.
2021-01-12 01:40:07 -08:00
Rasmus Thomsen
0fd4db1067
Add support for building with meson
...
fixes #44
2020-03-20 14:59:09 +01:00
WebFreak001
4997fb4ad3
Fix deprecation warning of std.digest
...
std.digest.digest got renamed in 2.076.0
https://dlang.org/changelog/2.076.0.html#std-digest-package
2019-03-30 17:58:36 +01:00
WebFreak001
db86451c7f
safer API with ObjectPath, InterfaceName, BusName
...
the busName and interfacePath types transparently cast down to a string,
(but not the other way around) so they are a perfect upgrade to
type-safety. The only downside to them is that templates can often get
them wrong. std.conv.to will return with a cast(T) prefix, which could
slightly break existing code.
I think the type-safety advantages are outweighing this corner case
though. The current API has been fully upgraded and examples still run
and work.
2019-03-17 10:33:55 +01:00
WebFreak001
958939ace1
Fix destructors on uninitialized structs
2018-08-18 20:55:42 +02:00
WebFreak001
1769c2e0d6
Fix introspection crash when binding on /
2018-03-25 11:26:23 +02:00
Jan Jurzitza
100ce3e60d
Merge branch 'master' into replace-body-with-do
2018-03-19 09:04:33 +01:00
Harry T. Vennik
9c34742d96
Fix bug in get
for arrays
...
Fixes #34
2017-12-20 06:24:32 +01:00
Harry T. Vennik
0841ac69de
Also use get
in array conversion
2017-12-20 06:24:32 +01:00
Harry T. Vennik
238db94916
Update unittest
2017-12-20 06:24:32 +01:00
Harry T. Vennik
9b408732ec
Added struct support to DBusAny
2017-12-20 06:24:32 +01:00
Harry T. Vennik
c015f0ce15
Improved documentation comments
...
- Reformat
- Added warning against usage of direct DBusAny constructor in user code
2017-12-20 06:24:32 +01:00
Harry T. Vennik
0570898602
Refactor DBusAny.to!T()
2017-12-20 06:24:32 +01:00
Harry Vennik
137b3c36b7
Improved code formatting ( #33 )
...
- Used dfmt (otbs style)
- Added some empty lines and braces on all block statements
- Add .editorconfig
Closes #29
2017-12-18 19:19:27 +01:00
Jan Jurzitza
1a5df56a42
Merge pull request #31 from kubo39/exampledir
...
Create example directory and separate client/server.
2017-12-07 19:45:49 +01:00
Hiroki Noda
a3dcda5741
Replace body with do.
2017-12-05 22:14:08 +09:00
Hiroki Noda
9007eacdf3
Create example directory and separate client/server.
2017-12-04 05:30:52 +09:00
Hiroki Noda
30e053db2a
Add sendWithReplyBlocking overload taking a Duration.
2017-12-03 19:41:41 +09:00
thaven
ce7716463d
Add get!T method to DBusAny ( #27 )
...
* Add ddbus.util.BasicTypes
* Implement DBusAny.get and DBusAny.typeSig
* Add unittest for DBusAny.get
* Make TypeMismatchException constructor public
2017-11-11 11:42:55 +01:00
thaven
99cb6cb071
Allow structs with non-marshaled non-canDBus fields ( #28 )
2017-11-04 15:12:56 +01:00
thaven
279c3ab00b
Merge pull request #25 from trishume/objpath-improv2
...
ObjectPath Improvements
2017-11-04 11:01:07 +01:00
Harry T. Vennik
34e42b9aa2
Improved code formatting
2017-11-04 10:59:41 +01:00
thaven
7e46953c76
Add import of attributes to package.d
2017-10-28 23:18:28 +02:00
Harry T. Vennik
9bbd4a3bbf
Move UDA stuff for struct support to separate module
2017-10-28 15:28:38 +02:00
WebFreak001
92447921a7
unittest ObjectPath concat & allow strings without leading /
2017-10-20 12:47:31 +02:00
WebFreak001
eeab026852
Allow ObjectPath in PathIface constructor
2017-10-19 21:07:39 +02:00
WebFreak001
fd9b7ebdff
public nogc ObjectPath.isValid function + ~ operator
2017-10-19 21:07:31 +02:00
Harry T. Vennik
63bbbd0a14
Fix template bug in type conversion for BitFlags
2017-08-19 14:53:55 +02:00
Harry T. Vennik
ba2c2979d2
Extend unittest in router.d to use recently added types
2017-08-19 14:50:45 +02:00
Harry T. Vennik
e4186bcc5c
Deprecate ddbus.util.isVariant
...
Closes #22
2017-08-14 20:25:31 +02:00
Harry T. Vennik
e6d03252d2
Added support for Phobos-style variants
...
Only variants that are limited to contain types supported by ddbus are allowed.
2017-08-14 20:22:38 +02:00
Harry T. Vennik
da536be3d1
Implemented selective marshaling of struct fields
...
- Skips private fields by default
- Allows overriding of that default by an UDA on the struct type
- Allows per-field overriding using UDA on field
2017-07-26 09:45:39 +02:00
Harry T. Vennik
fc9a604e85
Fix demarshaling of private struct fields
...
Tests now pass again.
2017-07-22 15:25:57 +02:00
Harry T. Vennik
87a06cead1
Improved tests
...
Moved unittest for struct types from `ddbus.conv` to `ddbus.thin` and
made one struct field private.
Test now fails compile-time because of error "member a is not
accessible".
2017-07-22 15:13:55 +02:00
Harry T. Vennik
6bce6cf649
Added support for POD structs
...
Note: structs are deliberately considered last, because other stuff may
be implemented as structs as well. So we need to take care of special
cases before trying struct (de)serialization.
2017-07-20 17:01:42 +02:00
Tristan Hume
15ae9fec23
Merge pull request #20 from thaven/feature/enum
...
Support for enum types
2017-07-17 20:52:08 -07:00
Harry T. Vennik
e2d128ccea
Added support for BitFlags
2017-07-17 20:54:35 +02:00
Harry T. Vennik
6dca60d5ea
Add support for enum types
2017-07-17 20:04:51 +02:00
Harry T. Vennik
c00efce320
Fix: Expected and actual type swapped in TypeMismatchException
2017-07-17 18:05:57 +02:00
Harry T. Vennik
1690e2cfd8
Gracefully handle unexpected types when reading a message.
2017-07-09 19:20:28 +02:00
Harry T. Vennik
12b3b61c1b
Move DBusException and wrapErrors to separate module
...
Also improved its implemention.
This prepares for new exception types to be added in later commits.
2017-07-08 15:56:31 +02:00
Harry T. Vennik
16efa3a6c3
Add unittest for ObjectPath
2017-06-25 18:33:57 +02:00
Harry T. Vennik
7e46fb6401
Fixup opEquals method signature to match D specification
2017-06-25 18:33:57 +02:00