DummyResource.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. // Copyright (C) 2009-present, Panagiotis Christopoulos Charitos and contributors.
  2. // All rights reserved.
  3. // Code licensed under the BSD License.
  4. // http://www.anki3d.org/LICENSE
  5. #pragma once
  6. #include <AnKi/Resource/ResourceObject.h>
  7. #include <AnKi/Resource/ResourceManager.h>
  8. namespace anki {
  9. /// @addtogroup resource_private
  10. /// @{
  11. /// A dummy resource for the unit tests of the ResourceManager
  12. class DummyResource : public ResourceObject
  13. {
  14. public:
  15. DummyResource(CString fname, U32 uuid)
  16. : ResourceObject(fname, uuid)
  17. {
  18. }
  19. ~DummyResource()
  20. {
  21. if(m_memory)
  22. {
  23. ResourceMemoryPool::getSingleton().free(m_memory);
  24. }
  25. }
  26. Error load(const ResourceFilename& filename, [[maybe_unused]] Bool async)
  27. {
  28. Error err = Error::kNone;
  29. if(filename.find("error") == CString::kNpos)
  30. {
  31. m_memory = ResourceMemoryPool::getSingleton().allocate(128, 1);
  32. void* tempMem = ResourceMemoryPool::getSingleton().allocate(128, 1);
  33. ResourceMemoryPool::getSingleton().free(tempMem);
  34. }
  35. else
  36. {
  37. ANKI_RESOURCE_LOGE("Dummy error");
  38. err = Error::kUserData;
  39. }
  40. return err;
  41. }
  42. private:
  43. void* m_memory = nullptr;
  44. };
  45. /// @}
  46. } // end namespace anki