From: Tobias Ulmer Date: Wed, 25 Jan 2017 16:28:24 +0000 (+0100) Subject: result: add function to iterate over result classes X-Git-Tag: e2factory-2.3.17~36 X-Git-Url: https://git.e2factory.org/?a=commitdiff_plain;h=ebe37c4f126c6d6461801f5f49597ea474549b96;p=e2factory.git result: add function to iterate over result classes Signed-off-by: Tobias Ulmer --- diff --git a/local/result.lua b/local/result.lua index 0649ea5..0671fa8 100644 --- a/local/result.lua +++ b/local/result.lua @@ -816,6 +816,30 @@ function result.register_result_class(typ, result_class) return true end +--- Iterate over registered result classes. +-- @return Iterator function that returns a sorted type, result class pair. +function result.iterate_result_classes() + local i, t + + t = {} + for typ,_ in pairs(result_types) do + table.insert(t, typ) + end + table.sort(t) + + i = 0 + + return function () + i = i + 1 + + if t[i] then + return t[i], result_types[t[i]] + end + + return nil + end +end + --- local function detect_result(rawres) if not rawres.type then