blob: 6c8175b2024795d94819958e400dd15874fceb01 [file] [log] [blame]
//
// Copyright © 2020 Arm Ltd. All rights reserved.
// SPDX-License-Identifier: MIT
//
#include "Filesystem.hpp"
#if defined(__unix__)
#include <sys/stat.h>
#include <stdio.h>
#elif defined(_MSC_VER)
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
#endif
namespace armnnUtils
{
namespace Filesystem
{
long long GetFileSize(const char* path)
{
#if defined(__ANDROID__)
struct stat statusBuffer;
if (stat(path, & statusBuffer) != 0)
{
return -1;
}
return statusBuffer.st_size;
#elif defined(__unix__)
struct stat statusBuffer;
if (stat(path, & statusBuffer) != 0)
{
return -1;
}
return static_cast<long long>(statusBuffer.st_size);
#elif defined(_MSC_VER)
WIN32_FILE_ATTRIBUTE_DATA attr;
if (::GetFileAttributesEx(path, GetFileExInfoStandard, &attr) == 0)
{
return -1;
}
return attr.nFileSizeLow;
#endif
}
bool Remove(const char* path)
{
#if defined(__unix__)
return remove(path) == 0;
#elif defined(_MSC_VER)
return ::DeleteFile(path);
#endif
}
}
}