blob: 01c1dfb0c5c92e110ccb89e99454c9c4139646e2 [file] [log] [blame]
Dees_Troy2f9117a2013-02-17 19:52:09 -06001/*
2 Copyright 2012 bigbiff/Dees_Troy TeamWin
3 This file is part of TWRP/TeamWin Recovery Project.
4
5 TWRP is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
9
10 TWRP is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with TWRP. If not, see <http://www.gnu.org/licenses/>.
17*/
18
19#ifndef __BLANKTIMER_HEADER_HPP
20#define __BLANKTIMER_HEADER_HPP
21
22#include <pthread.h>
23#include <sys/time.h>
24
25using namespace std;
26
Vojtech Bocekfafb0c52013-07-25 22:53:02 +020027class blanktimer
28{
29public:
30 blanktimer(void);
Dees_Troy2f9117a2013-02-17 19:52:09 -060031
Vojtech Bocekfafb0c52013-07-25 22:53:02 +020032 int setTimerThread(void);
33 void resetTimerAndUnblank(void);
34 void setTime(int newtime);
35 bool IsScreenOff();
36
37private:
38 typedef int (blanktimer::*ThreadPtr)(void);
39 typedef void* (*PThreadPtr)(void*);
40
41 void setConBlank(int blank);
42 void setTimer(void);
43 timespec getTimer(void);
44 int getBrightness(void);
45 int setBrightness(int brightness);
46 int setBlankTimer(void);
47 int setClockTimer(void);
48
49 pthread_mutex_t conblankmutex;
50 pthread_mutex_t timermutex;
51 int conblank;
52 timespec btimer;
53 unsigned long long sleepTimer;
54 int orig_brightness;
55 bool screenoff;
Dees_Troy2f9117a2013-02-17 19:52:09 -060056};
57
58extern blanktimer blankTimer;
59
60#endif // __BLANKTIMER_HEADER_HPP