27#ifndef SDBUS_CXX_PROXYINTERFACES_H_
28#define SDBUS_CXX_PROXYINTERFACES_H_
51 class ProxyObjectHolder
54 ProxyObjectHolder(std::unique_ptr<IProxy>&& proxy)
55 : proxy_(std::move(proxy))
57 assert(proxy_ !=
nullptr);
62 assert(proxy_ !=
nullptr);
68 assert(proxy_ !=
nullptr);
73 std::unique_ptr<IProxy> proxy_;
92 template <
typename... _Interfaces>
94 :
protected ProxyObjectHolder
95 ,
public _Interfaces...
108 : ProxyObjectHolder(
createProxy(std::move(destination), std::move(objectPath)))
123 : ProxyObjectHolder(
createProxy(std::move(destination), std::move(objectPath), dont_run_event_loop_thread))
139 : ProxyObjectHolder(
createProxy(connection, std::move(destination), std::move(objectPath)))
155 : ProxyObjectHolder(
createProxy(std::move(connection), std::move(destination), std::move(objectPath)))
171 : ProxyObjectHolder(
createProxy(std::move(connection), std::move(destination), std::move(objectPath), dont_run_event_loop_thread))
185 (_Interfaces::registerProxy(), ...);
203 using ProxyObjectHolder::getProxy;
std::unique_ptr< sdbus::IProxy > createProxy(sdbus::IConnection &connection, ServiceName destination, ObjectPath objectPath)
Creates a proxy object for a specific remote D-Bus object.
Definition IConnection.h:61
virtual void unregister()=0
Unregisters proxy's signal handlers and stops receiving replies to pending async calls.
Definition ProxyInterfaces.h:96
void unregisterProxy()
Unregisters the proxy so it no more receives signals and async call replies.
Definition ProxyInterfaces.h:195
ProxyInterfaces(std::unique_ptr< sdbus::IConnection > &&connection, ServiceName destination, ObjectPath objectPath, dont_run_event_loop_thread_t)
Creates native-like proxy object instance.
Definition ProxyInterfaces.h:170
void registerProxy()
Registers handlers for D-Bus signals of the remote object.
Definition ProxyInterfaces.h:183
ProxyInterfaces(ServiceName destination, ObjectPath objectPath)
Creates native-like proxy object instance.
Definition ProxyInterfaces.h:107
ProxyInterfaces(ServiceName destination, ObjectPath objectPath, dont_run_event_loop_thread_t)
Creates native-like proxy object instance.
Definition ProxyInterfaces.h:122
ProxyInterfaces(IConnection &connection, ServiceName destination, ObjectPath objectPath)
Creates native-like proxy object instance.
Definition ProxyInterfaces.h:138
ProxyInterfaces(std::unique_ptr< sdbus::IConnection > &&connection, ServiceName destination, ObjectPath objectPath)
Creates native-like proxy object instance.
Definition ProxyInterfaces.h:154
const IProxy & getProxy() const
Returns reference to the underlying IProxy instance.
Definition ProxyInterfaces.h:60
Definition TypeTraits.h:101