27#ifndef SDBUS_CXX_IPROXY_H_ 
   28#define SDBUS_CXX_IPROXY_H_ 
   43    class PendingAsyncCall;
 
  108        template <
typename _Rep, 
typename _Period>
 
  132        template <
typename _Rep, 
typename _Period>
 
  145                                          , 
const std::string& signalName
 
  146                                          , signal_handler signalHandler ) = 0;
 
  157                                            , 
const std::string& signalName ) = 0;
 
  428        template <
typename _Rep, 
typename _Period>
 
  430                                           , 
const std::chrono::duration<_Rep, _Period>& timeout
 
 
  469        friend internal::Proxy;
 
  473        std::weak_ptr<void> callData_;
 
 
  478    template <
typename _Rep, 
typename _Period>
 
  481        auto microsecs = std::chrono::duration_cast<std::chrono::microseconds>(timeout);
 
  482        return callMethod(message, microsecs.count());
 
 
  485    template <
typename _Rep, 
typename _Period>
 
  488        auto microsecs = std::chrono::duration_cast<std::chrono::microseconds>(timeout);
 
  489        return callMethod(message, std::move(asyncReplyCallback), microsecs.count());
 
 
  492    template <
typename _Rep, 
typename _Period>
 
  494                                                      , 
const std::chrono::duration<_Rep, _Period>& timeout
 
  497        auto microsecs = std::chrono::duration_cast<std::chrono::microseconds>(timeout);
 
  498        return callMethod(message, microsecs.count(), with_future);
 
 
  574                                                            , std::string destination
 
  575                                                            , std::string objectPath );
 
  599    [[nodiscard]] std::unique_ptr<sdbus::IProxy> 
createProxy( std::unique_ptr<sdbus::IConnection>&& connection
 
  600                                                            , std::string destination
 
  601                                                            , std::string objectPath );
 
  626    [[nodiscard]] std::unique_ptr<sdbus::IProxy> 
createProxy( std::unique_ptr<sdbus::IConnection>&& connection
 
  627                                                            , std::string destination
 
  628                                                            , std::string objectPath
 
  648    [[nodiscard]] std::unique_ptr<sdbus::IProxy> 
createProxy( std::string destination
 
  649                                                            , std::string objectPath );
 
  669    [[nodiscard]] std::unique_ptr<sdbus::IProxy> 
createProxy( std::string destination
 
  670                                                            , std::string objectPath
 
std::unique_ptr< sdbus::IProxy > createProxy(sdbus::IConnection &connection, std::string destination, std::string objectPath)
Creates a proxy object for a specific remote D-Bus object.
Definition ConvenienceApiClasses.h:294
Definition ConvenienceApiClasses.h:304
Definition ConvenienceApiClasses.h:190
Definition ConvenienceApiClasses.h:247
Definition ConvenienceApiClasses.h:277
Definition IConnection.h:52
virtual const Message * getCurrentlyProcessedMessage() const =0
Provides currently processed D-Bus message.
virtual void registerSignalHandler(const std::string &interfaceName, const std::string &signalName, signal_handler signalHandler)=0
Registers a handler for the desired signal emitted by the D-Bus object.
AsyncAllPropertiesGetter getAllPropertiesAsync()
Gets values of all properties of the D-Bus object asynchronously.
Definition IProxy.h:546
virtual void unregisterSignalHandler(const std::string &interfaceName, const std::string &signalName)=0
Unregisters the handler of the desired signal.
virtual std::future< MethodReply > callMethod(const MethodCall &message, with_future_t)=0
Calls method on the D-Bus object asynchronously.
virtual MethodCall createMethodCall(const std::string &interfaceName, const std::string &methodName)=0
Creates a method call message.
virtual const std::string & getObjectPath() const =0
Returns object path of the underlying DBus object.
SignalUnsubscriber muteSignal(const std::string &signalName)
Unregisters signal handler of a given signal of the D-Bus object.
Definition IProxy.h:516
virtual void unregister()=0
Unregisters proxy's signal handlers and stops receving replies to pending async calls.
virtual void finishRegistration()=0
Finishes the registration of signal handlers.
virtual PendingAsyncCall callMethod(const MethodCall &message, async_reply_handler asyncReplyCallback, uint64_t timeout=0)=0
Calls method on the D-Bus object asynchronously.
AsyncPropertyGetter getPropertyAsync(const std::string &propertyName)
Gets value of a property of the D-Bus object asynchronously.
Definition IProxy.h:526
PropertySetter setProperty(const std::string &propertyName)
Sets value of a property of the D-Bus object.
Definition IProxy.h:531
virtual MethodReply callMethod(const MethodCall &message, uint64_t timeout=0)=0
Calls method on the D-Bus object.
virtual sdbus::IConnection & getConnection() const =0
Provides D-Bus connection used by the proxy.
AsyncPropertySetter setPropertyAsync(const std::string &propertyName)
Sets value of a property of the D-Bus object asynchronously.
Definition IProxy.h:536
AsyncMethodInvoker callMethodAsync(const std::string &methodName)
Calls method on the D-Bus object asynchronously.
Definition IProxy.h:506
PropertyGetter getProperty(const std::string &propertyName)
Gets value of a property of the D-Bus object.
Definition IProxy.h:521
AllPropertiesGetter getAllProperties()
Gets values of all properties of the D-Bus object.
Definition IProxy.h:541
SignalSubscriber uponSignal(const std::string &signalName)
Registers signal handler for a given signal of the D-Bus object.
Definition IProxy.h:511
Definition ConvenienceApiClasses.h:165
void cancel()
Cancels the delivery of the pending asynchronous call result.
bool isPending() const
Answers whether the asynchronous call is still pending.
Definition ConvenienceApiClasses.h:236
Definition ConvenienceApiClasses.h:261
Definition ConvenienceApiClasses.h:212
Definition ConvenienceApiClasses.h:225
Definition TypeTraits.h:91
Definition TypeTraits.h:94