mirror of git://git.sysmocom.de/ofono
Add __ofono_modem_foreach_atom function
This commit is contained in:
parent
b8589c7cdf
commit
2fea7be017
20
src/modem.c
20
src/modem.c
|
@ -293,6 +293,26 @@ struct ofono_atom *__ofono_modem_find_atom(struct ofono_modem *modem,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
void __ofono_modem_foreach_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;
|
||||
|
||||
callback(atom, data);
|
||||
}
|
||||
}
|
||||
|
||||
void __ofono_atom_free(struct ofono_atom *atom)
|
||||
{
|
||||
struct ofono_modem *modem = atom->modem;
|
||||
|
|
|
@ -107,6 +107,8 @@ typedef void (*ofono_atom_watch_func)(struct ofono_atom *atom,
|
|||
enum ofono_atom_watch_condition cond,
|
||||
void *data);
|
||||
|
||||
typedef void (*ofono_atom_func)(struct ofono_atom *atom, void *data);
|
||||
|
||||
struct ofono_atom *__ofono_modem_add_atom(struct ofono_modem *modem,
|
||||
enum ofono_atom_type type,
|
||||
void (*destruct)(struct ofono_atom *),
|
||||
|
@ -115,6 +117,10 @@ struct ofono_atom *__ofono_modem_add_atom(struct ofono_modem *modem,
|
|||
struct ofono_atom *__ofono_modem_find_atom(struct ofono_modem *modem,
|
||||
enum ofono_atom_type type);
|
||||
|
||||
void __ofono_modem_foreach_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);
|
||||
|
|
Loading…
Reference in New Issue