Fixing initialization to just create a table on the cloud side.
[iotcloud.git] / version2 / src / C / TimingSingleton.h
1 #ifndef TIMINGSINGLETON_H
2 #define TIMINGSINGLETON_H
3 #include <sys/time.h>
4
5 class TimingSingleton {
6 private:
7         int64_t fldstartTime;
8         int64_t fldtotalTime;
9
10 public:
11         TimingSingleton() : fldstartTime(0),
12                 fldtotalTime(0) {
13         }
14
15         int64_t nanoTime() {
16                 int64_t time;
17                 struct timeval tv;
18                 gettimeofday(&tv, NULL);
19                 return tv.tv_sec * 1000000000 + tv.tv_usec * 1000;
20         }
21
22         void startTime() {
23                 fldstartTime = nanoTime();
24         }
25
26         void endTime() {
27                 fldtotalTime += nanoTime() - fldstartTime;
28         }
29
30         int64_t getTime() {
31                 return fldtotalTime;
32         }
33 };
34
35 TimingSingleton t_singleton;
36 TimingSingleton *TimingSingleton_getInstance() {
37         return &t_singleton;
38 }
39 #endif