diff options
Diffstat (limited to 'sal/osl/w32/file_dirvol.cxx')
-rw-r--r-- | sal/osl/w32/file_dirvol.cxx | 140 |
1 files changed, 70 insertions, 70 deletions
diff --git a/sal/osl/w32/file_dirvol.cxx b/sal/osl/w32/file_dirvol.cxx index 071e29447176..2f598720e787 100644 --- a/sal/osl/w32/file_dirvol.cxx +++ b/sal/osl/w32/file_dirvol.cxx @@ -39,12 +39,12 @@ #include <ctype.h> #endif -//##################################################### + static const wchar_t UNC_PREFIX[] = L"\\\\"; static const wchar_t BACKSLASH = '\\'; static const wchar_t SLASH = '/'; -//##################################################### + extern "C" BOOL TimeValueToFileTime(const TimeValue *cpTimeVal, FILETIME *pFTime) { SYSTEMTIME BaseSysTime; @@ -77,7 +77,7 @@ extern "C" BOOL TimeValueToFileTime(const TimeValue *cpTimeVal, FILETIME *pFTime return fSuccess; } -//##################################################### + extern "C" BOOL FileTimeToTimeValue(const FILETIME *cpFTime, TimeValue *pTimeVal) { SYSTEMTIME BaseSysTime; @@ -108,10 +108,10 @@ extern "C" BOOL FileTimeToTimeValue(const FILETIME *cpFTime, TimeValue *pTimeVal return fSuccess; } -//##################################################### + namespace /* private */ { - //##################################################### + struct Component { Component() : @@ -125,7 +125,7 @@ namespace /* private */ const sal_Unicode* end_; }; - //##################################################### + struct UNCComponents { Component server_; @@ -133,15 +133,15 @@ namespace /* private */ Component resource_; }; - //##################################################### + inline bool is_UNC_path(const sal_Unicode* path) { return (0 == wcsncmp(UNC_PREFIX, reinterpret_cast<LPCWSTR>(path), SAL_N_ELEMENTS(UNC_PREFIX) - 1)); } - //##################################################### + inline bool is_UNC_path(const rtl::OUString& path) { return is_UNC_path(path.getStr()); } - //##################################################### + void parse_UNC_path(const sal_Unicode* path, UNCComponents* puncc) { OSL_PRECOND(is_UNC_path(path), "Precondition violated: No UNC path"); @@ -178,12 +178,12 @@ namespace /* private */ "Postcondition violated: Invalid UNC path detected"); } - //##################################################### + void parse_UNC_path(const rtl::OUString& path, UNCComponents* puncc) { parse_UNC_path(path.getStr(), puncc); } - //##################################################### + bool has_path_parent(const sal_Unicode* path) { // Has the given path a parent or are we already there, @@ -203,17 +203,17 @@ namespace /* private */ return has_parent; } - //##################################################### + inline bool has_path_parent(const rtl::OUString& path) { return has_path_parent(path.getStr()); } } // end namespace private -//##################################################### + // volume handling functions -//##################################################### -//##################################################### + + oslFileError SAL_CALL osl_acquireVolumeDeviceHandle( oslVolumeDeviceHandle Handle ) { if ( Handle ) @@ -225,7 +225,7 @@ oslFileError SAL_CALL osl_acquireVolumeDeviceHandle( oslVolumeDeviceHandle Handl return osl_File_E_INVAL; } -//##################################################### + oslFileError SAL_CALL osl_releaseVolumeDeviceHandle( oslVolumeDeviceHandle Handle ) { if ( Handle ) @@ -237,7 +237,7 @@ oslFileError SAL_CALL osl_releaseVolumeDeviceHandle( oslVolumeDeviceHandle Handl return osl_File_E_INVAL; } -//##################################################### + oslFileError SAL_CALL osl_getVolumeDeviceMountPath( oslVolumeDeviceHandle Handle, rtl_uString **pstrPath ) { if ( Handle && pstrPath ) @@ -249,9 +249,9 @@ oslFileError SAL_CALL osl_getVolumeDeviceMountPath( oslVolumeDeviceHandle Handle return osl_File_E_INVAL; } -//################################################################## + // directory handling functions -//################################################################## + #define DIRECTORYITEM_DRIVE 0 #define DIRECTORYITEM_FILE 1 @@ -269,7 +269,7 @@ struct DirectoryItem_Impl int nRefCount; }; -//##################################################### + #define DIRECTORYTYPE_LOCALROOT 0 #define DIRECTORYTYPE_NETROOT 1 @@ -285,7 +285,7 @@ struct Directory_Impl rtl_uString* m_pDirectoryPath; }; -//##################################################### + typedef struct tagDRIVEENUM { @@ -294,7 +294,7 @@ typedef struct tagDRIVEENUM LPCTSTR lpCurrent; } DRIVEENUM, * PDRIVEENUM, FAR * LPDRIVEENUM; -//##################################################### + static HANDLE WINAPI OpenLogicalDrivesEnum(void) { @@ -317,7 +317,7 @@ static HANDLE WINAPI OpenLogicalDrivesEnum(void) return pEnum ? (HANDLE)pEnum : INVALID_HANDLE_VALUE; } -//##################################################### + static BOOL WINAPI EnumLogicalDrives(HANDLE hEnum, LPTSTR lpBuffer) { BOOL fSuccess = FALSE; @@ -342,7 +342,7 @@ static BOOL WINAPI EnumLogicalDrives(HANDLE hEnum, LPTSTR lpBuffer) return fSuccess; } -//##################################################### + static BOOL WINAPI CloseLogicalDrivesEnum(HANDLE hEnum) { BOOL fSuccess = FALSE; @@ -359,14 +359,14 @@ static BOOL WINAPI CloseLogicalDrivesEnum(HANDLE hEnum) return fSuccess; } -//##################################################### + typedef struct tagDIRECTORY { HANDLE hFind; WIN32_FIND_DATA aFirstData; } DIRECTORY, *PDIRECTORY, FAR *LPDIRECTORY; -//##################################################### + static HANDLE WINAPI OpenDirectory( rtl_uString* pPath) { LPDIRECTORY pDirectory = NULL; @@ -413,7 +413,7 @@ static HANDLE WINAPI OpenDirectory( rtl_uString* pPath) return (HANDLE)pDirectory; } -//##################################################### + BOOL WINAPI EnumDirectory(HANDLE hDirectory, LPWIN32_FIND_DATA pFindData) { BOOL fSuccess = FALSE; @@ -449,7 +449,7 @@ BOOL WINAPI EnumDirectory(HANDLE hDirectory, LPWIN32_FIND_DATA pFindData) return fSuccess; } -//##################################################### + static BOOL WINAPI CloseDirectory(HANDLE hDirectory) { BOOL fSuccess = FALSE; @@ -468,7 +468,7 @@ static BOOL WINAPI CloseDirectory(HANDLE hDirectory) return fSuccess; } -//##################################################### + static oslFileError osl_openLocalRoot( rtl_uString *strDirectoryPath, oslDirectory *pDirectory) { @@ -540,7 +540,7 @@ static oslFileError osl_openLocalRoot( return error; } -//##################################################### + static oslFileError SAL_CALL osl_openFileDirectory( rtl_uString *strDirectoryPath, oslDirectory *pDirectory) { @@ -593,7 +593,7 @@ static oslFileError SAL_CALL osl_openFileDirectory( return error; } -//##################################################### + static oslFileError SAL_CALL osl_openNetworkServer( rtl_uString *strSysDirPath, oslDirectory *pDirectory) { @@ -625,7 +625,7 @@ static oslFileError SAL_CALL osl_openNetworkServer( return oslTranslateFileError( dwError ); } -//############################################# + static DWORD create_dir_with_callback( rtl_uString * dir_path, oslDirectoryCreationCallbackFunc aDirectoryCreationCallbackFunc, @@ -652,7 +652,7 @@ static DWORD create_dir_with_callback( return GetLastError(); } -//############################################# + static int path_make_parent(sal_Unicode* path) { /* Cut off the last part of the given path to @@ -671,7 +671,7 @@ static int path_make_parent(sal_Unicode* path) return (pos_last_backslash - path); } -//############################################# + static DWORD create_dir_recursively_( rtl_uString * dir_path, oslDirectoryCreationCallbackFunc aDirectoryCreationCallbackFunc, @@ -702,7 +702,7 @@ static DWORD create_dir_recursively_( return create_dir_recursively_(dir_path, aDirectoryCreationCallbackFunc, pData); } -//############################################# + oslFileError SAL_CALL osl_createDirectoryPath( rtl_uString* aDirectoryUrl, oslDirectoryCreationCallbackFunc aDirectoryCreationCallbackFunc, @@ -727,7 +727,7 @@ oslFileError SAL_CALL osl_createDirectoryPath( sys_path.pData, aDirectoryCreationCallbackFunc, pData)); } -//##################################################### + oslFileError SAL_CALL osl_createDirectory(rtl_uString* strPath) { rtl_uString *strSysPath = NULL; @@ -765,7 +765,7 @@ oslFileError SAL_CALL osl_createDirectory(rtl_uString* strPath) return error; } -//##################################################### + oslFileError SAL_CALL osl_removeDirectory(rtl_uString* strPath) { rtl_uString *strSysPath = NULL; @@ -783,7 +783,7 @@ oslFileError SAL_CALL osl_removeDirectory(rtl_uString* strPath) return error; } -//##################################################### + oslFileError SAL_CALL osl_openDirectory(rtl_uString *strDirectoryPath, oslDirectory *pDirectory) { oslFileError error; @@ -814,7 +814,7 @@ oslFileError SAL_CALL osl_openDirectory(rtl_uString *strDirectoryPath, oslDirect return error; } -//##################################################### + static oslFileError SAL_CALL osl_getNextNetResource( oslDirectory Directory, oslDirectoryItem *pItem, sal_uInt32 /*uHint*/ ) { @@ -860,7 +860,7 @@ static oslFileError SAL_CALL osl_getNextNetResource( } } -//##################################################### + static oslFileError SAL_CALL osl_getNextDrive( oslDirectory Directory, oslDirectoryItem *pItem, sal_uInt32 /*uHint*/ ) { @@ -902,7 +902,7 @@ static oslFileError SAL_CALL osl_getNextDrive( } } -//##################################################### + static oslFileError SAL_CALL osl_getNextFileItem( oslDirectory Directory, oslDirectoryItem *pItem, sal_uInt32 /*uHint*/) { @@ -951,7 +951,7 @@ static oslFileError SAL_CALL osl_getNextFileItem( } } -//##################################################### + oslFileError SAL_CALL osl_getNextDirectoryItem( oslDirectory Directory, oslDirectoryItem *pItem, sal_uInt32 uHint) { @@ -979,7 +979,7 @@ oslFileError SAL_CALL osl_getNextDirectoryItem( } } -//##################################################### + oslFileError SAL_CALL osl_closeDirectory(oslDirectory Directory) { Directory_Impl *pDirImpl = (Directory_Impl *)Directory; @@ -1017,7 +1017,7 @@ oslFileError SAL_CALL osl_closeDirectory(oslDirectory Directory) return eError; } -//##################################################### + /* Different types of paths */ typedef enum _PATHTYPE { @@ -1157,7 +1157,7 @@ oslFileError SAL_CALL osl_getDirectoryItem(rtl_uString *strFilePath, oslDirector return error; } -//##################################################### + oslFileError SAL_CALL osl_acquireDirectoryItem( oslDirectoryItem Item ) { DirectoryItem_Impl *pItemImpl = (DirectoryItem_Impl *)Item; @@ -1169,7 +1169,7 @@ oslFileError SAL_CALL osl_acquireDirectoryItem( oslDirectoryItem Item ) return osl_File_E_None; } -//##################################################### + oslFileError SAL_CALL osl_releaseDirectoryItem( oslDirectoryItem Item ) { DirectoryItem_Impl *pItemImpl = (DirectoryItem_Impl *)Item; @@ -1211,19 +1211,19 @@ SAL_CALL osl_identicalDirectoryItem( oslDirectoryItem a, oslDirectoryItem b) return sal_False; } -//##################################################### + // volume / file info handling functions -//##################################################### -//##################################################### + + static inline bool is_floppy_A_present() { return (GetLogicalDrives() & 1); } -//##################################################### + static inline bool is_floppy_B_present() { return (GetLogicalDrives() & 2); } -//##################################################### + bool is_floppy_volume_mount_point(const rtl::OUString& path) { // determines if a volume mount point shows to a floppy @@ -1251,7 +1251,7 @@ bool is_floppy_volume_mount_point(const rtl::OUString& path) return false; } -//################################################ + static bool is_floppy_drive(const rtl::OUString& path) { static const LPCWSTR FLOPPY_DRV_LETTERS = TEXT("AaBb"); @@ -1266,7 +1266,7 @@ static bool is_floppy_drive(const rtl::OUString& path) return ((wcschr(FLOPPY_DRV_LETTERS, pszPath[0]) && (L':' == pszPath[1])) || is_floppy_volume_mount_point(path)); } -//##################################################### + static bool is_volume_mount_point(const rtl::OUString& path) { rtl::OUString p(path); @@ -1297,7 +1297,7 @@ static bool is_volume_mount_point(const rtl::OUString& path) return is_volume_root; } -//############################################# + static UINT get_volume_mount_point_drive_type(const rtl::OUString& path) { if (0 == path.getLength()) @@ -1313,13 +1313,13 @@ static UINT get_volume_mount_point_drive_type(const rtl::OUString& path) return DRIVE_NO_ROOT_DIR; } -//############################################# + static inline bool is_drivetype_request(sal_uInt32 field_mask) { return (field_mask & osl_VolumeInfo_Mask_Attributes); } -//############################################# + static oslFileError osl_get_drive_type( const rtl::OUString& path, oslVolumeInfo* pInfo) { @@ -1366,7 +1366,7 @@ static oslFileError osl_get_drive_type( return osl_File_E_None; } -//############################################# + static inline bool is_volume_space_info_request(sal_uInt32 field_mask) { return (field_mask & @@ -1375,7 +1375,7 @@ static inline bool is_volume_space_info_request(sal_uInt32 field_mask) osl_VolumeInfo_Mask_FreeSpace)); } -//############################################# + static void get_volume_space_information( const rtl::OUString& path, oslVolumeInfo *pInfo) { @@ -1394,7 +1394,7 @@ static void get_volume_space_information( } } -//############################################# + static inline bool is_filesystem_attributes_request(sal_uInt32 field_mask) { return (field_mask & @@ -1404,7 +1404,7 @@ static inline bool is_filesystem_attributes_request(sal_uInt32 field_mask) osl_VolumeInfo_Mask_FileSystemCaseHandling)); } -//############################################# + static oslFileError get_filesystem_attributes( const rtl::OUString& path, sal_uInt32 field_mask, oslVolumeInfo* pInfo) { @@ -1458,7 +1458,7 @@ static oslFileError get_filesystem_attributes( return osl_File_E_None; } -//##################################################### + static bool path_get_parent(rtl::OUString& path) { OSL_PRECOND(path.lastIndexOf(SLASH) == -1, "Path must not have slashes"); @@ -1475,7 +1475,7 @@ static bool path_get_parent(rtl::OUString& path) return false; } -//##################################################### + static void path_travel_to_volume_root(const rtl::OUString& system_path, rtl::OUString& volume_root) { rtl::OUString sys_path(system_path); @@ -1487,7 +1487,7 @@ static void path_travel_to_volume_root(const rtl::OUString& system_path, rtl::OU osl::systemPathEnsureSeparator(volume_root); } -//############################################# + oslFileError SAL_CALL osl_getVolumeInformation( rtl_uString *ustrURL, oslVolumeInfo *pInfo, sal_uInt32 uFieldMask ) { @@ -1522,7 +1522,7 @@ oslFileError SAL_CALL osl_getVolumeInformation( return osl_File_E_None; } -//##################################################### + static oslFileError SAL_CALL osl_getDriveInfo( oslDirectoryItem Item, oslFileStatus *pStatus, sal_uInt32 uFieldMask) { @@ -1621,7 +1621,7 @@ static oslFileError SAL_CALL osl_getDriveInfo( return osl_File_E_None; } -//##################################################### + static oslFileError SAL_CALL osl_getServerInfo( oslDirectoryItem Item, oslFileStatus *pStatus, sal_uInt32 uFieldMask ) { @@ -1651,7 +1651,7 @@ static oslFileError SAL_CALL osl_getServerInfo( return osl_File_E_None; } -//############################################# + oslFileError SAL_CALL osl_getFileStatus( oslDirectoryItem Item, oslFileStatus *pStatus, @@ -1767,11 +1767,11 @@ oslFileError SAL_CALL osl_getFileStatus( return osl_File_E_None; } -//##################################################### + // file attributes handling functions -//##################################################### -//############################################# + + oslFileError SAL_CALL osl_setFileAttributes( rtl_uString *ustrFileURL, sal_uInt64 uAttributes ) @@ -1812,7 +1812,7 @@ oslFileError SAL_CALL osl_setFileAttributes( return error; } -//##################################################### + oslFileError SAL_CALL osl_setFileTime( rtl_uString *filePath, const TimeValue *aCreationTime, |