Commit graph

70 commits

Author SHA1 Message Date
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
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
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 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
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
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
WebFreak001 d8659c9eed Unittest for dynamic types & added to!AA, to!Tuple 2017-04-23 15:56:43 +02:00
WebFreak001 73122deb8c Support for dynamic variants (fix #9) 2017-04-23 15:19:15 +02:00
Tristan Hume 408cda19bc Merge pull request #8 from WebFreak001/maps
Support for maps/dictionaries
2017-04-22 23:43:53 -04:00
Tristan Hume 6d95527516 Merge pull request #6 from WebFreak001/multi-return
Multi return
2017-04-22 23:38:36 -04:00
WebFreak001 4c416fc6fb Fix dict implementation 2017-04-22 23:24:24 +02:00
WebFreak001 fcfb475626 Fixed multiple returns as tuple 2017-04-22 23:10:57 +02:00
WebFreak001 2552888693 return tuple should be treated as multiple returns 2017-04-22 23:10:51 +02:00