00001 #include <cstdlib>
00002
00003 #include <QTcpSocket>
00004 #include <QHostAddress>
00005 #include <QAbstractSocket>
00006 #include <QSettings>
00007
00008 #include "irctrl_p.h"
00009
00010 IrCtrlPrivate::IrCtrlPrivate()
00011 : settings(NULL)
00012 {
00013 settings = new QSettings();
00014 std::system("sudo /etc/init.d/lirc start");
00015 }
00016
00017 IrCtrlPrivate::~IrCtrlPrivate()
00018 {
00019 delete settings;
00020 settings = NULL;
00021 std::system("sudo /etc/init.d/lirc stop");
00022 }
00023
00024 void IrCtrlPrivate::genericSendCmd(const QString &commandName)
00025 {
00026 QTcpSocket sock;
00027
00028 sock.connectToHost(QHostAddress::LocalHost,
00029 settings->value("lircPort", LIRC_PORT).toInt(),
00030 QIODevice::WriteOnly|QIODevice::Unbuffered);
00031 sock.waitForConnected();
00032 QString remoteName =
00033 settings->value("remoteName", "REMOTE_NAME_MISSING").toString();
00034 QString cmd = "SEND_ONCE " + remoteName + " " + commandName + "\n";
00035 sock.write(cmd.toAscii());
00036 sock.waitForBytesWritten();
00037 sock.close();
00038 }
00039
00040