XmlSourceData.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. // Copyright (c) 2008-2023 the Urho3D project
  2. // License: MIT
  3. #pragma once
  4. #include <PugiXml/pugixml.hpp>
  5. #include <string>
  6. #include <unordered_map>
  7. #include <vector>
  8. namespace SourceData
  9. {
  10. // All classes and structs
  11. extern std::unordered_map<std::string, pugi::xml_node> classesByID_; // id -> compounddef
  12. // All classes and structs from Urho3D namepace
  13. extern std::unordered_map<std::string, pugi::xml_node> classesByName_; // name -> compounddef
  14. // Huge table with all members of all classes and structs
  15. extern std::unordered_map<std::string, pugi::xml_node> members_; // id -> memberdef
  16. // All enums from Urho3D namepace
  17. extern std::unordered_map<std::string, pugi::xml_node> enums_; // name -> memberdef
  18. // List of all defines. Used to detect that some function is a #define actually
  19. extern std::vector<std::string> defines_;
  20. // Namespace Urho3D contains enums, global functions and global variables
  21. extern pugi::xml_node namespaceUrho3D_; // compounddef from file namespace_urho3_d.xml
  22. // All usings from namespace Urho3D
  23. extern std::vector<pugi::xml_node> usings_; // memberdefs
  24. // Header files with @nobindfile mark at the beginning
  25. extern std::vector<std::string> ignoredHeaders_;
  26. // Init all variables above
  27. void LoadAllXmls(const std::string& dir);
  28. }