async fn add_listener(
        &mut self,
        listener: PropertyProviderControlHandle,
    ) -> PropertyProviderListenerKey {
        await!(self.0.listeners.lock().map(|mut listeners| listeners.add(listener)))
    }
/// Register a new listener for profile change events. Note that `PropertyProviderControlHandle`
/// contains an `Arc` and should be cloned before being passed to `add_listener`.
///
/// Returns a listener key.
Register a new listener for profile change events.

Returns a listener key.
Register a new listener for profile change events . Returns a listener key .
async fn add_listener(
        &mut self,
        listener: PropertyProviderControlHandle,
    ) -> PropertyProviderListenerKey {
        await!(self.0.listeners.lock().map(|mut listeners| listeners.add(listener)))
    }
async fn add_listener ( & mut self , listener : PropertyProviderControlHandle , ) -> PropertyProviderListenerKey { await ! ( self 0 listeners lock ( ) map ( mut listeners listeners add ( listener ) ) ) }
Register a new listener for profile change events.
Register a new listener for profile change events .
&mut self
listener
PropertyProviderControlHandle
&mut self
listener
PropertyProviderControlHandle