Lines Matching refs:list

57   BusExpireList *list;
59 list = dbus_new0 (BusExpireList, 1);
60 if (list == NULL)
63 list->expire_func = expire_func;
64 list->data = data;
65 list->loop = loop;
66 list->expire_after = expire_after;
68 list->timeout = _dbus_timeout_new (100, /* irrelevant */
70 list, NULL);
71 if (list->timeout == NULL)
74 _dbus_timeout_set_enabled (list->timeout, FALSE);
76 if (!_dbus_loop_add_timeout (list->loop,
77 list->timeout,
81 return list;
84 if (list->timeout)
85 _dbus_timeout_unref (list->timeout);
87 dbus_free (list);
93 bus_expire_list_free (BusExpireList *list)
95 _dbus_assert (list->items == NULL);
97 _dbus_loop_remove_timeout (list->loop, list->timeout,
100 _dbus_timeout_unref (list->timeout);
102 dbus_free (list);
129 bus_expire_list_recheck_immediately (BusExpireList *list)
131 _dbus_verbose ("setting interval on expire list to 0 for immediate recheck\n");
133 bus_expire_timeout_set_interval (list->timeout, 0);
137 do_expiration_with_current_time (BusExpireList *list,
148 link = _dbus_list_get_first_link (&list->items);
151 DBusList *next = _dbus_list_get_next_link (&list->items, link);
162 ((list->expire_after > 0) && (elapsed >= (double) list->expire_after)))
167 * this item next time we walk through the list. This would
172 if (!(* list->expire_func) (list, link, list->data))
178 else if (list->expire_after > 0)
183 to_wait = (double) list->expire_after - elapsed;
198 bus_expirelist_expire (BusExpireList *list)
204 if (list->items != NULL)
210 next_interval = do_expiration_with_current_time (list, tv_sec, tv_usec);
213 bus_expire_timeout_set_interval (list->timeout, next_interval);
219 BusExpireList *list = data;
224 bus_expirelist_expire (list);
230 bus_expire_list_remove_link (BusExpireList *list,
233 _dbus_list_remove_link (&list->items, link);
237 bus_expire_list_remove (BusExpireList *list,
240 return _dbus_list_remove (&list->items, item);
244 bus_expire_list_unlink (BusExpireList *list,
247 _dbus_list_unlink (&list->items, link);
251 bus_expire_list_add (BusExpireList *list,
256 ret = _dbus_list_prepend (&list->items, item);
257 if (ret && !dbus_timeout_get_enabled (list->timeout))
258 bus_expire_timeout_set_interval (list->timeout, 0);
264 bus_expire_list_add_link (BusExpireList *list,
269 _dbus_list_prepend_link (&list->items, link);
271 if (!dbus_timeout_get_enabled (list->timeout))
272 bus_expire_timeout_set_interval (list->timeout, 0);
276 bus_expire_list_get_first_link (BusExpireList *list)
278 return _dbus_list_get_first_link (&list->items);
282 bus_expire_list_get_next_link (BusExpireList *list,
285 return _dbus_list_get_next_link (&list->items, link);
289 bus_expire_list_contains_item (BusExpireList *list,
292 return _dbus_list_find_last (&list->items, item) != NULL;
304 test_expire_func (BusExpireList *list,
335 BusExpireList *list;
350 list = bus_expire_list_new (loop, EXPIRE_AFTER,
352 _dbus_assert (list != NULL);
377 if (!bus_expire_list_add (list, &item->item))
381 do_expiration_with_current_time (list, tv_sec_not_expired,
388 do_expiration_with_current_time (list, tv_sec_expired,
395 do_expiration_with_current_time (list, tv_sec_past,
401 bus_expire_list_remove (list, &item->item);
404 bus_expire_list_free (list);