Stanislav Angelovic
d5867e1197
Fix unused variable warning for release builds
2020-07-21 15:32:31 +02:00
Stanislav Angelovic
c137dfa213
Fix potential data race in Proxy's condition variable
2020-06-17 09:13:30 +02:00
Jan Kundrát
0d010440c5
Fix build with clang 9.0.1 and libcxx
...
This should not be required in C++17 because there is an appropriate
class template deduction rule [1] which infers that it's going to be a
weak_ptr<T> when constructing from a shared_ptr<T>. However, in
clang/LLVM's libcxx C++ STL implementation this only got implemented in
May 2020 [2].
[1] https://en.cppreference.com/w/cpp/memory/weak_ptr/deduction_guides
[2] https://reviews.llvm.org/D69603
2020-06-16 16:51:53 +02:00
ChristianS99
ae8849e545
Implement #104 : add getObjectPath() for classes ( #105 )
...
* Implement #104 : add getObjectPath() for classes
* Implement #104 : changes requested in review
Co-authored-by: Christian Schneider <cschneider@radiodata.biz >
2020-05-28 15:36:58 +02:00
sangelovic
00d0837d98
Introduce support for cancellable async calls
2020-04-04 16:30:56 +02:00
sangelovic
e91bedd4cb
Fix #92 : CallData race condition in Proxy::callMethod
2020-04-02 20:46:38 +02:00
Oliver Tappe
dc66efbbcb
Fix #93 : Get signals working for multiple proxies.
...
* Proxy::sdbus_signal_handler() needs to return 0 instead of 1 in
order to allow multiple proxies listening to a signal all being
triggered.
* Add test for emitting a signal to multiple proxies on same
connection.
2020-03-26 21:19:18 +01:00
sangelovic
3a4f343fb9
Provide better names to event loop-related IConnection methods
2020-02-02 22:22:26 +01:00
sangelovic
975f1bf07f
Switch to fully supported C++17
2020-02-01 22:58:34 +01:00
sangelovic
eade6a0e44
Add support for method and signal parameter names in introspection
2020-02-01 12:38:39 +01:00
sangelovic
75709e31f1
Fix sporadic race condition between Variant and underlying bus
...
The underlying bus was thread_local, but the design assumption that Variants built on top of that instance won't outlive the thread was incorrect. In stress tests, Variants were moved (and this is completely legal) to a different thread.
2020-01-25 22:31:41 +01:00
sangelovic
b25534013f
Fix lock_guard variable declaration (don't yet use newer C++17 features)
2020-01-19 19:17:04 +01:00
sangelovic
4310a3bd17
Little fix of order of destruction in stress tests
2020-01-19 18:57:14 +01:00
sangelovic
f41d9bc395
Fix issue of event loop thread and synchronous method call thread polling on the same D-Bus connection
...
Synchronous D-Bus method calls are now done in terms of blocking asynchronous calls.
2020-01-19 18:51:19 +01:00
sangelovic
839bc13625
Make Connection const-correct and fix integration tests build error
2019-11-10 17:40:33 +01:00
Bruno Marchand
5fe0f503ca
Add a method to retrieve the unique name of a connection
2019-11-10 17:34:57 +01:00
sangelovic
d50a15b2a2
Move C++17 uncaught_exceptions to public API
2019-11-10 17:31:58 +01:00
sangelovic
304b69dd8b
Use tag dispatching to construct various types of Connection, refactor Connection unit tests
2019-11-03 20:30:52 +01:00
Jay
099bc857ad
Add support for opening a connection to a remote system bus using ssh ( #77 )
2019-11-03 20:21:39 +01:00
lubo-svk
c139110112
Add support for custom timeout value for D-Bus method calls ( #72 )
2019-11-03 13:54:13 +01:00
sangelovic
0f7de608ac
Little code cleanup
2019-10-11 16:04:37 +02:00
hogliux
0440dcb15b
Added ability to integrate with foreign event loops
2019-10-08 22:09:05 +02:00
sangelovic
e30ce194ab
Add getSenderName method to Message
2019-10-06 11:28:16 +02:00
Stanislav Angelovič
a09362f79a
Switch from plain UnixFd to owning UnixFd ( #69 )
2019-07-08 09:53:53 +02:00
Stanislav Angelovic
ab34b0ae50
Update header doxy comments in source files
2019-06-11 20:18:37 +02:00
sangelovic
236c10ff56
Resolve a few clang-tidy suggestions and warnings (thanks to @ardazishvili)
...
Fixes part of #52 .
2019-06-10 21:54:02 +02:00
Stanislav Angelovič
dcad208ffe
Redesign inheritance from Message ( #62 )
...
... so that the code is more idiomatic, clear and expressive about its intended use
2019-06-10 21:38:30 +02:00
sangelovic
57c840637c
Add support for Unix fd D-Bus type
2019-06-10 21:19:56 +02:00
sangelovic
38b51bddc6
Add support for ObjectManager's InterfaceAdded/Removed signals on server side
2019-06-03 23:47:27 +02:00
Stanislav Angelovič
01e2a7a570
Add support for PropertyChanged signal on server side
2019-06-03 22:02:15 +02:00
Stanislav Angelovič
91fa35140b
Add support for ObjectManager and other standard D-Bus interfaces ( #55 )
...
Fixes #50
2019-05-29 22:28:15 +02:00
Stanislav Angelovič
4b0c23204d
Add object manager support to IConnection interface ( #54 )
2019-05-27 20:51:42 +02:00
sangelovic
b87b0c9dd9
Fix the way of handling thread-local system bus
2019-05-12 10:23:26 +02:00
Stanislav Angelovic
7763c66513
Add support for libsystemd versions up to the newest 242, and set 242 as default version
2019-05-09 19:16:16 +02:00
sangelovic
e3a74a3ff2
Add unregister function to IObject and IProxy API
2019-04-13 21:17:37 +02:00
sangelovic
99160156fe
Fix all gcc warnings
2019-04-12 22:39:14 +02:00
sangelovic
93b6e5237a
Clean up some names (rename classes, methods, files)
...
* ConvenienceClasses.h/.inl/.cpp -> ConvenienceApiClasses.h/.inl/.cpp
* IObjectProxy class -> IProxy
* Interfaces class -> AdaptorInterfaces
* Interfaces.h -> split into AdaptorInterfaces.h and ProxyInterfaces.h
* createObjectProxy() method -> createProxy()
2019-04-09 21:28:07 +02:00
Stanislav Angelovic
94fd3c88d8
Add getConnection() method to IObject so we ask Object about its connection
2019-04-04 20:39:03 +02:00
sangelovic
08945acbc4
Simplify and unify callback design for both sync and async methods
2019-04-03 00:05:20 +02:00
Stanislav Angelovic
1c4abab3e4
Remove executable bit erroneously set on source files
2019-03-27 17:53:31 +01:00
Stanislav Angelovič
fd7be39dd4
Re-design sdbus-c++ approach to connections ( #47 )
...
Fixes #33 , among others
2019-03-25 16:28:31 +01:00
Stanislav Angelovič
663df31398
Introduce support for asynchronous D-Bus method calls on the client side ( #42 )
...
Fixes #32
2019-03-25 14:45:48 +01:00
sangelovic
bb2bf5811b
Add SdBus interface to proper namespace
2019-03-20 18:52:05 +01:00
sangelovic
41a10d644f
Make code a bit cleaner and more consistent
2019-03-19 20:11:18 +01:00
sangelovic
b9ce1ca3ce
Remove unnecessary copy-construction when making SdBus
2019-03-18 21:28:17 +01:00
ardazishvili
2b83d7ca2d
Mock sdbus lib, add unit tests of Connection class.
...
Introduce mock of sdbus library through extracting its interface. Set up unit tests of Connection class through injection of sdbusMock to constructor. Clients of Connections class should use fabrics instead.
2019-03-17 18:02:47 +03:00
Stanislav Angelovič
9c0e98c580
Introduce support for some common D-Bus annotations ( #30 )
...
* Add ability to declare property behavior on PropertyChanged signal
* Add support for Method.NoReply annotation (WIP)
* Add support for common annotations/flags
2019-01-10 08:47:59 +01:00
Jeremy Prater
eb58d2fa52
- Rewind Message prior to access for peekValueType.
...
Fixes #8
(cherry picked from commit f8bed4b0faa2c0a2bc7037f3a55105060d56dbdb)
2018-12-24 15:30:55 +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
Stanislav Angelovič
d3d698f02a
Fix CPU hog on async methods: Clear the event descriptor by reading from it ( #16 )
2018-07-24 12:54:31 +02:00