Ticket #9814: allow_shutdown.patch

File allow_shutdown.patch, 2.8 KB (added by mark.goodman@…, 13 years ago)
  • mythtv/programs/mythfrontend/networkcontrol.cpp

    diff --git a/mythtv/programs/mythfrontend/networkcontrol.cpp b/mythtv/programs/mythfrontend/networkcontrol.cpp
    index 904b299..b2f6171 100644
    a b void NetworkControl::processNetworkControlCommand(NetworkCommand *nc) 
    308308        result = processHelp(nc);
    309309    else if (is_abbrev("message", nc->getArg(0)))
    310310        result = processMessage(nc);
     311    else if (is_abbrev("blockshutdown", nc->getArg(0)))
     312        result = processBlockShutdown(nc);
    311313    else if ((nc->getArg(0).toLower() == "exit") || (nc->getArg(0).toLower() == "quit"))
    312314        QCoreApplication::postEvent(this,
    313315                                new NetworkControlCloseEvent(nc->getClient()));
    QString NetworkControl::processHelp(NetworkCommand *nc) 
    11751177        helpText +=
    11761178            "message               - Displays a simple text message popup\r\n";
    11771179    }
     1180    else if ((is_abbrev("blockshutdown", command)))
     1181    {
     1182        helpText +=
     1183            "blockshutdown BOOL    - Sets whether frontend blocks backend shutdown\r\n";
     1184    }
    11781185
    11791186    if (!helpText.isEmpty())
    11801187        return helpText;
    QString NetworkControl::processHelp(NetworkCommand *nc) 
    11921199        "set                - Changes\r\n"
    11931200        "screenshot         - Capture screenshot\r\n"
    11941201        "message            - Display a simple text message\r\n"
     1202        "blockshutdown      - Sets whether frontend blocks backend shutdown\r\n"
    11951203        "exit               - Exit Network Control\r\n"
    11961204        "\r\n"
    11971205        "Type 'help COMMANDNAME' for help on any specific command.\r\n";
    QString NetworkControl::processMessage(NetworkCommand *nc) 
    12121220    return QString("OK");
    12131221}
    12141222
     1223QString NetworkControl::processBlockShutdown(NetworkCommand *nc)
     1224{
     1225    if (nc->getArgCount() < 2)
     1226        return QString("ERROR: See 'help %1' for usage information")
     1227                       .arg(nc->getArg(0));
     1228
     1229    bool blockShutdown = (nc->getArg(1).toLower() == "true" || nc->getArg(1) == "1");
     1230    if (blockShutdown) {
     1231      gCoreContext->BlockShutdown();
     1232    } else {
     1233      gCoreContext->AllowShutdown();
     1234    }
     1235
     1236    return QString("OK");
     1237}
     1238
    12151239void NetworkControl::notifyDataAvailable(void)
    12161240{
    12171241    QCoreApplication::postEvent(
  • mythtv/programs/mythfrontend/networkcontrol.h

    diff --git a/mythtv/programs/mythfrontend/networkcontrol.h b/mythtv/programs/mythfrontend/networkcontrol.h
    index ee1742d..4216d25 100644
    a b class NetworkControl : public QTcpServer 
    125125    QString processQuery(NetworkCommand *nc);
    126126    QString processSet(NetworkCommand *nc);
    127127    QString processMessage(NetworkCommand *nc);
     128    QString processBlockShutdown(NetworkCommand *nc);
    128129    QString processHelp(NetworkCommand *nc);
    129130
    130131    void notifyDataAvailable(void);