Make code a bit cleaner and more consistent

This commit is contained in:
sangelovic
2019-03-19 20:11:18 +01:00
parent b9ce1ca3ce
commit 41a10d644f
7 changed files with 59 additions and 59 deletions

View File

@@ -36,8 +36,8 @@
namespace sdbus { namespace internal {
Connection::Connection(Connection::BusType type, std::unique_ptr<ISdBus>&& interface)
: busType_(type),
iface_(std::move(interface))
: busType_(type)
, iface_(std::move(interface))
{
auto bus = openBus(busType_);
bus_.reset(bus);
@@ -92,28 +92,28 @@ void Connection::leaveProcessingLoop()
joinWithProcessingLoop();
}
void* Connection::addObjectVTable( const std::string& objectPath
, const std::string& interfaceName
, const void* vtable
, void* userData )
sd_bus_slot* Connection::addObjectVTable( const std::string& objectPath
, const std::string& interfaceName
, const sd_bus_vtable* vtable
, void* userData )
{
sd_bus_slot *slot{};
auto r = iface_->sd_bus_add_object_vtable( bus_.get()
, &slot
, objectPath.c_str()
, interfaceName.c_str()
, static_cast<const sd_bus_vtable*>(vtable)
, userData );
, &slot
, objectPath.c_str()
, interfaceName.c_str()
, vtable
, userData );
SDBUS_THROW_ERROR_IF(r < 0, "Failed to register object vtable", -r);
return slot;
}
void Connection::removeObjectVTable(void* vtableHandle)
void Connection::removeObjectVTable(sd_bus_slot* vtableHandle)
{
iface_->sd_bus_slot_unref((sd_bus_slot *)vtableHandle);
iface_->sd_bus_slot_unref(vtableHandle);
}
sdbus::MethodCall Connection::createMethodCall( const std::string& destination
@@ -127,11 +127,11 @@ sdbus::MethodCall Connection::createMethodCall( const std::string& destination
SCOPE_EXIT{ iface_->sd_bus_message_unref(sdbusMsg); };
auto r = iface_->sd_bus_message_new_method_call( bus_.get()
, &sdbusMsg
, destination.c_str()
, objectPath.c_str()
, interfaceName.c_str()
, methodName.c_str() );
, &sdbusMsg
, destination.c_str()
, objectPath.c_str()
, interfaceName.c_str()
, methodName.c_str() );
SDBUS_THROW_ERROR_IF(r < 0, "Failed to create method call", -r);
@@ -145,24 +145,24 @@ sdbus::Signal Connection::createSignal( const std::string& objectPath
sd_bus_message *sdbusSignal{};
// Returned message will become an owner of sdbusSignal
SCOPE_EXIT{ sd_bus_message_unref(sdbusSignal); };
SCOPE_EXIT{ iface_->sd_bus_message_unref(sdbusSignal); };
auto r = iface_->sd_bus_message_new_signal( bus_.get()
, &sdbusSignal
, objectPath.c_str()
, interfaceName.c_str()
, signalName.c_str() );
, &sdbusSignal
, objectPath.c_str()
, interfaceName.c_str()
, signalName.c_str() );
SDBUS_THROW_ERROR_IF(r < 0, "Failed to create signal", -r);
return Signal(sdbusSignal);
}
void* Connection::registerSignalHandler( const std::string& objectPath
, const std::string& interfaceName
, const std::string& signalName
, sd_bus_message_handler_t callback
, void* userData )
sd_bus_slot* Connection::registerSignalHandler( const std::string& objectPath
, const std::string& interfaceName
, const std::string& signalName
, sd_bus_message_handler_t callback
, void* userData )
{
sd_bus_slot *slot{};
@@ -174,9 +174,9 @@ void* Connection::registerSignalHandler( const std::string& objectPath
return slot;
}
void Connection::unregisterSignalHandler(void* handlerCookie)
void Connection::unregisterSignalHandler(sd_bus_slot* handlerCookie)
{
iface_->sd_bus_slot_unref((sd_bus_slot *)handlerCookie);
iface_->sd_bus_slot_unref(handlerCookie);
}
void Connection::sendReplyAsynchronously(const sdbus::MethodReply& reply)

View File

@@ -52,7 +52,7 @@ namespace sdbus { namespace internal {
};
Connection(BusType type, std::unique_ptr<ISdBus>&& interface);
~Connection();
~Connection() override;
void requestName(const std::string& name) override;
void releaseName(const std::string& name) override;
@@ -60,11 +60,11 @@ namespace sdbus { namespace internal {
void enterProcessingLoopAsync() override;
void leaveProcessingLoop() override;
void* addObjectVTable( const std::string& objectPath
, const std::string& interfaceName
, const void* vtable
, void* userData ) override;
void removeObjectVTable(void* vtableHandle) override;
sd_bus_slot* addObjectVTable( const std::string& objectPath
, const std::string& interfaceName
, const sd_bus_vtable* vtable
, void* userData ) override;
void removeObjectVTable(sd_bus_slot* vtableHandle) override;
sdbus::MethodCall createMethodCall( const std::string& destination
, const std::string& objectPath
@@ -74,12 +74,12 @@ namespace sdbus { namespace internal {
, const std::string& interfaceName
, const std::string& signalName ) const override;
void* registerSignalHandler( const std::string& objectPath
, const std::string& interfaceName
, const std::string& signalName
, sd_bus_message_handler_t callback
, void* userData ) override;
void unregisterSignalHandler(void* handlerCookie) override;
sd_bus_slot* registerSignalHandler( const std::string& objectPath
, const std::string& interfaceName
, const std::string& signalName
, sd_bus_message_handler_t callback
, void* userData ) override;
void unregisterSignalHandler(sd_bus_slot* handlerCookie) override;
void sendReplyAsynchronously(const sdbus::MethodReply& reply) override;

View File

@@ -43,11 +43,11 @@ namespace internal {
class IConnection
{
public:
virtual void* addObjectVTable( const std::string& objectPath
, const std::string& interfaceName
, const void* vtable
, void* userData ) = 0;
virtual void removeObjectVTable(void* vtableHandle) = 0;
virtual sd_bus_slot* addObjectVTable( const std::string& objectPath
, const std::string& interfaceName
, const sd_bus_vtable* vtable
, void* userData ) = 0;
virtual void removeObjectVTable(sd_bus_slot* vtableHandle) = 0;
virtual sdbus::MethodCall createMethodCall( const std::string& destination
, const std::string& objectPath
@@ -58,12 +58,12 @@ namespace internal {
, const std::string& interfaceName
, const std::string& signalName ) const = 0;
virtual void* registerSignalHandler( const std::string& objectPath
, const std::string& interfaceName
, const std::string& signalName
, sd_bus_message_handler_t callback
, void* userData ) = 0;
virtual void unregisterSignalHandler(void* handlerCookie) = 0;
virtual sd_bus_slot* registerSignalHandler( const std::string& objectPath
, const std::string& interfaceName
, const std::string& signalName
, sd_bus_message_handler_t callback
, void* userData ) = 0;
virtual void unregisterSignalHandler(sd_bus_slot* handlerCookie) = 0;
virtual void enterProcessingLoopAsync() = 0;
virtual void leaveProcessingLoop() = 0;

View File

@@ -235,9 +235,9 @@ void Object::activateInterfaceVTable( const std::string& interfaceName
, const std::vector<sd_bus_vtable>& vtable )
{
// Tell, don't ask
auto slot = (sd_bus_slot*) connection_.addObjectVTable(objectPath_, interfaceName, &vtable[0], this);
auto slot = connection_.addObjectVTable(objectPath_, interfaceName, &vtable[0], this);
interfaceData.slot_.reset(slot);
interfaceData.slot_.get_deleter() = [this](void *slot){ connection_.removeObjectVTable(slot); };
interfaceData.slot_.get_deleter() = [this](sd_bus_slot *slot){ connection_.removeObjectVTable(slot); };
}
int Object::sdbus_method_callback(sd_bus_message *sdbusMessage, void *userData, sd_bus_error *retError)

View File

@@ -118,7 +118,7 @@ namespace internal {
std::vector<sd_bus_vtable> vtable_;
Flags flags_;
std::unique_ptr<void, std::function<void(void*)>> slot_;
std::unique_ptr<sd_bus_slot, std::function<void(sd_bus_slot*)>> slot_;
};
static const std::vector<sd_bus_vtable>& createInterfaceVTable(InterfaceData& interfaceData);

View File

@@ -131,7 +131,7 @@ void ObjectProxy::registerSignalHandlers(sdbus::internal::IConnection& connectio
, &ObjectProxy::sdbus_signal_callback
, this );
slot.reset(rawSlotPtr);
slot.get_deleter() = [&connection](void *slot){ connection.unregisterSignalHandler(slot); };
slot.get_deleter() = [&connection](sd_bus_slot *slot){ connection.unregisterSignalHandler(slot); };
}
}
}

View File

@@ -50,7 +50,7 @@ namespace internal {
ObjectProxy( std::unique_ptr<sdbus::internal::IConnection>&& connection
, std::string destination
, std::string objectPath );
~ObjectProxy();
~ObjectProxy() override;
MethodCall createMethodCall(const std::string& interfaceName, const std::string& methodName) override;
MethodReply callMethod(const MethodCall& message) override;
@@ -81,7 +81,7 @@ namespace internal {
struct SignalData
{
signal_handler callback_;
std::unique_ptr<void, std::function<void(void*)>> slot_;
std::unique_ptr<sd_bus_slot, std::function<void(sd_bus_slot*)>> slot_;
};
std::map<SignalName, SignalData> signals_;
};