let available_views ?kind () =
match kind with
None -> List.map (fun f -> f#name) !factories
| Some k ->
List.fold_left
(fun acc f ->
if List.mem k f#known_ressource_kinds then
f#name :: acc
else
acc
)
[]
!factories