tree db09e7c61139872b0ccde8fc67d818f45bbfad63
parent 1caa5e8a5ad9e9f26ddf2effe095ba1670911bc1
author Arun Lal K M <arun.lal@intel.com> 1681713356 +0000
committer Smriti-Ayushi <smriti.ayushi@linux.intel.com> 1682505510 +0530

Make register_method accept 'Flags'

Problem statement:
SD_BUS_METHOD() takes 'Flags' as one of it's arguments.
The flags parameter is used to specify a combination of D-Bus annotations.
Reference https://man7.org/linux/man-pages/man3/sd_bus_add_object.3.html

'register_method' function in file sdbusplus\include\sdbusplus\asio\object_server.hpp
makes the following call

method_callbacks_.emplace_back(name, std::move(func), argType.data(),
    resultType.data());

This calls ends up in following function which calls SD_BUS_METHOD

constexpr vtable_t method(const char* member, const char* signature,
    const char* result, sd_bus_message_handler_t handler,
    decltype(vtable_t::flags) flags)
{
    return vtable_t SD_BUS_METHOD(member, signature, result, handler, flags);
}

Problem is register_method does not take 'Flags' as one of it's arguments.
So SD_BUS_METHOD is called with flags = 0, default value.

Proposed solution:
Add 'Flags' as one of the arguments in register_method function.

Tested:
By passing flag SD_BUS_VTABLE_UNPRIVILEGED to register_method function
and making sure the property of flag is reflected in dbus.

Change-Id: I4845d3b7e3619c8b10bed9db0d92a90ec09578b4
Signed-off-by: Arun Lal K M <arun.lal@intel.com>
