summaryrefslogtreecommitdiff
path: root/tvapi/libtv/tv/CTvTime.h (plain)
blob: 7588704049c99d46c73ae5329f3973aafc64999d
1//
2//
3// amlogic 2013
4//
5// @ Project : tv
6// @ File Name : CTvChannel.h
7// @ Date : 2013-11
8// @ Author :
9//
10//
11#include <utils/Timers.h>
12#include "CTvLog.h"
13#include <time.h>
14//#include <cutils/tztime.h>
15#include <sys/times.h>
16#include <sys/sysinfo.h>
17
18#define LOG_TAG "CTVTIME"
19/**
20 *TV时间管理
21 */
22class CTvTime {
23public:
24 CTvTime()
25 {
26 mDiff = 0;
27 mHZ = sysconf( _SC_CLK_TCK );
28 }
29
30 /**
31 *设定当前时间
32 *@param time 当前时间(毫秒单位)
33 */
34 long getSysUTCTime()
35 {
36 //struct tm tm;
37 //time_t t;
38 //int64_t r = mktime_tz(&(tm), NULL);
39 //time_t t = time(NULL);
40 //LOGD("---------utc t = %ld time t=%ld", r, t);
41 return 0;
42 }
43 void setTime(long t)
44 {
45 //long utcMS;
46 //time(&utcMS);
47 //nsecs_t ns = systemTime(CLOCK_REALTIME);
48 //nsecs_t tm = ns2s(ns);
49 //unsigned long ticks = times(NULL);
50 //long tm = ticks/mHZ;
51 struct sysinfo s_info;
52 int error;
53 error = sysinfo(&s_info);
54
55 mDiff = t - s_info.uptime;
56 LOGD("--- mDiff=%ld", mDiff);
57 }
58
59 /**
60 *取得当前时间
61 *@return 返回当前时间
62 */
63 long getTime()
64 {
65 //long utcMS;
66 //time(&utcMS);
67 //nsecs_t ns = systemTime(CLOCK_REALTIME);
68 //nsecs_t sec = ns2s(ns);
69
70 //unsigned long ticks = times(NULL);
71 //long sec = ticks/mHZ;
72 struct sysinfo s_info;
73 int error;
74 error = sysinfo(&s_info);
75
76
77 LOGD("--- mDiff=%ld, sec=%ld", mDiff, s_info.uptime);
78 return s_info.uptime + mDiff;
79 }
80
81 /**
82 *取得TDT/STT与系统时间的差值
83 *@return 返回差值时间
84 */
85 long getDiffTime()
86 {
87 return mDiff;
88 }
89
90 /**
91 *设置TDT/STT与系统时间的差值
92 */
93 void setDiffTime(long diff)
94 {
95 this->mDiff = diff;
96 }
97
98private:
99 long mDiff;
100 unsigned long mHZ;
101};
102