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
|
#ifndef HDF_FILE_LOG_GROUP_H_
#define HDF_FILE_LOG_GROUP_H_
#include <hdf/HDFArray.hpp>
#include <hdf/HDFGroup.hpp>
class HDFFileLogGroup
{
public:
HDFGroup group;
HDFStringArray commandLineArray;
HDFStringArray versionArray;
HDFStringArray timestampArray;
HDFArray<unsigned int> idArray;
HDFStringArray logArray;
HDFStringArray programArray;
int Initialize(HDFGroup &parentGroup)
{
if (group.Initialize(parentGroup.group, "FileLog") == 0) {
return 0;
}
int ret = 1;
ret *= commandLineArray.Initialize(group, "CommandLine");
ret *= versionArray.Initialize(group, "Version");
ret *= timestampArray.Initialize(group, "Timestamp");
ret *= idArray.Initialize(group, "ID");
ret *= logArray.Initialize(group, "Log");
ret *= programArray.Initialize(group, "Program");
return ret;
}
void AddEntry(std::string command, std::string log, std::string program, std::string timestamp,
std::string version)
{
commandLineArray.Write(&command, 1);
versionArray.Write(&version, 1);
timestampArray.Write(×tamp, 1);
programArray.Write(&program, 1);
logArray.Write(&log, 1);
unsigned int id = idArray.size();
id = id + 1;
idArray.Write(&id, 1);
}
bool Create(HDFGroup &parent)
{
parent.AddGroup("FileLog");
if (group.Initialize(parent.group, "FileLog") == 0) {
return false;
}
commandLineArray.Create(group, "CommandLine");
versionArray.Create(group, "Version");
timestampArray.Create(group, "Timestamp");
programArray.Create(group, "Program");
logArray.Create(group, "Log");
idArray.Create(group, "ID");
return true;
}
};
#endif
|