ScopedLgp.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*
  2. * Copyright (C) 2022 The V-Gears Team
  3. *
  4. * This file is part of V-Gears
  5. *
  6. * V-Gears is free software: you can redistribute it and/or modify it under
  7. * terms of the GNU General Public License as published by the Free Software
  8. * Foundation, version 3.0 (GPLv3) of the License.
  9. *
  10. * V-Gears is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. * GNU General Public License for more details.
  14. */
  15. #pragma once
  16. #include <Ogre.h>
  17. /**
  18. * Handles a scoped LGP archive.
  19. */
  20. class ScopedLgp{
  21. public:
  22. /**
  23. * Constructor.
  24. *
  25. * Don't use directly.
  26. */
  27. ScopedLgp(const ScopedLgp&) = delete;
  28. /**
  29. * Copy constructor.
  30. *
  31. * Don't use directly.
  32. */
  33. ScopedLgp& operator = (const ScopedLgp&) = delete;
  34. /**
  35. * Constructor.
  36. */
  37. ScopedLgp(Ogre::Root* root, std::string full_path, std::string type, std::string group);
  38. /**
  39. * Destructor.
  40. */
  41. ~ScopedLgp();
  42. private:
  43. /**
  44. * The Ogre root system.
  45. */
  46. Ogre::Root* root_;
  47. /**
  48. * Full path to the LGP archive.
  49. */
  50. std::string full_path_;
  51. /**
  52. * Group for the resource.
  53. */
  54. std::string group_;
  55. };