proxy: add IProxy::getConnection() (#179)

This provides access to the proxy's bus connection so code using
the proxy does not need to store an external reference to it.

A matching function is already available in IObject.
This commit is contained in:
David Leeds
2021-05-06 07:52:02 -07:00
committed by GitHub
parent b0a72cbe92
commit 6df67469ad
3 changed files with 13 additions and 0 deletions

View File

@ -267,6 +267,13 @@ namespace sdbus {
*/
[[nodiscard]] PropertySetter setProperty(const std::string& propertyName);
/*!
* @brief Provides D-Bus connection used by the proxy
*
* @return Reference to the D-Bus connection
*/
virtual sdbus::IConnection& getConnection() const = 0;
/*!
* @brief Returns object path of the underlying DBus object
*/

View File

@ -199,6 +199,11 @@ void Proxy::unregister()
interfaces_.clear();
}
sdbus::IConnection& Proxy::getConnection() const
{
return dynamic_cast<sdbus::IConnection&>(*connection_);
}
const std::string& Proxy::getObjectPath() const
{
return objectPath_;

View File

@ -60,6 +60,7 @@ namespace sdbus::internal {
void finishRegistration() override;
void unregister() override;
sdbus::IConnection& getConnection() const override;
const std::string& getObjectPath() const override;
private: