P2P: Add manufacturer info into D-Bus peer interface
Allow the Manufacturer information for a found P2P peer device to be fetched through the D-Bus interface similarly to p2p_peer <mac address> on ctrl interface. Signed-off-by: Amit Khatri <amit.khatri@samsung.com> Signed-off-by: Rahul Jain <rahul.jain@samsung.com> Signed-off-by: Ashutosh Kaushik <k.ashutosh@samsung.com>
This commit is contained in:
parent
f572ae809a
commit
dc1a341dec
4 changed files with 49 additions and 0 deletions
|
@ -1637,6 +1637,10 @@ Interface implemented by objects representing P2P peer devices.
|
||||||
<h3>DeviceName - s - (read)</h3>
|
<h3>DeviceName - s - (read)</h3>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
<li>
|
||||||
|
<h3>Manufacturer - s - (read)</h3>
|
||||||
|
</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
<h3>PrimaryDeviceType - ay - (read)</h3>
|
<h3>PrimaryDeviceType - ay - (read)</h3>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
@ -3307,6 +3307,10 @@ static const struct wpa_dbus_property_desc wpas_dbus_p2p_peer_properties[] = {
|
||||||
wpas_dbus_getter_p2p_peer_device_name,
|
wpas_dbus_getter_p2p_peer_device_name,
|
||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
|
{ "Manufacturer", WPAS_DBUS_NEW_IFACE_P2P_PEER, "s",
|
||||||
|
wpas_dbus_getter_p2p_peer_manufacturer,
|
||||||
|
NULL
|
||||||
|
},
|
||||||
{ "PrimaryDeviceType", WPAS_DBUS_NEW_IFACE_P2P_PEER, "ay",
|
{ "PrimaryDeviceType", WPAS_DBUS_NEW_IFACE_P2P_PEER, "ay",
|
||||||
wpas_dbus_getter_p2p_peer_primary_device_type,
|
wpas_dbus_getter_p2p_peer_primary_device_type,
|
||||||
NULL
|
NULL
|
||||||
|
|
|
@ -1251,6 +1251,43 @@ dbus_bool_t wpas_dbus_getter_p2p_peer_device_name(DBusMessageIter *iter,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
dbus_bool_t wpas_dbus_getter_p2p_peer_manufacturer(DBusMessageIter *iter,
|
||||||
|
DBusError *error,
|
||||||
|
void *user_data)
|
||||||
|
{
|
||||||
|
struct peer_handler_args *peer_args = user_data;
|
||||||
|
const struct p2p_peer_info *info;
|
||||||
|
char *tmp;
|
||||||
|
|
||||||
|
if (!wpa_dbus_p2p_check_enabled(peer_args->wpa_s, NULL, NULL, error))
|
||||||
|
return FALSE;
|
||||||
|
|
||||||
|
/* get the peer info */
|
||||||
|
info = p2p_get_peer_found(peer_args->wpa_s->global->p2p,
|
||||||
|
peer_args->p2p_device_addr, 0);
|
||||||
|
if (info == NULL) {
|
||||||
|
dbus_set_error(error, DBUS_ERROR_FAILED, "failed to find peer");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
tmp = os_strdup(info->manufacturer);
|
||||||
|
if (!tmp) {
|
||||||
|
dbus_set_error_const(error, DBUS_ERROR_NO_MEMORY, "no memory");
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!wpas_dbus_simple_property_getter(iter, DBUS_TYPE_STRING, &tmp,
|
||||||
|
error)) {
|
||||||
|
dbus_set_error_const(error, DBUS_ERROR_NO_MEMORY, "no memory");
|
||||||
|
os_free(tmp);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
os_free(tmp);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
dbus_bool_t wpas_dbus_getter_p2p_peer_primary_device_type(
|
dbus_bool_t wpas_dbus_getter_p2p_peer_primary_device_type(
|
||||||
DBusMessageIter *iter, DBusError *error, void *user_data)
|
DBusMessageIter *iter, DBusError *error, void *user_data)
|
||||||
{
|
{
|
||||||
|
|
|
@ -115,6 +115,10 @@ dbus_bool_t wpas_dbus_getter_p2p_peer_device_name(DBusMessageIter *iter,
|
||||||
DBusError *error,
|
DBusError *error,
|
||||||
void *user_data);
|
void *user_data);
|
||||||
|
|
||||||
|
dbus_bool_t wpas_dbus_getter_p2p_peer_manufacturer(DBusMessageIter *iter,
|
||||||
|
DBusError *error,
|
||||||
|
void *user_data);
|
||||||
|
|
||||||
dbus_bool_t wpas_dbus_getter_p2p_peer_primary_device_type(
|
dbus_bool_t wpas_dbus_getter_p2p_peer_primary_device_type(
|
||||||
DBusMessageIter *iter, DBusError *error, void *user_data);
|
DBusMessageIter *iter, DBusError *error, void *user_data);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue