Minor fixes
[irwi] / src / irctrl_p.cpp
1 #include <cstdlib>
2
3 #include <QTcpSocket>
4 #include <QHostAddress>
5 #include <QAbstractSocket>
6 #include <QSettings>
7
8 #include "irctrl_p.h"
9
10 IrCtrlPrivate::IrCtrlPrivate()
11     : settings(NULL)
12 {
13     settings = new QSettings();
14     std::system("sudo /etc/init.d/lirc start");
15 }
16
17 IrCtrlPrivate::~IrCtrlPrivate()
18 {
19     delete settings;
20     settings = NULL;
21     std::system("sudo /etc/init.d/lirc stop");
22 }
23
24 void IrCtrlPrivate::genericSendCmd(const QString &commandName)
25 {
26     QTcpSocket sock;
27     sock.setSocketOption(QAbstractSocket::LowDelayOption, 1);
28     sock.connectToHost(QHostAddress::LocalHost, 
29             settings->value("lircPort", LIRC_PORT).toInt(),
30             QIODevice::WriteOnly|QIODevice::Unbuffered);
31     sock.waitForConnected();
32     QString remoteName =
33         settings->value("remoteName", "REMOTE_NAME_MISSING").toString();
34     QString cmd = "SEND_ONCE " + remoteName + " " + commandName + "\n";
35     sock.write(cmd.toAscii());
36     sock.waitForBytesWritten();
37     sock.close();
38 }
39
40