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
|