blob: 46cf933797fb7038d6d68039c0206c91c1e61413 [file] [log] [blame]
#include "libplatform/impl.h"
#include <sys/stat.h>
namespace mp4v2 { namespace platform { namespace io {
///////////////////////////////////////////////////////////////////////////////
bool
FileSystem::exists( string path_ )
{
struct stat buf;
return stat( path_.c_str(), &buf ) == 0;
}
///////////////////////////////////////////////////////////////////////////////
bool
FileSystem::isDirectory( string path_ )
{
struct stat buf;
if( stat( path_.c_str(), &buf ))
return false;
return S_ISDIR( buf.st_mode );
}
///////////////////////////////////////////////////////////////////////////////
bool
FileSystem::isFile( string path_ )
{
struct stat buf;
if( stat( path_.c_str(), &buf ))
return false;
return S_ISREG( buf.st_mode );
}
///////////////////////////////////////////////////////////////////////////////
bool
FileSystem::getFileSize( string path_, File::Size& size_ )
{
size_ = 0;
struct stat buf;
if( stat( path_.c_str(), &buf ))
return true;
size_ = buf.st_size;
return false;
}
///////////////////////////////////////////////////////////////////////////////
bool
FileSystem::rename( string from, string to )
{
return ::rename( from.c_str(), to.c_str() ) != 0;
}
///////////////////////////////////////////////////////////////////////////////
string FileSystem::DIR_SEPARATOR = "/";
string FileSystem::PATH_SEPARATOR = ":";
///////////////////////////////////////////////////////////////////////////////
}}} // namespace mp4v2::platform::io