summaryrefslogtreecommitdiffstats
path: root/veslibrary/ves_cpplibrary/src/lib/encode/XFilesystemUsageImp.cpp
blob: cc0fa32b8c81294905660bd24673a5b644e924c4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
#include "XFilesystemUsageImp.h"

XFilesystemUsageImp::XFilesystemUsageImp(const XString& filesystemName,
    XNumber blockConfigured,
    XNumber blockIops,
    XNumber blockUsed,
    XNumber ephemeralConfigured,
    XNumber ephemeralIops,
    XNumber ephemeralUsed):
        blockConfigured_(blockConfigured),
        blockIops_(blockIops),
        blockUsed_(blockUsed),
        ephemeralConfigured_(ephemeralConfigured),
        ephemeralIops_(ephemeralIops),
        ephemeralUsed_(ephemeralUsed),
        filesystemName_(filesystemName)
{

}

void XFilesystemUsageImp::setBlockConfigured(XNumber blockConfigured)
{
    comVals_["blockConfigured"] = blockConfigured;
}
            
void XFilesystemUsageImp::setBlockUsed(XNumber blockUsed)
{
    comVals_["blockUsed"] = blockUsed;
}
            
void XFilesystemUsageImp::setEphemeralConfigured(XNumber ephemeralConfigured)
{
    comVals_["ephemeralConfigured"] = ephemeralConfigured;
}
            
void XFilesystemUsageImp::setEphemeralIops(XNumber ephemeralIops)
{
    comVals_["ephemeralIops"] = ephemeralIops;
}
            
void XFilesystemUsageImp::setFilesystemName(const XString& filesystemName)
{
    comVals_["filesystemName"] = filesystemName;
}
            
void XFilesystemUsageImp::setBlockIops(XNumber blockIops)
{
    comVals_["blockIops"] = blockIops;
}
            
void XFilesystemUsageImp::setEphemeralUsed(XNumber ephemeralUsed)
{
    comVals_["ephemeralUsed"] = ephemeralUsed;
}

json XFilesystemUsageImp::toJson()
{
    try
    {
        json field = {
            {"blockConfigured", blockConfigured_},
            {"blockUsed", blockUsed_},
            {"ephemeralConfigured", ephemeralConfigured_},
            {"ephemeralIops", ephemeralIops_},
            {"filesystemName", filesystemName_},
            {"blockIops", blockIops_},
            {"ephemeralUsed", ephemeralUsed_}
        };

        //optional val
        
        field = mergeCommonValues(field, comVals_);

        return field;
    }
    catch (json::exception& e)
    {
        SPDLOG_ERROR("Fail to build XFilesystemUsage to json object:{}.", e.what());
        return json();
    }
}