27#ifndef SDBUS_CXX_ADAPTORINTERFACES_H_
28#define SDBUS_CXX_ADAPTORINTERFACES_H_
54 : object_(std::move(
object))
60 assert(object_ !=
nullptr);
66 assert(object_ !=
nullptr);
71 std::unique_ptr<IObject> object_;
91 template <
typename... _Interfaces>
94 ,
public _Interfaces...
120 (_Interfaces::registerAdaptor(), ...);
138 using ObjectHolder::getObject;
std::unique_ptr< sdbus::IObject > createObject(sdbus::IConnection &connection, ObjectPath objectPath)
Creates instance representing a D-Bus object.
Definition AdaptorInterfaces.h:95
AdaptorInterfaces(IConnection &connection, ObjectPath objectPath)
Creates object instance.
Definition AdaptorInterfaces.h:105
void unregisterAdaptor()
Unregisters adaptors's API and removes it from the bus.
Definition AdaptorInterfaces.h:130
const IObject & getObject() const
Returns reference to the underlying IObject instance.
Definition AdaptorInterfaces.h:58
void registerAdaptor()
Adds object vtable (i.e. D-Bus API) definitions for all interfaces it implements.
Definition AdaptorInterfaces.h:118
Definition IConnection.h:61
virtual void unregister()=0
Unregisters object's API and removes object from the bus.
Definition AdaptorInterfaces.h:51