modem: Add __ofono_modem_foreach_registered_atom

This commit is contained in:
Denis Kenzior 2011-03-30 13:04:42 -05:00
parent 192c0b62f4
commit 774cb72930
2 changed files with 29 additions and 0 deletions

View File

@ -345,6 +345,30 @@ void __ofono_modem_foreach_atom(struct ofono_modem *modem,
}
}
void __ofono_modem_foreach_registered_atom(struct ofono_modem *modem,
enum ofono_atom_type type,
ofono_atom_func callback,
void *data)
{
GSList *l;
struct ofono_atom *atom;
if (modem == NULL)
return;
for (l = modem->atoms; l; l = l->next) {
atom = l->data;
if (atom->type != type)
continue;
if (atom->unregister == NULL)
continue;
callback(atom, data);
}
}
void __ofono_atom_free(struct ofono_atom *atom)
{
struct ofono_modem *modem = atom->modem;

View File

@ -163,6 +163,11 @@ void __ofono_modem_foreach_atom(struct ofono_modem *modem,
enum ofono_atom_type type,
ofono_atom_func callback, void *data);
void __ofono_modem_foreach_registered_atom(struct ofono_modem *modem,
enum ofono_atom_type type,
ofono_atom_func callback,
void *data);
void *__ofono_atom_get_data(struct ofono_atom *atom);
const char *__ofono_atom_get_path(struct ofono_atom *atom);
struct ofono_modem *__ofono_atom_get_modem(struct ofono_atom *atom);