diff options
author | José Bollo <jose.bollo@iot.bzh> | 2015-12-11 22:55:11 +0100 |
---|---|---|
committer | José Bollo <jose.bollo@iot.bzh> | 2015-12-11 22:55:11 +0100 |
commit | 12a227a2fc574cf0fd560453e1cdd15c50550abb (patch) | |
tree | 279f52c897e44951ca6d3a66ec2b3e0e2befb634 /src/wgtpkg-permissions.c | |
parent | 7e1027342a3cff95635ba2107f283321cf0efa08 (diff) |
more work
Change-Id: I7eac968a21766be44068463bcab8aaaa3d12941f
Diffstat (limited to 'src/wgtpkg-permissions.c')
-rw-r--r-- | src/wgtpkg-permissions.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/wgtpkg-permissions.c b/src/wgtpkg-permissions.c index 25758e4..e20cede 100644 --- a/src/wgtpkg-permissions.c +++ b/src/wgtpkg-permissions.c @@ -33,6 +33,7 @@ static const char prefix_of_permissions[] = PREFIXPERMISSION; static int nrpermissions = 0; static struct permission *permissions = NULL; +static int indexiter = 0; /* check is the name has the correct prefix for permissions */ int is_standard_permission(const char *name) @@ -130,3 +131,20 @@ int request_permission(const char *name) return 0; } +/* iteration over granted and requested permissions */ +const char *first_usable_permission() +{ + indexiter = 0; + return next_usable_permission(); +} + +const char *next_usable_permission() +{ + while(indexiter < nrpermissions) { + struct permission *p = &permissions[indexiter++]; + if (p->granted && p->requested) + return p->name; + } + return NULL; +} + |