Libksysguard

Unit.h
1/*
2 SPDX-FileCopyrightText: 2019 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.0-or-later
5*/
6
7#pragma once
8
9// Qt
10#include <QMetaType>
11
12#include "formatter_export.h"
13
14namespace KSysGuard
15{
16FORMATTER_EXPORT Q_NAMESPACE
17
18 /**
19 * This enum type is used to specify metric prefixes.
20 */
21 enum MetricPrefix {
22 MetricPrefixAutoAdjust = -1,
23 MetricPrefixUnity = 0,
24 MetricPrefixKilo,
25 MetricPrefixMega,
26 MetricPrefixGiga,
27 MetricPrefixTera,
28 MetricPrefixPeta,
29 MetricPrefixLast = MetricPrefixPeta
30 };
31Q_ENUM_NS(MetricPrefix)
32
33/**
34 * This enum types is used to specify units.
35 */
36enum Unit {
37 UnitInvalid = -1,
38 UnitNone = 0,
39
40 // Byte size units.
41 UnitByte = 100,
42 UnitKiloByte = MetricPrefixKilo + UnitByte,
43 UnitMegaByte = MetricPrefixMega + UnitByte,
44 UnitGigaByte = MetricPrefixGiga + UnitByte,
45 UnitTeraByte = MetricPrefixTera + UnitByte,
46 UnitPetaByte = MetricPrefixPeta + UnitByte,
47
48 // Data rate units.
49 UnitByteRate = 200,
50 UnitKiloByteRate = MetricPrefixKilo + UnitByteRate,
51 UnitMegaByteRate = MetricPrefixMega + UnitByteRate,
52 UnitGigaByteRate = MetricPrefixGiga + UnitByteRate,
53 UnitTeraByteRate = MetricPrefixTera + UnitByteRate,
54 UnitPetaByteRate = MetricPrefixPeta + UnitByteRate,
55
56 // Frequency.
57 UnitHertz = 300,
58 UnitKiloHertz = MetricPrefixKilo + UnitHertz,
59 UnitMegaHertz = MetricPrefixMega + UnitHertz,
60 UnitGigaHertz = MetricPrefixGiga + UnitHertz,
61 UnitTeraHertz = MetricPrefixTera + UnitHertz,
62 UnitPetaHertz = MetricPrefixPeta + UnitHertz,
63
64 // Time units.
65 UnitBootTimestamp = 400,
66 UnitSecond,
67 UnitTime,
68 UnitTicks,
69 UnitDuration,
70
71 // Data rate units in bits.
72 UnitBitRate = 500,
73 UnitKiloBitRate = MetricPrefixKilo + UnitBitRate,
74 UnitMegaBitRate = MetricPrefixMega + UnitBitRate,
75 UnitGigaBitRate = MetricPrefixGiga + UnitBitRate,
76 UnitTeraBitRate = MetricPrefixTera + UnitBitRate,
77 UnitPetaBitRate = MetricPrefixPeta + UnitBitRate,
78
79 // Volt.
80 UnitVolt = 600,
81 UnitKiloVolt = MetricPrefixKilo + UnitVolt,
82 UnitMegaVolt = MetricPrefixMega + UnitVolt,
83 UnitGigaVolt = MetricPrefixGiga + UnitVolt,
84 UnitTeraVolt = MetricPrefixTera + UnitVolt,
85 UnitPetaVolt = MetricPrefixPeta + UnitVolt,
86
87 // Watt.
88 UnitWatt = 700,
89 UnitKiloWatt = MetricPrefixKilo + UnitWatt,
90 UnitMegaWatt = MetricPrefixMega + UnitWatt,
91 UnitGigaWatt = MetricPrefixGiga + UnitWatt,
92 UnitTeraWatt = MetricPrefixTera + UnitWatt,
93 UnitPetaWatt = MetricPrefixPeta + UnitWatt,
94
95 // WattHour.
96 UnitWattHour = 800,
97 UnitKiloWattHour = MetricPrefixKilo + UnitWattHour,
98 UnitMegaWattHour = MetricPrefixMega + UnitWattHour,
99 UnitGigaWattHour = MetricPrefixGiga + UnitWattHour,
100 UnitTeraWattHour = MetricPrefixTera + UnitWattHour,
101 UnitPetaWattHour = MetricPrefixPeta + UnitWattHour,
102
103 // Ampere.
104 UnitAmpere = 900,
105 UnitKiloAmpere = MetricPrefixKilo + UnitAmpere,
106 UnitMegaAmpere = MetricPrefixMega + UnitAmpere,
107 UnitGigaAmpere = MetricPrefixGiga + UnitAmpere,
108 UnitTeraAmpere = MetricPrefixTera + UnitAmpere,
109 UnitPetaAmpere = MetricPrefixPeta + UnitAmpere,
110
111 // Misc units.
112 UnitCelsius = 1000,
113 UnitDecibelMilliWatts,
114 UnitPercent,
115 UnitRate,
116 UnitRpm,
117};
118Q_ENUM_NS(Unit)
119
120} // namespace KSysGuard
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Tue Mar 26 2024 11:21:23 by doxygen 1.10.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.