blob: 60d5b1b421ba7b7af879997cf1d67f2278d3348d [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
27class blanktimer {
28 public:
29 blanktimer(void);
30 int setTimerThread(void);
31 void resetTimerAndUnblank(void);
32 void setTime(int newtime);
gordon13370d9133d2013-06-08 14:17:07 +020033 bool IsScreenOff();
Dees_Troy2f9117a2013-02-17 19:52:09 -060034
35 private:
Dees_Troy70237dc2013-02-28 21:31:48 +000036 void setConBlank(int blank);
Dees_Troy2f9117a2013-02-17 19:52:09 -060037 void setTimer(void);
38 timespec getTimer(void);
39 int getBrightness(void);
40 int setBrightness(int brightness);
41 int setBlankTimer(void);
42 int setClockTimer(void);
43 typedef int (blanktimer::*ThreadPtr)(void);
44 typedef void* (*PThreadPtr)(void*);
Dees_Troy70237dc2013-02-28 21:31:48 +000045 pthread_mutex_t conblankmutex;
Dees_Troy2f9117a2013-02-17 19:52:09 -060046 pthread_mutex_t timermutex;
47 int conblank;
48 timespec btimer;
49 unsigned long long sleepTimer;
50 int orig_brightness;
gordon13370d9133d2013-06-08 14:17:07 +020051 bool screenoff;
Dees_Troy2f9117a2013-02-17 19:52:09 -060052};
53
54extern blanktimer blankTimer;
55
56#endif // __BLANKTIMER_HEADER_HPP