use std::collections::HashMap;
use zbus::proxy;
use zbus::zvariant::{ObjectPath, OwnedObjectPath, OwnedValue, Value};
#[proxy(
interface = "fi.w1.wpa_supplicant1.Interface.P2PDevice",
default_service = "fi.w1.wpa_supplicant1"
)]
pub trait P2PDevice {
fn add_persistent_group(
&self,
args: HashMap<&str, &Value<'_>>,
) -> zbus::Result<OwnedObjectPath>;
fn add_service(&self, args: HashMap<&str, &Value<'_>>) -> zbus::Result<()>;
fn connect(&self, args: HashMap<&str, &Value<'_>>) -> zbus::Result<String>;
fn delete_service(&self, args: HashMap<&str, &Value<'_>>) -> zbus::Result<()>;
fn disconnect(&self) -> zbus::Result<()>;
fn extended_listen(&self, args: HashMap<&str, &Value<'_>>) -> zbus::Result<()>;
fn find(&self, args: HashMap<&str, &Value<'_>>) -> zbus::Result<()>;
fn flush(&self) -> zbus::Result<()>;
fn flush_service(&self) -> zbus::Result<()>;
fn group_add(&self, args: HashMap<&str, &Value<'_>>) -> zbus::Result<()>;
fn cancel(&self) -> zbus::Result<()>;
fn invite(&self, args: HashMap<&str, &Value<'_>>) -> zbus::Result<()>;
fn listen(&self, timeout: i32) -> zbus::Result<()>;
fn presence_request(&self, args: HashMap<&str, &Value<'_>>) -> zbus::Result<()>;
fn provision_discovery_request(
&self,
peer: &ObjectPath<'_>,
config_method: &str,
) -> zbus::Result<()>;
fn reject_peer(&self, peer: &ObjectPath<'_>) -> zbus::Result<()>;
fn remove_client(&self, args: HashMap<&str, &Value<'_>>) -> zbus::Result<()>;
fn remove_all_persistent_groups(&self) -> zbus::Result<()>;
fn remove_persistent_group(&self, path: &ObjectPath<'_>) -> zbus::Result<()>;
fn service_discovery_cancel_request(&self, args: u64) -> zbus::Result<()>;
fn service_discovery_external(&self, arg: i32) -> zbus::Result<()>;
fn service_discovery_request(&self, args: HashMap<&str, &Value<'_>>) -> zbus::Result<u64>;
fn service_discovery_response(&self, args: HashMap<&str, &Value<'_>>) -> zbus::Result<()>;
fn service_update(&self) -> zbus::Result<()>;
fn stop_find(&self) -> zbus::Result<()>;
#[zbus(signal)]
fn device_found(&self, path: ObjectPath<'_>) -> zbus::Result<()>;
#[zbus(signal)]
fn device_lost(&self, path: ObjectPath<'_>) -> zbus::Result<()>;
#[zbus(signal, name = "GONegotiationFailure")]
fn gonegotiation_failure(&self, properties: HashMap<&str, Value<'_>>) -> zbus::Result<()>;
#[zbus(signal, name = "GONegotiationRequest")]
fn gonegotiation_request(
&self,
path: ObjectPath<'_>,
dev_passwd_id: i32,
dev_go_intent: u8, ) -> zbus::Result<()>;
#[zbus(signal, name = "GONegotiationSuccess")]
fn gonegotiation_success(&self, properties: HashMap<&str, Value<'_>>) -> zbus::Result<()>;
#[zbus(signal)]
fn group_finished(&self, properties: HashMap<&str, Value<'_>>) -> zbus::Result<()>;
#[zbus(signal)]
fn group_started(&self, properties: HashMap<&str, Value<'_>>) -> zbus::Result<()>;
#[zbus(signal)]
fn invitation_result(&self, invite_result: HashMap<&str, Value<'_>>) -> zbus::Result<()>;
#[zbus(signal, name = "P2PStateChanged")]
fn p2pstate_changed(&self, states: HashMap<&str, &str>) -> zbus::Result<()>;
#[zbus(signal)]
fn persistent_group_added(
&self,
path: ObjectPath<'_>,
properties: HashMap<&str, Value<'_>>,
) -> zbus::Result<()>;
#[zbus(signal)]
fn persistent_group_removed(&self, path: ObjectPath<'_>) -> zbus::Result<()>;
#[zbus(signal)]
fn provision_discovery_failure(
&self,
peer_object: ObjectPath<'_>,
status: i32,
) -> zbus::Result<()>;
#[zbus(signal, name = "ProvisionDiscoveryPBCRequest")]
fn provision_discovery_pbcrequest(&self, peer_object: ObjectPath<'_>) -> zbus::Result<()>;
#[zbus(signal, name = "ProvisionDiscoveryPBCResponse")]
fn provision_discovery_pbcresponse(&self, peer_object: ObjectPath<'_>) -> zbus::Result<()>;
#[zbus(signal)]
fn provision_discovery_request_display_pin(
&self,
peer_object: ObjectPath<'_>,
pin: &str,
) -> zbus::Result<()>;
#[zbus(signal)]
fn provision_discovery_request_enter_pin(
&self,
peer_object: ObjectPath<'_>,
) -> zbus::Result<()>;
#[zbus(signal)]
fn provision_discovery_response_display_pin(
&self,
peer_object: ObjectPath<'_>,
pin: &str,
) -> zbus::Result<()>;
#[zbus(signal)]
fn provision_discovery_response_enter_pin(
&self,
peer_object: ObjectPath<'_>,
) -> zbus::Result<()>;
#[zbus(signal)]
fn service_discovery_request(&self, sd_request: HashMap<&str, Value<'_>>) -> zbus::Result<()>;
#[zbus(signal)]
fn service_discovery_response(&self, sd_response: HashMap<&str, Value<'_>>)
-> zbus::Result<()>;
#[zbus(signal)]
fn wps_failed(&self, name: &str, args: HashMap<&str, Value<'_>>) -> zbus::Result<()>;
#[zbus(signal)]
fn invitation_received(&self, args: HashMap<&str, Value<'_>>) -> zbus::Result<()>;
#[zbus(signal)]
fn group_formation_failure(&self, reason: &str) -> zbus::Result<()>;
#[zbus(property)]
fn group(&self) -> zbus::Result<OwnedObjectPath>;
#[zbus(property, name = "P2PDeviceConfig")]
fn p2pdevice_config(&self) -> zbus::Result<HashMap<String, OwnedValue>>;
#[zbus(property, name = "P2PDeviceConfig")]
fn set_p2pdevice_config(
&self,
value: Value<'_>,
) -> zbus::Result<()>;
#[zbus(property, name = "PeerGO")]
fn peer_go(&self) -> zbus::Result<OwnedObjectPath>;
#[zbus(property)]
fn peers(&self) -> zbus::Result<Vec<OwnedObjectPath>>;
#[zbus(property)]
fn persistent_groups(&self) -> zbus::Result<Vec<OwnedObjectPath>>;
#[zbus(property)]
fn role(&self) -> zbus::Result<String>;
}