summaryrefslogtreecommitdiff
path: root/sal/osl/w32/file_dirvol.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sal/osl/w32/file_dirvol.cxx')
-rw-r--r--sal/osl/w32/file_dirvol.cxx140
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,