27#ifndef SDBUS_CXX_IOBJECT_H_
28#define SDBUS_CXX_IOBJECT_H_
77 , std::string methodName
78 , std::string inputSignature
79 , std::string outputSignature
80 , method_callback methodCallback
81 ,
Flags flags = {} ) = 0;
103 , std::string methodName
104 , std::string inputSignature
105 ,
const std::vector<std::string>& inputNames
106 , std::string outputSignature
107 ,
const std::vector<std::string>& outputNames
108 , method_callback methodCallback
109 ,
Flags flags = {} ) = 0;
122 , std::string signalName
123 , std::string signature
124 ,
Flags flags = {} ) = 0;
143 , std::string signalName
144 , std::string signature
145 ,
const std::vector<std::string>& paramNames
146 ,
Flags flags = {} ) = 0;
160 , std::string propertyName
161 , std::string signature
162 , property_get_callback getCallback
163 ,
Flags flags = {} ) = 0;
178 , std::string propertyName
179 , std::string signature
180 , property_get_callback getCallback
181 , property_set_callback setCallback
182 ,
Flags flags = {} ) = 0;
std::unique_ptr< sdbus::IObject > createObject(sdbus::IConnection &connection, std::string objectPath)
Creates instance representing a D-Bus object.
Definition: IConnection.h:50
virtual bool hasObjectManager() const =0
Tests whether ObjectManager interface is added at the path of this D-Bus object.
virtual void setInterfaceFlags(const std::string &interfaceName, Flags flags)=0
Sets flags for a given interface.
virtual const std::string & getObjectPath() const =0
Returns object path of the underlying DBus object.
virtual void registerSignal(const std::string &interfaceName, std::string signalName, std::string signature, const std::vector< std::string > ¶mNames, Flags flags={})=0
Registers signal that the object will emit on D-Bus.
virtual void removeObjectManager()=0
Removes an ObjectManager interface from the path of this D-Bus object.
virtual void registerProperty(const std::string &interfaceName, std::string propertyName, std::string signature, property_get_callback getCallback, property_set_callback setCallback, Flags flags={})=0
Registers read/write property that the object will provide on D-Bus.
virtual void emitInterfacesRemovedSignal()=0
Emits InterfacesRemoved signal on this object path.
virtual void emitSignal(const sdbus::Signal &message)=0
Emits signal for this object path.
virtual const Message * getCurrentlyProcessedMessage() const =0
Provides currently processed D-Bus message.
virtual void registerProperty(const std::string &interfaceName, std::string propertyName, std::string signature, property_get_callback getCallback, Flags flags={})=0
Registers read-only property that the object will provide on D-Bus.
virtual void registerMethod(const std::string &interfaceName, std::string methodName, std::string inputSignature, std::string outputSignature, method_callback methodCallback, Flags flags={})=0
Registers method that the object will provide on D-Bus.
virtual void emitInterfacesAddedSignal(const std::vector< std::string > &interfaces)=0
Emits InterfacesAdded signal on this object path.
virtual Signal createSignal(const std::string &interfaceName, const std::string &signalName)=0
Creates a signal message.
virtual void addObjectManager()=0
Adds an ObjectManager interface at the path of this D-Bus object.
virtual sdbus::IConnection & getConnection() const =0
Provides D-Bus connection used by the object.
virtual void registerSignal(const std::string &interfaceName, std::string signalName, std::string signature, Flags flags={})=0
Registers signal that the object will emit on D-Bus.
virtual void registerMethod(const std::string &interfaceName, std::string methodName, std::string inputSignature, const std::vector< std::string > &inputNames, std::string outputSignature, const std::vector< std::string > &outputNames, method_callback methodCallback, Flags flags={})=0
Registers method that the object will provide on D-Bus.
virtual void emitInterfacesAddedSignal()=0
Emits InterfacesAdded signal on this object path.
virtual void finishRegistration()=0
Finishes object API registration and publishes the object on the bus.
virtual void emitInterfacesRemovedSignal(const std::vector< std::string > &interfaces)=0
Emits InterfacesRemoved signal on this object path.
virtual void emitPropertiesChangedSignal(const std::string &interfaceName)=0
Emits PropertyChanged signal for all properties on a given interface of this object path.
virtual void emitPropertiesChangedSignal(const std::string &interfaceName, const std::vector< std::string > &propNames)=0
Emits PropertyChanged signal for specified properties under a given interface of this object path.
virtual void unregister()=0
Unregisters object's API and removes object from the bus.
Definition: ConvenienceApiClasses.h:129
Definition: ConvenienceApiClasses.h:51
Definition: ConvenienceApiClasses.h:104
Definition: ConvenienceApiClasses.h:148
Definition: ConvenienceApiClasses.h:81
Definition: Message.h:209