diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /accessible/base/RoleHGen.py | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'accessible/base/RoleHGen.py')
-rw-r--r-- | accessible/base/RoleHGen.py | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/accessible/base/RoleHGen.py b/accessible/base/RoleHGen.py new file mode 100644 index 0000000000..374d2f66a9 --- /dev/null +++ b/accessible/base/RoleHGen.py @@ -0,0 +1,42 @@ +#!/usr/bin/env python +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. + +import re + + +def generate(roleH, roleIdl): + input = open(roleIdl, "rt").read() + roles = re.findall(r"const unsigned long ROLE_([A-Z_]+) = (\d+);", input) + + roleH.write( + "/* THIS FILE IS AUTOGENERATED - DO NOT EDIT */\n" + "/* Roles are defined in accessible/interfaces/nsIAccessibleRole.idl */\n\n" + "#ifndef _role_h_\n" + "#define _role_h_\n\n" + "namespace mozilla {\n" + "namespace a11y {\n" + "namespace roles {\n\n" + "enum Role {\n" + ) + for name, num in roles: + roleH.write(f" {name} = {num},\n") + lastName = roles[-1][0] + roleH.write( + f" LAST_ROLE = {lastName}\n" + "};\n\n" + "} // namespace roles\n\n" + "typedef enum mozilla::a11y::roles::Role role;\n\n" + "} // namespace a11y\n" + "} // namespace mozilla\n\n" + "#endif\n" + ) + + +# For debugging +if __name__ == "__main__": + import sys + + generate(sys.stdout, "accessible/interfaces/nsIAccessibleRole.idl") |