summaryrefslogtreecommitdiffstats
path: root/tray/backend.h
blob: a1a559e171d8605df74b2dcdaeeb33b724ac83a8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef BACKEND_H_
#define BACKEND_H_

#include "../backend/api.h"

#include <QObject>
#include <QSocketNotifier>


class Backend : public QObject
{
	Q_OBJECT
public:
	Backend();
	virtual ~Backend();

	int connectToBackend();

	int getBatteryState(struct pt_message *msg);
	int getBacklightState(struct pt_message *msg);
	int setBacklight(int value);
	int setBacklightAutodim(bool enable, bool enable_on_ac, int max_percent);

signals:
	void backlightStateChanged(struct pt_message *msg);
	void batteryStateChanged(struct pt_message *msg);

protected slots:
	void readNotification(int sock);

protected:
	int sendMessage(struct pt_message *msg);
	int sendMessageSyncReply(struct pt_message *msg);
	int recvMessage(struct pt_message *msg);
	void processReceivedMessage(struct pt_message *msg);
	void checkErrorCount();

protected:
	int fd;
	QSocketNotifier *notifier;
	int errcount;
};

#endif /* BACKEND_H_ */
bues.ch cgit interface