File indexing completed on 2024-04-21 16:17:39

0001 /*
0002     SPDX-FileCopyrightText: 2019 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 // Qt
0010 #include <QMetaType>
0011 
0012 #include "formatter_export.h"
0013 
0014 namespace KSysGuard
0015 {
0016 FORMATTER_EXPORT Q_NAMESPACE
0017 
0018     /**
0019      * This enum type is used to specify metric prefixes.
0020      */
0021     enum MetricPrefix {
0022         MetricPrefixAutoAdjust = -1,
0023         MetricPrefixUnity = 0,
0024         MetricPrefixKilo,
0025         MetricPrefixMega,
0026         MetricPrefixGiga,
0027         MetricPrefixTera,
0028         MetricPrefixPeta,
0029         MetricPrefixLast = MetricPrefixPeta
0030     };
0031 Q_ENUM_NS(MetricPrefix)
0032 
0033 /**
0034  * This enum types is used to specify units.
0035  */
0036 enum Unit {
0037     UnitInvalid = -1,
0038     UnitNone = 0,
0039 
0040     // Byte size units.
0041     UnitByte = 100,
0042     UnitKiloByte = MetricPrefixKilo + UnitByte,
0043     UnitMegaByte = MetricPrefixMega + UnitByte,
0044     UnitGigaByte = MetricPrefixGiga + UnitByte,
0045     UnitTeraByte = MetricPrefixTera + UnitByte,
0046     UnitPetaByte = MetricPrefixPeta + UnitByte,
0047 
0048     // Data rate units.
0049     UnitByteRate = 200,
0050     UnitKiloByteRate = MetricPrefixKilo + UnitByteRate,
0051     UnitMegaByteRate = MetricPrefixMega + UnitByteRate,
0052     UnitGigaByteRate = MetricPrefixGiga + UnitByteRate,
0053     UnitTeraByteRate = MetricPrefixTera + UnitByteRate,
0054     UnitPetaByteRate = MetricPrefixPeta + UnitByteRate,
0055 
0056     // Frequency.
0057     UnitHertz = 300,
0058     UnitKiloHertz = MetricPrefixKilo + UnitHertz,
0059     UnitMegaHertz = MetricPrefixMega + UnitHertz,
0060     UnitGigaHertz = MetricPrefixGiga + UnitHertz,
0061     UnitTeraHertz = MetricPrefixTera + UnitHertz,
0062     UnitPetaHertz = MetricPrefixPeta + UnitHertz,
0063 
0064     // Time units.
0065     UnitBootTimestamp = 400,
0066     UnitSecond,
0067     UnitTime,
0068     UnitTicks,
0069 
0070     // Misc units.
0071     UnitCelsius = 500,
0072 
0073     // Data rate units in bits.
0074     UnitBitRate = 600,
0075     UnitKiloBitRate = MetricPrefixKilo + UnitBitRate,
0076     UnitMegaBitRate = MetricPrefixMega + UnitBitRate,
0077     UnitGigaBitRate = MetricPrefixGiga + UnitBitRate,
0078     UnitTeraBitRate = MetricPrefixTera + UnitBitRate,
0079     UnitPetaBitRate = MetricPrefixPeta + UnitBitRate,
0080 
0081     UnitDecibelMilliWatts,
0082     UnitPercent,
0083     UnitRate,
0084     UnitRpm,
0085     UnitVolt,
0086     UnitWatt,
0087     UnitWattHour,
0088     UnitAmpere
0089 };
0090 Q_ENUM_NS(Unit)
0091 
0092 } // namespace KSysGuard