bool MythContextPrivate::Init(const bool gui, UPnp *UPnPclient, const bool promptForBackend, const bool noPrompt, const bool ignoreDB) { gCoreContext->GetDB()->IgnoreDatabase(ignoreDB); m_gui = gui; if (UPnPclient) { m_UPnP = UPnPclient; m_ExternalUPnP = true; #ifndef _WIN32 m_XML = (XmlConfiguration *)UPnp::g_pConfig; #endif } // Creates screen saver control if we will have a GUI if (gui) m_ui = GetMythUI(); // ---- database connection stuff ---- if (!ignoreDB && !FindDatabase(promptForBackend, noPrompt)) return false; // ---- keep all DB-using stuff below this line ---- // Prompt for language if this is a first time install and // we didn't already do so. if (m_gui && !gCoreContext->GetDB()->HaveSchema()) { TempMainWindow(false); LanguageSelection::prompt(); MythTranslation::load("mythfrontend"); EndTempWindow(); } gCoreContext->InitLocale(); gCoreContext->SaveLocaleDefaults(); if (gui) { MythUIMenuCallbacks cbs; cbs.exec_program = exec_program_cb; cbs.exec_program_tv = exec_program_tv_cb; cbs.configplugin = configplugin_cb; cbs.plugin = plugin_cb; cbs.eject = eject_cb; m_ui->Init(cbs); } return true; }
bool MythContextPrivate::Init(const bool gui, const bool promptForBackend, const bool noPrompt, const bool ignoreDB) { gCoreContext->GetDB()->IgnoreDatabase(ignoreDB); m_gui = gui; // We don't have a database yet, so lets use the config.xml file. m_pConfig = new XmlConfiguration("config.xml"); // Creates screen saver control if we will have a GUI if (gui) m_ui = GetMythUI(); // ---- database connection stuff ---- if (!ignoreDB && !FindDatabase(promptForBackend, noPrompt)) return false; // ---- keep all DB-using stuff below this line ---- // Prompt for language if this is a first time install and // we didn't already do so. if (m_gui && !gCoreContext->GetDB()->HaveSchema()) { TempMainWindow(false); LanguageSelection::prompt(); MythTranslation::load("mythfrontend"); EndTempWindow(); } gCoreContext->InitLocale(); gCoreContext->SaveLocaleDefaults(); if (gui) { MythUIMenuCallbacks cbs; cbs.exec_program = exec_program_cb; cbs.exec_program_tv = exec_program_tv_cb; cbs.configplugin = configplugin_cb; cbs.plugin = plugin_cb; cbs.eject = eject_cb; m_ui->Init(cbs); } return true; }