Commit graph

131 commits

Author SHA1 Message Date
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
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
Tristan Hume 0f2565227f Merge pull request #19 from thaven/fix/type-mismatch-exception
Fix: Expected and actual type swapped in TypeMismatchException
2017-07-17 10:08:56 -07:00
Harry T. Vennik c00efce320 Fix: Expected and actual type swapped in TypeMismatchException 2017-07-17 18:05:57 +02:00
Tristan Hume 547705ae11 Merge pull request #18 from trishume/ddbus/enhancement/exceptions
Error handling improvements
2017-07-10 10:53:17 -07:00
thaven 9d54d41df4 Update Readme.md
- Added `exception` module
- Corrected typo
- Removed DBus path support from TODO (already in master)
2017-07-10 11:55:13 +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
Tristan Hume 8410fc21a8 Merge pull request #17 from thaven/feature/object-path
Add support for DBus object path type
2017-06-26 23:53:48 -07: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
Harry T. Vennik 884b31fa9f Added toHash function for usage of ObjectPath as KeyType in AAs 2017-06-25 18:33:57 +02:00
Harry T. Vennik 0439a1e8db Added support for object path type 2017-06-25 18:33:57 +02:00
Tristan Hume 56f90644ce Merge pull request #16 from thaven/fix/dictionary
Dictionary related improvements
2017-06-20 19:57:15 -07:00
Harry T. Vennik 111b5c5af3 Cleanup typeSig implementation for DictionaryEntry 2017-06-20 21:23:53 +02:00
Harry T. Vennik 3fa88ee9f7 Fix various template instantiation errors
Some templates broke because canDBus!(DictionaryEntry!(K,V)) now returns false.
Also, associative arrays are now handled without using a DictionaryEntry type. This is a first step in eliminating DictionaryEntry.
2017-06-18 17:43:19 +02:00
Tristan Hume dc9b011b94 Merge pull request #15 from thaven/fix/typecode-tuple
Return correct typecode for tuple
2017-06-05 22:11:57 -07:00
Harry T. Vennik 227d0085ca Add check for correct typecode for tuple to unittest 2017-06-06 07:10:11 +02:00
Jan Jurzitza c02ad08016 Merge pull request #14 from thaven/fix/const-signature
Change type of DBusAny.signature to const(char)[]
2017-06-05 21:23:48 +02:00
Harry T. Vennik 455c0a8f0d Change signature type from char[] to const(char)[] 2017-06-05 14:28:20 +02:00
Harry T. Vennik 7b826ec80c Return correct typecode for tuple 2017-06-05 13:39:56 +02:00
Harry T. Vennik a6aa85ac74 Some dictionary related typesystem fixes
- Keys in a dictionary are required to be basic types
- A DictionaryEntry on it's own cannot be sent over DBus, it has to be wrapped in an array to form a dictionary. So, canDBus should be false for DictionaryEntry, but true for an array of DictionaryEntry.
2017-06-04 17:44:15 +02:00
Tristan Hume f477599a8f Fix readme 2017-04-23 16:15:57 -04:00
Tristan Hume bf6dafc5eb Update readme 2017-04-23 16:15:19 -04:00
Tristan Hume dd29457e4c Merge pull request #13 from WebFreak001/fix-skips
Fixed DBusAny skipping values after string or bool
2017-04-23 16:13:13 -04:00
WebFreak001 b7955764b8 Fixed DBusAny skipping values after string or bool 2017-04-23 21:14:25 +02:00
Tristan Hume ec2d957ad8 Merge pull request #12 from WebFreak001/any-types
Memory & performance optimization for ubyte[]
2017-04-23 15:07:57 -04:00
WebFreak001 33a829f95a Merge commit '6cc7ae6' into any-types 2017-04-23 20:56:54 +02:00
Tristan Hume 406e7d9241 Merge pull request #11 from WebFreak001/doc-update
Documentation update & tick function
2017-04-23 14:55:36 -04:00
Tristan Hume 1e6d34d607 Merge pull request #10 from WebFreak001/any-types
Support for dynamic variants (fix #9)
2017-04-23 14:54:36 -04:00
WebFreak001 6cc7ae6bf1 Added optimization case for binary data 2017-04-23 20:44:09 +02:00
Tristan Hume debcc8fbc6 clean up things a little bit 2017-04-23 14:37:19 -04:00
Tristan Hume 3636ea2dec Add watching file descriptors to Todo 2017-04-23 13:36:03 -04:00
WebFreak001 96605cf2bc Documentation updates 2017-04-23 16:39:28 +02:00
WebFreak001 d395af0f4c Tested & fixed returning Variant!DBusAny 2017-04-23 16:12:52 +02:00