bool Filesystem::path_usable( const QString& path, bool create, bool silent ) { if( !QDir( path ).exists() ) { if( !silent ) INFOLOG( QString( "create user directory : %1" ).arg( path ) ); if( create && !QDir( "/" ).mkpath( path ) ) { if( !silent ) ERRORLOG( QString( "unable to create user directory : %1" ).arg( path ) ); return false; } } return dir_readable( path, silent ) && dir_writable( path, silent ); }
bool Filesystem::check_sys_paths() { if( !dir_readable( __sys_data_path ) ) return false; if( !dir_readable( img_dir() ) ) return false; if( !dir_readable( xsd_dir() ) ) return false; if( !dir_readable( doc_dir() ) ) return false; if( !dir_readable( i18n_dir() ) ) return false; if( !dir_readable( demos_dir() ) ) return false; if( !file_readable( click_file() ) ) return false; if( !file_readable( empty_song() ) ) return false; if( !file_readable( empty_sample() ) ) return false; //@Jeremy: Please check if those files are obsolote //if( !file_readable( sys_gui_config() ) ) return false; //if( !file_readable( sys_core_config() ) ) return false; //if( !file_readable( pattern_xsd() ) ) return false; if( !dir_readable( sys_drumkits_dir() ) ) return false; if( !file_readable( drumkit_xsd() ) ) return false; if( !file_readable( drumkit_pattern_xsd() ) ) return false; INFOLOG( QString( "system wide data path %1 is usable." ).arg( __sys_data_path ) ); return true; }
#include <edelib/Directory.h> #include <edelib/File.h> #include "UnitTest.h" EDELIB_NS_USE UT_FUNC(DirectoryFunctions, "Test Directory functions") { #if 0 UT_VERIFY( dir_exists("/") ); UT_VERIFY( dir_readable(".") ); UT_VERIFY( dir_writeable(".") ); UT_VERIFY( dir_exists("/root") ); UT_VERIFY( dir_readable("/root") == false ); UT_VERIFY( dir_writeable("/root") == false ); UT_VERIFY( dir_exists("/we/dont/have/this/directory") == false ); UT_VERIFY( dir_readable("/we/dont/have/this/directory") == false ); UT_VERIFY( dir_writeable("/we/dont/have/this/directory") == false ); UT_VERIFY( dir_exists("Jamfile") == false ); UT_VERIFY( dir_exists("../Jamfile") == false ); UT_VERIFY( dir_exists("../../src/File.cpp") == false ); UT_VERIFY( dir_writeable("../../src/File.cpp") == false ); UT_VERIFY( dir_exists("../edelib") ); #endif UT_VERIFY( dir_home() != "" ); UT_VERIFY( dir_current() != "" );