File: HDFFileLogGroup.hpp

package info (click to toggle)
pbseqlib 0~20161219-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 5,924 kB
  • ctags: 5,123
  • sloc: cpp: 82,727; makefile: 305; python: 239; sh: 8
file content (56 lines) | stat: -rw-r--r-- 1,635 bytes parent folder | download | duplicates (2)
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
#ifndef HDF_FILE_LOG_GROUP_H_
#define HDF_FILE_LOG_GROUP_H_
#include "HDFGroup.hpp"
#include "HDFArray.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(string command, string log, string program, string timestamp, string version) {
    commandLineArray.Write(&command, 1);
    versionArray.Write(&version, 1);
    timestampArray.Write(&timestamp, 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