94
95
wpa_supplicant_interface_p2_pdevice_emit_device_lost(skeleton_.get(), path.c_str());
97
void P2PDeviceSkeleton::EmitGroupOwnerNegotiationSuccess(const std::string &path) {
98
void P2PDeviceSkeleton::EmitGroupOwnerNegotiationSuccess(const std::string &path, const P2PDeviceStub::Status status,
99
const P2PDeviceStub::Frequency freq, const P2PDeviceStub::FrequencyList &freqs,
100
const P2PDeviceStub::WpsMethod wps_method) {
98
101
auto builder = g_variant_builder_new(G_VARIANT_TYPE("a{sv}"));
99
102
g_variant_builder_add(builder, "{sv}", "peer_object", g_variant_new_string(path.c_str()));
103
g_variant_builder_add(builder, "{sv}", "status", g_variant_new_int32(static_cast<gint32>(status)));
104
g_variant_builder_add(builder, "{sv}", "frequency", g_variant_new_int32(freq));
106
auto freq_builder = g_variant_builder_new(G_VARIANT_TYPE("ai"));
107
for (auto freq : freqs)
108
g_variant_builder_add(freq_builder, "i", freq);
110
g_variant_builder_add(builder, "{sv}", "frequency_list", g_variant_builder_end(freq_builder));
111
g_variant_builder_add(builder, "{sv}", "wps_method", g_variant_new_string(P2PDeviceStub::WpsMethodToString(wps_method).c_str()));
100
113
auto value = g_variant_builder_end(builder);
101
115
wpa_supplicant_interface_p2_pdevice_emit_gonegotiation_success(skeleton_.get(), value);