Emulate sync D-Bus method call with async implementation underneath to avoid poll race condition

This commit is contained in:
sangelovic
2020-01-12 23:10:19 +01:00
parent cb118f95b7
commit 4688e81534
14 changed files with 760 additions and 592 deletions
+6 -4
View File
@@ -172,15 +172,17 @@ namespace sdbus {
public:
MethodCall() = default;
MethodReply send(uint64_t timeout = 0) const;
MethodReply sendWithReply(uint64_t timeout = 0) const;
void sendWithAsyncReply(void* callback, void* userData, uint64_t timeout = 0) const;
MethodReply sendWithNoReply() const;
MethodReply createReply() const;
MethodReply createErrorReply(const sdbus::Error& error) const;
void dontExpectReply();
bool doesntExpectReply() const;
private:
MethodReply sendWithReply(uint64_t timeout) const;
MethodReply sendWithNoReply() const;
};
class AsyncMethodCall : public Message