45 lines
1.3 KiB
C
45 lines
1.3 KiB
C
|
/* SPDX-License-Identifier: MIT */
|
||
|
/**
|
||
|
@file diskstatus.h
|
||
|
@brief Declares the AJADiskStatus class.
|
||
|
@copyright (C) 2013-2021 AJA Video Systems, Inc. All rights reserved.
|
||
|
**/
|
||
|
|
||
|
#ifndef AJA_DISK_STATUS_H
|
||
|
#define AJA_DISK_STATUS_H
|
||
|
|
||
|
#include "ajabase/common/public.h"
|
||
|
|
||
|
typedef enum
|
||
|
{
|
||
|
AJADiskStatusUnitTypeByte,
|
||
|
AJADiskStatusUnitTypeKiloByte,
|
||
|
AJADiskStatusUnitTypeMegaByte,
|
||
|
AJADiskStatusUnitTypeGigaByte
|
||
|
} AJADiskStatusUnitType;
|
||
|
|
||
|
/**
|
||
|
* System independent disk status.
|
||
|
* @ingroup AJAGroupSystem
|
||
|
*/
|
||
|
class AJA_EXPORT AJADiskStatus
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
AJADiskStatus();
|
||
|
virtual ~AJADiskStatus();
|
||
|
|
||
|
/**
|
||
|
* Get the available free space and total drive space for path.
|
||
|
*
|
||
|
* @param[in] dirPath Path to the volume to get space info about.
|
||
|
* @param[out] freeSpace Available free space on volume in unitType units, is untouched if return is false.
|
||
|
* @param[out] totalSpace Total space on volume in unitType units, is untouched if return is false.
|
||
|
* @param[in] unitType Unit of measure for space values, B, KB, MB, GB
|
||
|
* @return true if successfully got space info for path, false for failure.
|
||
|
*/
|
||
|
static bool GetFreeAndTotalSpace(const char* dirPath, double& freeSpace, double& totalSpace, AJADiskStatusUnitType unitType = AJADiskStatusUnitTypeGigaByte);
|
||
|
};
|
||
|
|
||
|
#endif // AJA_DISK_STATUS_H
|