mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-06 19:20:09 +00:00
dce6e14e3e
The utilities in os/session_policy.h used to be tailored for the matching of session arguments against a server-side policy configuration. However, the policy-matching part is useful in other situations, too. This patch removes the tight coupling with the session-argument parsing (via Arg_string) and the hard-wired use of 'Genode::config()'. To make the utilities more versatile, the 'Session_label' has become a 'Genode::String' (at the time when we originally introduced the 'Session_label', there was no 'Genode::String'). The parsing of the session arguments happens in the constructor of this special 'String'. The constructor of 'Session_policy' now takes a 'Genode::String' as argument. So it can be used with the 'Session_label' but also with other 'String' types. Furthermore, the implicit use of 'Genode::config()' can be overridden by explicitly specifying the config node as an argument.