暂无描述
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

Directory.cpp 2.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include "os/c-api/il2cpp-config-platforms.h"
  2. #include "os/Directory.h"
  3. #include "os/c-api/Directory-c-api.h"
  4. #include "Allocator.h"
  5. #include "utils/StringUtils.h"
  6. #include "utils/StringViewUtils.h"
  7. #include <string>
  8. extern "C"
  9. {
  10. const char* UnityPalDirectoryGetCurrent(int* error)
  11. {
  12. return Allocator::CopyToAllocatedStringBuffer(il2cpp::os::Directory::GetCurrent(error));
  13. }
  14. UnityPalFindHandle* UnityPalDirectoryFindHandleNew(const char* searchPathWithPattern)
  15. {
  16. Il2CppNativeString pattern(il2cpp::utils::StringUtils::Utf8ToNativeString(searchPathWithPattern));
  17. return new il2cpp::os::Directory::FindHandle(STRING_TO_STRINGVIEW(pattern));
  18. }
  19. void UnityPalDirectoryFindHandleDelete(UnityPalFindHandle* object)
  20. {
  21. IL2CPP_ASSERT(object);
  22. delete object;
  23. }
  24. int32_t UnityPalDirectoryCloseOSHandle(UnityPalFindHandle* object)
  25. {
  26. IL2CPP_ASSERT(object);
  27. return object->CloseOSHandle();
  28. }
  29. UnityPalErrorCode UnityPalDirectoryFindFirstFile(UnityPalFindHandle* findHandle, const char* searchPathWithPattern, char** resultFileName, int32_t* resultAttributes)
  30. {
  31. Il2CppNativeString pattern(il2cpp::utils::StringUtils::Utf8ToNativeString(searchPathWithPattern));
  32. Il2CppNativeString nativeFileName;
  33. UnityPalErrorCode retVal = il2cpp::os::Directory::FindFirstFile(findHandle, STRING_TO_STRINGVIEW(pattern), &nativeFileName, resultAttributes);
  34. *resultFileName = Allocator::CopyToAllocatedStringBuffer(il2cpp::utils::StringUtils::NativeStringToUtf8(nativeFileName));
  35. return retVal;
  36. }
  37. UnityPalErrorCode UnityPalDirectoryFindNextFile(UnityPalFindHandle* findHandle, char** resultFileName, int32_t* resultAttributes)
  38. {
  39. Il2CppNativeString nativeFileName;
  40. UnityPalErrorCode retVal = il2cpp::os::Directory::FindNextFile(findHandle, &nativeFileName, resultAttributes);
  41. *resultFileName = Allocator::CopyToAllocatedStringBuffer(il2cpp::utils::StringUtils::NativeStringToUtf8(nativeFileName));
  42. return retVal;
  43. }
  44. }