blob: 12a5334e01cacc83e8e8c6fe99b01f432c63d348
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 | */ |
22 | class CTvTime { |
23 | public: |
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 | |
98 | private: |
99 | long mDiff; |
100 | unsigned long mHZ; |
101 | }; |
102 |