X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fwgtpkg-permissions.c;h=e20cede7ce5ece2fbe07862bd2a2419d413d1dbc;hb=12a227a2fc574cf0fd560453e1cdd15c50550abb;hp=25758e407a89faeb1f9b741a88d8fbc0f6c08ca8;hpb=9ab266df6642c6e930e03b3024d7c3d53ef88bbc;p=src%2Fapp-framework-main.git 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; +} +