Commit Graph
49 Commits
Author SHA1 Message Date
Stanislav Angelovič 20a13eeafb refactor: make Variant constructor explicit (#370)
This makes the library more robust and prone to user's errors when the user writes an extension for their custom type. In case they forget to implement a serialization function for that type and yet insert an object of that type into sdbus::Message, the current behavior is that, surprisingly, the library masks the error as it resolves the call to the Variant overload, because Variant provides an implicit template converting constructor, so the library tries to construct first the Variant object from the object of custom type, and then inserting into the message that Variant object. Variant constructor serializes the underlying object into its internal message object, which resolves to the same message insertion overload, creating an infinite recursion and ultimately the stack overflow. This is undesired and plain wrong. Marking this Variant converting constructor solves these problems, plus in overall it makes the code a little safer and more verbose. With explicit Variant constructor, when the user forgets to implement a serialization function for their type, the call of such function will fail with an expressive compilation error, and will produce no undesired, surprising results.
2024-04-24 20:20:29 +02:00
Stanislav Angelovič 6f35f00fcf refactor: let callbacks take message objects by value (#367)
Signatures of callbacks async_reply_handler, signal_handler, message_handler and property_set_callback were modified to take input message objects by value, as opposed to non-const ref.

The callee assumes ownership of the message. This API is more idiomatic, more expressive, cleaner and safer. Move semantics is used to pass messages to the callback handlers. In some cases, this also improves performance.
2024-04-24 20:20:29 +02:00
Stanislav Angelovic 3e20fc639e refactor: simplify async D-Bus connection handling 2024-04-24 20:20:29 +02:00
Stanislav Angelovič 7450515d0b chore: release version v1.6.0 2024-04-24 20:04:34 +02:00
Stanislav Angelovič 30d9f1d462 chore: release v1.5.0 2024-02-26 08:29:35 +01:00
Stanislav Angelovič b482cd6d08 chore: version 1.4.0 2023-10-10 19:26:21 +02:00
Stanislav Angelovič 0eda855745 chore: version 1.3.0 2023-08-20 11:45:44 +02:00
Stanislav Angelovic 751c1addc4 chore: version 1.2.0 2022-08-09 09:50:33 +02:00
Stanislav Angelovic bca8e81037 build: version 1.1.0 2021-12-22 13:17:31 +01:00
Urs Ritzmann 125cb1616c version 1.0.0 2021-10-25 09:02:37 +02:00
riuriuriu de9cd46d8a update ChangeLog: v0.8.4 was never released 2021-10-18 14:16:30 +02:00
Stanislav Angelovič 1d930f324e update changelog: v0.9.0 2021-10-15 15:20:46 +02:00
riuriuriu fe8cdce107 update changelog: v0.8.4 2021-04-13 15:59:35 +02:00
Stanislav Angelovic 6e8e5aadb6 Bump up to v0.8.3 2020-09-11 22:29:15 +02:00
Stanislav Angelovic 175c43ec53 Bump revision up to v0.8.2 2020-06-17 15:29:46 +02:00
sangelovic 3a4f343fb9 Provide better names to event loop-related IConnection methods 2020-02-02 22:22:26 +01:00
sangelovic dee6adce02 Bump revision up to v0.8.1 2020-02-02 02:31:39 +01:00
sangelovic d591b69f92 Bump revision up to 0.8.0 2020-02-01 13:56:13 +01:00
sangelovic 10977c6137 Bump revision up to 0.7.8 2020-01-25 23:38:54 +01:00
sangelovic 68b5eac9e9 Bump revision up to 0.7.7 2020-01-19 18:59:36 +01:00
sangelovic 5121d46eed Bump revision up to 0.7.6 2020-01-05 22:49:26 +01:00
sangelovic cc495811f9 Bump revision up to 0.7.5 2019-11-10 17:43:14 +01:00
sangelovic 3a76e9c120 Bump revision up to 0.7.4 2019-11-03 20:40:13 +01:00
sangelovic e7155c5506 Bump revision up to 0.7.3 2019-10-13 15:39:32 +02:00
Stanislav Angelovic 750dab3927 Bump revision up to 0.7.2 2019-07-08 10:01:11 +02:00
sangelovic 00177a7e4c Bump revision up to 0.7.1 2019-06-12 09:18:55 +02:00
sangelovic 07625a435b Bump revision up to 0.7.0 2019-06-04 21:39:29 +02:00
sangelovic fbb5242729 Add emit prefix to generated signal emitting methods 2019-06-04 21:30:09 +02:00
Stanislav Angelovič 38552483ca Update ChangeLog 2019-05-29 22:41:59 +02:00
sangelovic 6ee66dfc47 Update ChangeLog for incoming new release 2019-05-26 15:37:32 +02:00
sangelovic 0cffed4574 Add option to build libsystemd automatically as integral part of sdbus-c++ 2019-04-28 17:09:37 +02:00
sangelovic 62a546c9d3 Bump revision up to 0.6.0 2019-04-15 21:05:54 +02:00
sangelovic d3749741d1 Add preliminary ChangeLog 2019-04-13 21:38:22 +02:00
sangelovic e7c78460cf Bump revision up to 0.5.3 2019-04-09 20:56:33 +02:00
sangelovic a919058d13 Bump up revision to 0.5.2 2019-04-03 00:17:31 +02:00
sangelovic b46fb170ea Bump up revision to 0.5.1 2019-03-29 22:28:58 +01:00
Stanislav Angelovic a04ab9f445 Bump revision up to 0.5.0, a big step in maturing sdbus-c++ 2019-03-28 16:08:58 +01:00
sangelovic 004f158817 Bump up revision to 0.4.3 2019-03-24 22:18:48 +01:00
sangelovic 8c76e3ef8b Bump up revision to 0.4.2 2019-03-15 12:09:55 +01:00
Stanislav Angelovic 58895d2730 Bump revision up to 0.4.1 2019-01-16 20:01:05 +01:00
Stanislav Angelovic 7378cea833 Bump up project version 2019-01-10 13:54:02 +01:00
Stanislav Angelovič 97372155a6 Update ChangeLog for v0.3.3 2018-12-29 01:02:36 +01:00
Stanislav Angelovič a6bb8c070e Switch from autotools to CMake build system (#23)
* Switch from autotools to CMake

* CMake: require at least cmake 3.8

* cmake: updates for tests
2018-09-26 09:28:10 +02:00
Lukas Durfina 4f5dfbc301 Updated changelog for v0.3.1 2018-07-24 13:03:53 +02:00
Stanislav Angelovič d8fd053714 Introduce support for asynchronous server-side methods (#12)
* Add preliminary changes for async server methods

* Refactor the Message concept and break it into distinctive types

* Continue working on async server methods (high-level API mainly)

* Continue developing support for async server

* Finishing async server methods

* Finishing async server methods (fixing tests & cleaning up)

* A little code cleaning

* Add unit tests for type traits of free functions

* Support for generating async server methods in stub headers

* Update ChangeLog for v0.3.0

* Update the tutorial with how to use async server-side methods

* Update the TOC in sdbus-c++ tutorial

* Update numbering in TOC

* Remove unnecessary code

* Final cleanups
2018-07-02 11:22:00 +02:00
Stanislav Angelovic b041f76bfc Update changelog for v0.2.6 2018-06-24 21:27:58 +02:00
Stanislav Angelovič 24b2f2bda3 Update ChangeLog for v0.2.5 2018-06-05 14:09:35 +00:00
Stanislav Angelovič 10d0da9067 Update ChangeLog for v0.2.4 2018-03-15 16:06:05 +00:00
Stanislav Angelovic 35f725a053 Introduce sdbus-c++ v0.2.3 2017-11-27 14:13:55 +01:00