5 #include <QHostAddress>
9 IrCtrl::IrCtrl(QObject *parent)
13 m_killLircTimer.setInterval(
14 settings.value("idleTimeout", "300").toInt() * 1000);
15 m_killLircTimer.setSingleShot(true);
16 connect(&m_killLircTimer, SIGNAL(timeout()),
17 this, SLOT(stopLirc()));
19 m_killLircTimer.start();
26 void IrCtrl::sendCmd(const QString &cmd)
28 if (!m_killLircTimer.isActive()) {
31 m_killLircTimer.stop();
35 QSettings settings(this);
36 sock.setSocketOption(QAbstractSocket::LowDelayOption, 1);
37 sock.connectToHost(QHostAddress::LocalHost,
38 settings.value("lircPort", LIRC_PORT).toInt(),
39 QIODevice::WriteOnly | QIODevice::Unbuffered);
40 sock.waitForConnected();
41 QString remoteName = settings.value("remoteName", "").toString();
42 QString cmdStr = "SEND_ONCE " + remoteName + " " + cmd + "\n";
43 sock.write(cmdStr.toAscii());
44 sock.waitForBytesWritten();
47 m_killLircTimer.start();
51 void IrCtrl::stopLirc()
53 std::system("sudo /etc/init.d/lirc stop");
56 void IrCtrl::startLirc()
58 std::system("sudo /etc/init.d/lirc start");