Ticket #2896: mythshutdown-mtd.diff

File mythshutdown-mtd.diff, 2.2 KB (added by laga, 11 years ago)
  • programs/mythshutdown/main.cpp

     
    1919#include "remoteutil.h"
    2020#include "compat.h"
    2121
     22#include <QTcpSocket>  // MTD status
     23
     24
    2225void setGlobalSetting(const QString &key, const QString &value)
    2326{
    2427    MSqlQuery query(MSqlQuery::InitCon());
     
    244247        res += 32;
    245248    }
    246249
     250
     251    if (isRunning(QString("mtd")))
     252    {
     253        VERBOSE(VB_GENERAL, "MTD seems to be running. Let's see if it is busy");
     254        int port = gContext->GetNumSetting("MTDPort", 2442);
     255        QAbstractSocket *connection = new QTcpSocket();
     256        connection->connectToHost(QString("localhost"), port);
     257        if (!connection->waitForConnected(1000))
     258        {
     259            VERBOSE(VB_IMPORTANT, "Could not connect to mtd");
     260        }
     261        else
     262        {
     263            connection->write(QByteArray("status\n"));
     264            if (connection->waitForBytesWritten(1000) && connection->waitForReadyRead(1000))
     265            {
     266                VERBOSE(VB_NETWORK, "MTD status:");
     267                QString status = connection->readLine();
     268                VERBOSE(VB_NETWORK, status);
     269                if (status != QString("status dvd summary 0\n"))
     270                {
     271                    res += 512;
     272                }
     273            }
     274            else
     275            {
     276                VERBOSE(VB_IMPORTANT, "Could not read from MTD socket!");
     277           
     278            }
     279        }
     280    }
     281       
     282
    247283    QDateTime dtPeriod1Start = getDailyWakeupTime("DailyWakeupStartPeriod1");
    248284    QDateTime dtPeriod1End = getDailyWakeupTime("DailyWakeupEndPeriod1");
    249285    QDateTime dtPeriod2Start = getDailyWakeupTime("DailyWakeupStartPeriod2");
     
    732768  cout << "                         64 - In a daily wakeup/shutdown period\n";
    733769  cout << "                        128 - Less than 15 minutes to next wakeup period\n";
    734770  cout << "                        255 - Setup is running\n";
     771  cout << "                        512 - MTD is busy (DVD rip job)\n";
    735772  cout << "-v/--verbose debug-level (Use '-v help' for level info\n";
    736773  cout << "-h/--help                (shows this usage)\n";
    737774}