Commit graph

59 commits

Author SHA1 Message Date
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
WebFreak001 aa9ecc5004 Support for signals in registerMethods generator 2017-04-22 23:10:34 +02:00
WebFreak001 4017e95aba Support for maps/dictionaries 2017-04-22 23:10:15 +02:00
Tristan Hume 21d36af507 Merge pull request #4 from trishume/D2.069.2
Update for latest D
2016-03-11 17:35:28 -05:00
xentec 98bc5bddc1 Added basic variant type support
This also enables reading properties of DBus interfaces.
2015-12-31 00:47:19 +01:00
Tristan Hume 3132716945 Update for latest D 2015-12-12 14:17:08 -05:00
Tristan Hume a138584b87 Move example out of default binary 2015-05-09 13:34:33 -04:00
Tristan Hume 83028deecb Added readme and simple import method. 2015-05-09 13:15:34 -04:00
Tristan Hume d60a78cde8 Add a simple method of routing to an object. 2015-05-03 22:07:49 -04:00
Tristan Hume 8771b8b2b1 Reply to introspection messages. 2015-05-03 20:52:55 -04:00
Tristan Hume f8e389393f WIP Introspection. XML Generation. 2015-05-02 21:36:11 -04:00
Tristan Hume 2af2db0020 Type checking and groundwork for introspection. 2015-05-01 21:38:41 -04:00