Added preliminary communication with LIRC
[irwi] / src / irctrl.cpp
1 #include "irctrl.h"
2
3 #include <cstdlib>
4
5 #include <QTcpSocket>
6 #include <QSettings>
7 #include <QString>
8 #include <QIODevice>
9 #include <QHostAddress>
10 #include <QAbstractSocket>
11
12 IrCtrl::IrCtrl()
13 {
14     std::system("lircctl start");
15 }
16
17 IrCtrl::~IrCtrl()
18 {
19     std::system("lircctl stop");
20 }
21
22 void IrCtrl::genericSendCmd(const QString &commandName)
23 {
24     QTcpSocket sock(this);
25     sock.setSocketOption(QAbstractSocket::LowDelayOption, 1);
26     sock.connectToHost(QHostAddress::LocalHost, LIRC_PORT,
27             QIODevice::WriteOnly|QIODevice::Unbuffered);
28     sock.waitForConnected(-1);
29     QSettings settings(this);
30     QString remoteName = settings.value("remoteName", "Zyxel_DMA-1000").toString();
31     QString cmd = "SEND_ONCE " + remoteName + " " + commandName + "\n";
32     sock.write(cmd.toAscii());
33     sock.close();
34 }
35
36 void IrCtrl::sendCmd0(bool)
37 {
38 }
39
40 void IrCtrl::sendCmd1(bool)
41 {
42 }
43
44 void IrCtrl::sendCmd2(bool)
45 {
46 }
47
48 void IrCtrl::sendCmd3(bool)
49 {
50 }
51
52 void IrCtrl::sendCmd4(bool)
53 {
54     genericSendCmd("POWER");
55 }
56
57 void IrCtrl::sendCmd5(bool)
58 {
59 }
60