blob: 70388dcbbe523d0c0e6cc4d2362ddb39a5bab282 [file] [log] [blame]
///////////////////////////////////////////////////////////////////////////////
//
// The contents of this file are subject to the Mozilla Public License
// Version 1.1 (the "License"); you may not use this file except in
// compliance with the License. You may obtain a copy of the License at
// http://www.mozilla.org/MPL/
//
// Software distributed under the License is distributed on an "AS IS"
// basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
// License for the specific language governing rights and limitations
// under the License.
//
// The Original Code is MP4v2.
//
// The Initial Developer of the Original Code is Kona Blend.
// Portions created by Kona Blend are Copyright (C) 2008.
// All Rights Reserved.
//
// Contributors:
// Kona Blend, kona8lend@@gmail.com
//
///////////////////////////////////////////////////////////////////////////////
#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