diff options
Diffstat (limited to 'abs/core/mythinstall/main.cpp')
| -rwxr-xr-x | abs/core/mythinstall/main.cpp | 533 | 
1 files changed, 0 insertions, 533 deletions
| diff --git a/abs/core/mythinstall/main.cpp b/abs/core/mythinstall/main.cpp deleted file mode 100755 index afee4ea..0000000 --- a/abs/core/mythinstall/main.cpp +++ /dev/null @@ -1,533 +0,0 @@ -#include <qapplication.h> -#include <cstdlib> -//#include "libmyth/mythdialogs.h" -#include "libmyth/mythcontext.h" -#include "libmyth/settings.h" -#include "libmyth/langsettings.h" -#include "libmyth/mythdbcon.h" -#include <libmyth/exitcodes.h> -#include "libmythtv/tv.h" -#include "installdialog.h" -#include "installsettings.h" -#include "password_manage.h" -#include "autocard.h" -#include "settemplate.h" -#include "mythdialogbox.h" -//#include "mv_common.h" - -#include <iostream> -#include <fstream> -#include <stdio.h> - -#include "libmyth/dialogbox.h" -#include <qlist.h> -#include <qvaluevector.h> -#include <qdir.h> -HostParms hostparm; -DDCinfo ddcinfo; - - -void initKeys(void) -{ -    REG_KEY("Welcome", "STARTXTERM", "Open an Xterm window", "F12"); -    REG_KEY("Welcome", "SHOWSETTINGS", "Show Mythshutdown settings", "F11"); -} - - -int main(int argc, char **argv) -{ -    bool bShowSettings = false; -    bool bShowNetwork = false; -    bool bShowHostype = false; -    bool bShowMisc = false; -    bool bShowshutdown = false; -    bool bShowadvanced = false; -    bool bShowsound = false; -    bool bShowadvancedX = false; -    bool bShowAccesscontrol = false; -    bool bShowplugins = false; -    bool bShowTemplate = false; -    bool bShowuser  = false; -    bool bShowwebuser = false; -    bool bRunSetup = false; -    bool bShowHelp = false; -    bool bShowReadme = false; -    bool bShowddns = false; -    bool bShowinfrared = false; -    bool bShowscreensaver = false; - -    QStringList template_c_line  ; -    QString modulelist = "" ; -    QString templateop=""; -    QString templatename=""; -    QString templatehostname=""; -    QApplication a(argc, argv); - -    gContext = NULL; -    gContext = new MythContext(MYTH_BINARY_VERSION); -    if (!gContext->Init()) -    { -        VERBOSE(VB_IMPORTANT, "mythwelcome: Could not initialize myth context. " -                        "Exiting."); -        return FRONTEND_EXIT_NO_MYTHCONTEXT; -    } - -    if (!MSqlQuery::testDBConnection()) -    { -        VERBOSE(VB_IMPORTANT, "mythwelcome: Could not open the database. " -                        "Exiting."); -        return -1; -    } - -    // Check command line arguments -    for (int argpos = 1; argpos < a.argc(); ++argpos) -    { - -        if (!strcmp(a.argv()[argpos],"-v") || -            !strcmp(a.argv()[argpos],"--verbose")) -        { -            if (a.argc()-1 > argpos) -            { -                if (parse_verbose_arg(a.argv()[argpos+1]) == -                        GENERIC_EXIT_INVALID_CMDLINE) -                    return FRONTEND_EXIT_INVALID_CMDLINE; - -                ++argpos; -            } -            else -            { -                cerr << "Missing argument to -v/--verbose option\n"; -                return FRONTEND_EXIT_INVALID_CMDLINE; -            } -        } -        else if (!strcmp(a.argv()[argpos],"-s") || -            !strcmp(a.argv()[argpos],"--setup")) -        { -            bShowSettings = true; -//--------------------------------------------- -        if (a.argc()-1 > argpos) -            { -                QString tmpArg = a.argv()[argpos+1]; -                if (tmpArg.startsWith("-")) -                { -                    cerr << "Invalid or missing argument to -s \n"; -                    return FRONTEND_EXIT_INVALID_CMDLINE; -                } - -                QStringList pairs = QStringList::split(",", tmpArg); -                for (unsigned int index = 0; index < pairs.size(); ++index) -                { -                    if ( pairs[index]  == "network" ) -                        { -                        //  cout << pairs[index] << endl; -                            bShowNetwork = true; -                            modulelist.append("network,"); -                        } -                        else if ( pairs[index]  == "misc" ) -                        { -                        //  cout << pairs[index] << endl; -                            bShowMisc = true; -                            modulelist.append("misc,"); -                        } -                        else if ( pairs[index]  == "sleep" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowshutdown = true; -                            modulelist.append("sleep,"); -                        } -                        else if ( pairs[index]  == "hostype" ) -                        { -                        //  cout << pairs[index] << endl; -                            bShowHostype = true; -                            modulelist.append("hostype,"); -                        } -                        else if ( pairs[index]  == "advanced" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowadvanced = true; -                            modulelist.append("advanced,"); -                        } -                        else if ( pairs[index]  == "sound" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowsound = true; -                            modulelist.append("audio,"); -                        } -                        else if ( pairs[index]  == "advancedX" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowadvancedX = true; -                            modulelist.append("advancedX,"); -                        } -                        else if ( pairs[index]  == "accesscontrol" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowAccesscontrol = true; -                            modulelist.append("accesscontrol,"); -                        } -                        else if ( pairs[index]  == "plugins" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowplugins = true; -                            modulelist.append("plugins,"); -                        } -                        else if ( pairs[index]  == "user" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowuser = true; -                            modulelist.append("user,"); -                        } -                        else if ( pairs[index]  == "webuser" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowwebuser = true; -                            modulelist.append("webuser,"); -                        } -                        else if ( pairs[index]  == "ddns" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowddns = true; -                            modulelist.append("ddns,"); -                        } -                        else if ( pairs[index]  == "ir" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowinfrared = true; -                            modulelist.append("ir,"); -                        } -                        else if ( pairs[index]  == "screensaver" ) -                        { -                        // cout << pairs[index] << endl; -                            bShowscreensaver = true; -                            modulelist.append("screensaver,"); -                        } - -                } -            // return FRONTEND_EXIT_OK; -            } -            else -            { -            // if no args, then show the default steup. -            bShowNetwork = true; -            bShowHostype = true; -            bShowMisc = true; -            bShowuser = true; -            bShowshutdown = true; - -            modulelist="network,hostype,misc,sleep"; - -            } - -            ++argpos; - - -//--------------------------------------------- -        } -        else if (!strcmp(a.argv()[argpos],"-u")) -            bShowuser = true; -        else if (!strcmp(a.argv()[argpos],"-t")) -        { -            bShowTemplate = true; -        if (a.argc()-1 > argpos) -            { -                QString tmpArg = a.argv()[argpos+1]; -                if (tmpArg.startsWith("-")) -                { -                    cerr << "Invalid or missing argument to -t \n"; -                    return FRONTEND_EXIT_INVALID_CMDLINE; -                } -                template_c_line = QStringList::split(",", tmpArg); -                if ( template_c_line.size() != 0 ) -                    { -                    if  ( template_c_line.size()  >3     ||  template_c_line.size() <2 ) -                        { -                            cerr << "Invalid or missing argument to -t \n"; -                            return FRONTEND_EXIT_INVALID_CMDLINE; -                        } -                    } -                ++argpos; -        } - -        } -        else if (!strcmp(a.argv()[argpos],"-b")) -        { -            bRunSetup = true; -        } -        else if (!strcmp(a.argv()[argpos],"-h")) -        { -            bShowHelp = true; -        } -        else if (!strcmp(a.argv()[argpos],"-r")) -        { -            bShowReadme = true; -        } -        else -        { -            cerr << "Invalid argument: " << a.argv()[argpos] << endl << -                    "Valid options are: " << endl << -                    "-v or --verbose debug-level    Use '-v help' for level info" << endl << -                    "-b  run backend setup" << endl << -                    "-h for help screens  " << endl << -                    "-t show template screens  (op,tname,hname)" << endl << -                    "-s or --setup (network,hostype,misc,sleep,advanced,advancedX,sound,accesscontrol,                  user,webuser,ddns,ir,screensaver)" << endl; -            return FRONTEND_EXIT_INVALID_CMDLINE; -        } -    } - -    gContext->LoadQtConfig(); - -    LanguageSettings::load("mythfrontend"); - -    MythMainWindow *mainWindow = GetMythMainWindow(); -    // if parms were passed to -t then doen't init the screen. -    if (   template_c_line.size()  == 0 ) -    { -        gContext->SaveSetting("HOSTtemplatetype","Do Nothing" ); -        mainWindow->Init(); -        gContext->SetMainWindow(mainWindow); -    }; -        initKeys(); - - -    if (bShowSettings) -    { -        bool runconfig = false; -        system("cp -f /etc/systemconfig /tmp/systemconfig.bak"); -        QString olddb = gContext->GetSetting("HostMysqlserver"); -        QString oldhostype = gContext->GetSetting("HostSystemType"); -        runsettings(false,bShowNetwork,bShowHostype,bShowMisc,bShowshutdown,bShowadvanced,bShowsound,bShowadvancedX,bShowAccesscontrol,bShowplugins,bShowuser,bShowwebuser,bShowddns,bShowinfrared,bShowscreensaver); -        QString newdb = gContext->GetSetting("HostMysqlserver"); -        QString newhostype = gContext->GetSetting("HostSystemType"); -        int status = system("diff /tmp/systemconfig.bak /etc/systemconfig"); -        bool restart = false; - -        // save my settings in case db switches -        //cout << "save for the heck of it " << endl; -        QString cmdtxt; -        cmdtxt=MV_ROOT  ; -        cmdtxt.append("bin/restore_default_settings.sh -c save -t syssettings  -d "  + olddb); -        system(cmdtxt); -        //system("/root/restore_default_settings.sh -c save -t syssettings  -d "  + olddb); - -        if ( status != 0 ) -        { -                runconfig = true; -        } - -        if ( newdb != olddb ) -            { -            runconfig = true; -            restart = true; -            //db changed save setting from olddb -            // cout << "newdb_olddb" << endl; -            QString cmdtxt; -                cmdtxt=MV_ROOT  ; -                cmdtxt.append("bin/restore_default_settings.sh -c save  -t  syssettings  -d " + olddb ) ; -                system(cmdtxt); -            //system("/root/restore_default_settings.sh -c save  -t  syssettings  -d " + olddb ) ; -            } - -        if ( runconfig ) -            { -                if ( newhostype != oldhostype ) -                    modulelist.append("hostypec,"); -                //trim off last , -                modulelist.truncate(modulelist.length()-1); - - -                cout << modulelist <<endl; -                QString cmdtxt; -                cmdtxt=MV_ROOT  ; -                cmdtxt.append("bin/restore_default_settings.sh -c restore -t syssettings -d  "); -                QString dbcommand = cmdtxt; -                //QString dbcommand="/root/restore_default_settings.sh -c restore -t syssettings -d  "; -                dbcommand.append(newdb); -                //  cout << dbcommand << endl; -                run_systemconfig(modulelist,restart,dbcommand); -                //   cout << "running config" <<endl; -            } -        system("rm -f /tmp/systemconfig.bak"); - -        if ( restart ) -           { -                //restore settings to new database -                //cout << " restoreing settings to new db" << endl; -                //system("/root/restore_default_settings.sh save   syssettings  " + olddb ) ; -            // system("/root/restore_default_settings.sh restore syssettings " + newdb) ; -                    DialogBox *dia = NULL; -                QString prompt; -                QString *problems = new QString("The network address of the database has changed."); -                problems->append("\n"); -                problems->append("The frontend will need to restart to connect to the new database."); -                problems->append("\n"); -                dia = new DialogBox(mainWindow, problems->append("\n" )); -                dia->AddButton(QObject::tr("OK")); -                int returncode = 0; -                returncode = dia->exec(); -                dia->deleteLater(); -                cout << "restarting" << endl; -                //system("/root/systemconfig.sh  restartfe" ); -                QString cmdtxt; -                cmdtxt=MV_ROOT  ; -                cmdtxt.append("bin/systemconfig.sh  reloadfe" ); -                system(cmdtxt); -            } - -    } -    else if (bShowTemplate) -    { -    //  cout << templateparms << endl; -        if ( template_c_line.size() == 2) -        { -                templateop=template_c_line[0]; -                templatename=template_c_line[1]; -        } -        else if ( template_c_line.size() == 3) -        { -            templateop=template_c_line[0]; -            templatename=template_c_line[1]; -            templatehostname=template_c_line[2]; -        }; -        choosetemplate(templateop,templatename,templatehostname); -    } - -    else if (bRunSetup) -    { -        DialogBox *dia = NULL; -        QString prompt; -        QString *problems = new QString("To configure the TV cards and program guide the setup program needs to be run."); -        problems->append("\n"); -        problems->append("\n"); - -        problems->append("For those in North America, guide data is provided by Schedules Direct."); -        problems->append("\n"); -        problems->append("Visit  http://www.schedulesdirect.org/  to signup for your account today"); -        problems->append("\n");         problems->append("\n");          problems->append("\n"); - -        problems->append("If you choose to not run mythtv-setup now, the program can be run at any time by typing mythtv-setup or hitting ALT+s"); -        problems->append("\n"); - -        problems->append("\n"); -        prompt = QObject::tr("Do you wish to run mythtv-setup ?"); - -            dia = new DialogBox(mainWindow, problems->append("\n" + prompt)); -            dia->AddButton(QObject::tr("Yes")); -            dia->AddButton(QObject::tr("Yes and try to autodetect cards")); -            dia->AddButton(QObject::tr("No")); -            int returncode = 0; -            //returncode = dia->exec(); -            DialogCode dcode = dia->exec(); -            dia->deleteLater(); -            if (kDialogCodeButton0 == dcode ) -                returncode = 0; -            if (kDialogCodeButton1 == dcode ) -                returncode = 1; -            if (kDialogCodeButton2 == dcode ) -                returncode = 2; - -            if (returncode == 1) -            { -                AutoCard listcards; -                listcards.exec(); -                } - -            return returncode; - - -    } -else if (bShowHelp) -    { -        DialogBox *dia = NULL; -        QString prompt; -        QString *problems = new QString("			Help Screen"); -        problems->append("\n"); -        problems->append("-------------------------------------------------"); -        problems->append("\n"); -        problems->append("Alt+h This screen"); -        problems->append("\n"); -        #ifdef __MVAPP__ -            problems->append("F2 open/close  terminal"); -            problems->append("\n"); -            problems->append("Shift + Return  opens new xterm"); -            problems->append("\n"); -            problems->append("Alt+F2 for 2nd desktop  Alt+F1 to go back"); -            problems->append("\n"); -            problems->append("Alt+c Capture myth screenshot"); -            problems->append("\n"); -        #else -            problems->append("Alt + X  opens new xterm "); -            problems->append("\n"); -            problems->append("Alt + m  start mythfrontend"); -            problems->append("\n"); -            problems->append("m will display a popup for power/about"); -            problems->append("\n"); -        #endif -        problems->append("Ctrl + Alt + u  unhide  mouse cursor"); -        problems->append("\n"); -        problems->append("Alt+1 start   masterbackend"); -        problems->append("\n"); -        problems->append("Alt+2 stop    masterbackend"); -        problems->append("\n"); -        problems->append("Alt+3 restart masterbackend"); -        problems->append("\n"); -        problems->append("Alt+s  run mythtv-setup"); -        problems->append("\n"); - - -            dia = new DialogBox(mainWindow, problems->append("\n" )); -            dia->AddButton(QObject::tr("OK")); -        // dia->AddButton(QObject::tr("No")); -            int returncode = 0; -            returncode = dia->exec(); -            dia->deleteLater(); -            return returncode; - - -    } -else if (bShowReadme) -    { -        DialogBox *dia = NULL; -        QString prompt; -        QString line; -        QString *problems = new QString(""); -        problems->append("\n"); -        QFile file("/usr/MythVantage/README"); -        if ( file.open(IO_ReadOnly | IO_Translate) ) -        { -        QTextStream t( &file );        // use a text stream -            while ( !t.eof() ) -            { -                line = t.readLine(); -                problems->append(line); -                problems->append("\n"); -            } -            file.close(); -        } -        else -            problems->append("Couldn't open file"); - -        dia = new DialogBox(mainWindow, problems->append("\n" )); -        dia->AddButton(QObject::tr("OK")); -    // dia->AddButton(QObject::tr("No")); -        int returncode = 0; -        returncode = dia->exec(); -        dia->deleteLater(); -        return returncode; -    } -    else - -    { -        WelcomeDialog *mythWelcome = new WelcomeDialog(gContext->GetMainWindow(), -                                                    "welcome_screen", "install-", -                                                "welcome_screen"); - -        mythWelcome->exec(); - - -    delete mythWelcome; -    } - -//  delete gContext; - -    return 0; -} | 
