Lines Matching refs:w
205 static void reserve_monitor_wrapper_free(pa_reserve_monitor_wrapper *w) { in reserve_monitor_wrapper_free() argument
206 pa_assert(w); in reserve_monitor_wrapper_free()
209 if (w->monitor) in reserve_monitor_wrapper_free()
210 rm_release(w->monitor); in reserve_monitor_wrapper_free()
212 if (w->connection) in reserve_monitor_wrapper_free()
213 pa_dbus_connection_unref(w->connection); in reserve_monitor_wrapper_free()
216 pa_hook_done(&w->hook); in reserve_monitor_wrapper_free()
218 if (w->shared_name) { in reserve_monitor_wrapper_free()
219 pa_assert_se(pa_shared_remove(w->core, w->shared_name) >= 0); in reserve_monitor_wrapper_free()
220 pa_xfree(w->shared_name); in reserve_monitor_wrapper_free()
223 pa_xfree(w); in reserve_monitor_wrapper_free()
228 pa_reserve_monitor_wrapper *w; in change_cb() local
232 pa_assert_se(w = rm_get_userdata(m)); in change_cb()
233 pa_assert(PA_REFCNT_VALUE(w) >= 1); in change_cb()
235 PA_REFCNT_INC(w); in change_cb()
237 if ((k = rm_busy(w->monitor)) < 0) in change_cb()
240 pa_hook_fire(&w->hook, PA_INT_TO_PTR(!!k)); in change_cb()
241 pa_log_debug("Device lock status of %s changed: %s", w->shared_name, k ? "busy" : "not busy"); in change_cb()
243 pa_reserve_monitor_wrapper_unref(w); in change_cb()
248 pa_reserve_monitor_wrapper *w; in pa_reserve_monitor_wrapper_get() local
262 if ((w = pa_shared_get(c, t))) { in pa_reserve_monitor_wrapper_get()
265 pa_assert(PA_REFCNT_VALUE(w) >= 1); in pa_reserve_monitor_wrapper_get()
266 PA_REFCNT_INC(w); in pa_reserve_monitor_wrapper_get()
268 return w; in pa_reserve_monitor_wrapper_get()
271 w = pa_xnew0(pa_reserve_monitor_wrapper, 1); in pa_reserve_monitor_wrapper_get()
272 PA_REFCNT_INIT(w); in pa_reserve_monitor_wrapper_get()
273 w->core = c; in pa_reserve_monitor_wrapper_get()
274 pa_hook_init(&w->hook, w); in pa_reserve_monitor_wrapper_get()
275 w->shared_name = t; in pa_reserve_monitor_wrapper_get()
277 pa_assert_se(pa_shared_set(c, w->shared_name, w) >= 0); in pa_reserve_monitor_wrapper_get()
280 …if (!(w->connection = pa_dbus_bus_get(c, DBUS_BUS_SESSION, &error)) || dbus_error_is_set(&error)) { in pa_reserve_monitor_wrapper_get()
285 return w; in pa_reserve_monitor_wrapper_get()
289 &w->monitor, in pa_reserve_monitor_wrapper_get()
290 pa_dbus_connection_get(w->connection), in pa_reserve_monitor_wrapper_get()
301 rm_set_userdata(w->monitor, w); in pa_reserve_monitor_wrapper_get()
302 return w; in pa_reserve_monitor_wrapper_get()
307 reserve_monitor_wrapper_free(w); in pa_reserve_monitor_wrapper_get()
311 return w; in pa_reserve_monitor_wrapper_get()
315 void pa_reserve_monitor_wrapper_unref(pa_reserve_monitor_wrapper *w) { in pa_reserve_monitor_wrapper_unref() argument
316 pa_assert(w); in pa_reserve_monitor_wrapper_unref()
317 pa_assert(PA_REFCNT_VALUE(w) >= 1); in pa_reserve_monitor_wrapper_unref()
319 if (PA_REFCNT_DEC(w) > 0) in pa_reserve_monitor_wrapper_unref()
322 reserve_monitor_wrapper_free(w); in pa_reserve_monitor_wrapper_unref()
325 pa_hook* pa_reserve_monitor_wrapper_hook(pa_reserve_monitor_wrapper *w) { in pa_reserve_monitor_wrapper_hook() argument
326 pa_assert(w); in pa_reserve_monitor_wrapper_hook()
327 pa_assert(PA_REFCNT_VALUE(w) >= 1); in pa_reserve_monitor_wrapper_hook()
329 return &w->hook; in pa_reserve_monitor_wrapper_hook()
332 bool pa_reserve_monitor_wrapper_busy(pa_reserve_monitor_wrapper *w) { in pa_reserve_monitor_wrapper_busy() argument
333 pa_assert(w); in pa_reserve_monitor_wrapper_busy()
335 pa_assert(PA_REFCNT_VALUE(w) >= 1); in pa_reserve_monitor_wrapper_busy()
338 return rm_busy(w->monitor) > 0; in pa_reserve_monitor_wrapper_busy()