@@ -605,44 +605,6 @@ namespace sdbus {
605605 , const std::chrono::duration<Rep, Period>& timeout
606606 , with_future_t );
607607
608- /* !
609- * @brief Calls method on the D-Bus object asynchronously
610- *
611- * @param[in] message Message representing a D-Bus method call
612- * @return An awaitable object that can be co_await'ed to retrieve the result
613- *
614- * This function call the remote D-Bus object asynchronously and return
615- * an awaitable that can be used with `co_await` to suspend a coroutine
616- * until the result is available.
617- *
618- * The call itself is non-blocking: the method call is performed and the method
619- * returns. The awaitable should be used to retrieve the result.
620- *
621- * The coroutine continuation (code after `co_await`) runs on the context of
622- * the bus connection I/O event loop thread.
623- *
624- * The default D-Bus method call timeout is used. See IConnection::getMethodCallTimeout().
625- *
626- * @throws sdbus::Error in case of failure (propagated when awaited)
627- */
628- virtual Awaitable<MethodReply> callMethodAsync (const MethodCall& message, with_awaitable_t ) = 0;
629-
630- /* !
631- * @brief Calls method on the D-Bus object asynchronously, with custom timeout
632- *
633- * @param[in] message Message representing a D-Bus method call
634- * @param[in] timeout Timeout for the method call in microseconds
635- * @return An awaitable object that can be co_await'ed to retrieve the result
636- *
637- * This behaves the same as IProxy::callMethodAsync(const MethodCall&, with_awaitable_t),
638- * but with a custom timeout for the method call. If timeout is zero, the behavior is identical.
639- *
640- * @throws sdbus::Error in case of failure (propagated when awaited)
641- */
642- virtual Awaitable<MethodReply> callMethodAsync ( const MethodCall& message
643- , uint64_t timeout
644- , with_awaitable_t ) = 0;
645-
646608 /* !
647609 * @copydoc IProxy::callMethodAsync(const MethodCall&,uint64_t,with_awaitable_t)
648610 */
@@ -705,6 +667,45 @@ namespace sdbus {
705667 , const char * signalName
706668 , signal_handler signalHandler
707669 , return_slot_t ) = 0;
670+
671+ public: // New virtual functions in sdbus-c++ v2, for ABI compatibility
672+ /* !
673+ * @brief Calls method on the D-Bus object asynchronously
674+ *
675+ * @param[in] message Message representing a D-Bus method call
676+ * @return An awaitable object that can be co_await'ed to retrieve the result
677+ *
678+ * This function call the remote D-Bus object asynchronously and return
679+ * an awaitable that can be used with `co_await` to suspend a coroutine
680+ * until the result is available.
681+ *
682+ * The call itself is non-blocking: the method call is performed and the method
683+ * returns. The awaitable should be used to retrieve the result.
684+ *
685+ * The coroutine continuation (code after `co_await`) runs on the context of
686+ * the bus connection I/O event loop thread.
687+ *
688+ * The default D-Bus method call timeout is used. See IConnection::getMethodCallTimeout().
689+ *
690+ * @throws sdbus::Error in case of failure (propagated when awaited)
691+ */
692+ virtual Awaitable<MethodReply> callMethodAsync (const MethodCall& message, with_awaitable_t ) = 0;
693+
694+ /* !
695+ * @brief Calls method on the D-Bus object asynchronously, with custom timeout
696+ *
697+ * @param[in] message Message representing a D-Bus method call
698+ * @param[in] timeout Timeout for the method call in microseconds
699+ * @return An awaitable object that can be co_await'ed to retrieve the result
700+ *
701+ * This behaves the same as IProxy::callMethodAsync(const MethodCall&, with_awaitable_t),
702+ * but with a custom timeout for the method call. If timeout is zero, the behavior is identical.
703+ *
704+ * @throws sdbus::Error in case of failure (propagated when awaited)
705+ */
706+ virtual Awaitable<MethodReply> callMethodAsync ( const MethodCall& message
707+ , uint64_t timeout
708+ , with_awaitable_t ) = 0;
708709 };
709710
710711 /* *******************************************/ /* *
0 commit comments