return __ofono_watchlist_remove_item(modem->atom_watches, id);
}
-#define FIND_ATOM_IN_LIST(list) \
- for (l = list; l; l = l->next) { \
- atom = l->data; \
- \
- if (atom->type == type) \
- return atom; \
- } \
-
struct ofono_atom *__ofono_modem_find_atom(struct ofono_modem *modem,
enum ofono_atom_type type)
{
if (modem == NULL)
return NULL;
- FIND_ATOM_IN_LIST(modem->atoms)
+ for (l = modem->atoms; l; l = l->next) {
+ atom = l->data;
+
+ if (atom->type == type)
+ return atom;
+ }
return NULL;
}
-#define FOREACH_ATOM_IN_LIST(list) \
- for (l = list; l; l = l->next) { \
- atom = l->data; \
- \
- if (atom->type != type) \
- continue; \
- \
- callback(atom, data); \
- } \
-
void __ofono_modem_foreach_atom(struct ofono_modem *modem,
enum ofono_atom_type type,
ofono_atom_func callback, void *data)
if (modem == NULL)
return;
- FOREACH_ATOM_IN_LIST(modem->atoms)
+ for (l = modem->atoms; l; l = l->next) {
+ atom = l->data;
+
+ if (atom->type != type)
+ continue;
+
+ callback(atom, data);
+ }
}
void __ofono_atom_free(struct ofono_atom *atom)