Commit graph

117 commits

Author SHA1 Message Date
Jan Jurzitza ab994acdb3
Merge pull request #45 from Cogitri/meson
Add support for building with meson
2020-03-25 12:19:47 +01:00
Rasmus Thomsen 0fd4db1067 Add support for building with meson
fixes #44
2020-03-20 14:59:09 +01:00
thaven b43c2d6a8e
Merge pull request #41 from WebFreak001/fix-import-deprecation
Fix deprecation warning of std.digest
2019-03-31 14:46:18 +02: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
Jan Jurzitza 32861ae74d
Merge pull request #40 from WebFreak001/fix-message-ctor
safer API with ObjectPath, InterfaceName, BusName
2019-03-30 17:35:43 +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
Jan Jurzitza c4de569809
Merge pull request #39 from WebFreak001/fix-ctors
Fix destructors on uninitialized structs
2018-08-18 20:56:07 +02:00
WebFreak001 958939ace1 Fix destructors on uninitialized structs 2018-08-18 20:55:42 +02:00
Jan Jurzitza 8c7aeeb7d6
Merge pull request #38 from WebFreak001/fix-37
Fix introspection crash when binding on `/`
2018-03-25 11:52:14 +02:00
WebFreak001 1769c2e0d6 Fix introspection crash when binding on / 2018-03-25 11:26:23 +02:00
Jan Jurzitza 83d35c8990
Merge pull request #32 from kubo39/replace-body-with-do
Replace body with do.
2018-03-19 09:05:12 +01:00
Jan Jurzitza 100ce3e60d
Merge branch 'master' into replace-body-with-do 2018-03-19 09:04:33 +01:00
thaven 6b1c162c89
Update readme (#36)
* Minor text improvements

* Mention struct support and update example

* Add overview of supported types

* Clarify mapping of types

* Explain customization of struct marshaling

* Update version number in dub.json example
2018-01-05 11:22:00 +01:00
thaven 10c931cc44
Merge pull request #35 from thaven/refactor/dbusany-conv
DBusAny: Reimplementation of to!T() and struct support
2017-12-21 06:08:38 +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
Harry T. Vennik c42eb823a2 Ignore coverage analysis output files 2017-12-16 10:52:43 +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 42a5ae0d3c Use core.time.Duration. 2017-12-07 09:31:44 +09:00
Hiroki Noda a3dcda5741 Replace body with do. 2017-12-05 22:14:08 +09:00
Jan Jurzitza 10b8a22b95
Merge pull request #30 from kubo39/duration
Add sendWithReplyBlocking overload taking a Duration.
2017-12-03 22:07:23 +01:00
Hiroki Noda a74a347645 Simplify dub.json to be able to easily copy the examples. 2017-12-04 06:04:28 +09:00
Hiroki Noda cc83591fce Fix mixed in a tab. 2017-12-04 05:59:18 +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 df6f2aa14c
Merge pull request #26 from thaven/refactor/uda-module
Move the UDA related stuff into a separate module
2017-11-04 10:36:46 +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
Tristan Hume 89c7736ccf Merge pull request #23 from thaven/feature/native-variant
Support Phobos variants
2017-08-21 15:23:08 -04: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
Tristan Hume a737496d37 Merge pull request #21 from thaven/feature/struct
Support for D struct types
2017-07-26 23:23:10 -07: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