IDLGenerators.h 1.4 KB

123456789101112131415161718192021222324252627282930313233
  1. /*
  2. * Copyright (c) 2020-2023, Andreas Kling <kling@serenityos.org>
  3. * Copyright (c) 2021-2023, Linus Groh <linusg@serenityos.org>
  4. * Copyright (c) 2021-2023, Luke Wilde <lukew@serenityos.org>
  5. * Copyright (c) 2022, Ali Mohammad Pur <mpfard@serenityos.org>
  6. * Copyright (c) 2023-2024, Kenneth Myhra <kennethmyhra@serenityos.org>
  7. * Copyright (c) 2023-2024, Shannon Booth <shannon@serenityos.org>
  8. * Copyright (c) 2023-2024, Matthew Olsson <mattco@serenityos.org>
  9. *
  10. * SPDX-License-Identifier: BSD-2-Clause
  11. */
  12. #pragma once
  13. #include <AK/StringBuilder.h>
  14. #include <LibIDL/Types.h>
  15. namespace IDL {
  16. void generate_namespace_header(IDL::Interface const&, StringBuilder&);
  17. void generate_namespace_implementation(IDL::Interface const&, StringBuilder&);
  18. void generate_constructor_header(IDL::Interface const&, StringBuilder&);
  19. void generate_constructor_implementation(IDL::Interface const&, StringBuilder&);
  20. void generate_prototype_header(IDL::Interface const&, StringBuilder&);
  21. void generate_prototype_implementation(IDL::Interface const&, StringBuilder&);
  22. void generate_iterator_prototype_header(IDL::Interface const&, StringBuilder&);
  23. void generate_iterator_prototype_implementation(IDL::Interface const&, StringBuilder&);
  24. void generate_global_mixin_header(IDL::Interface const&, StringBuilder&);
  25. void generate_global_mixin_implementation(IDL::Interface const&, StringBuilder&);
  26. extern Vector<StringView> g_header_search_paths;
  27. }