bool PlexRemoteHelper::DoConfigure(int& mode, bool& alwaysRunning, bool& errorStarting) { bool changed = false; int oldDelay = m_sequenceDelay; int oldSecureInput = m_secureInput; int oldMode = mode; mode = g_guiSettings.GetInt("appleremote.mode"); alwaysRunning = g_guiSettings.GetBool("appleremote.alwayson"); m_sequenceDelay = g_guiSettings.GetInt("appleremote.sequencetime"); m_secureInput = g_guiSettings.GetBool("appleremote.secureinput"); // Don't let it enable if sofa control is running. if (IsSofaControlRunning()) { // If we were starting then remember error. if (oldMode == MODE_DISABLED && mode != MODE_DISABLED) errorStarting = true; mode = MODE_DISABLED; g_guiSettings.SetInt("appleremote.mode", mode); } // See if anything changed. if (oldDelay != m_sequenceDelay || oldSecureInput != m_secureInput) changed = true; return changed; }
void XBMCHelper::Configure() { int oldMode = m_mode; int oldDelay = m_sequenceDelay; int oldAlwaysOn = m_alwaysOn; int oldPort = m_port; // Read the new configuration. m_errorStarting = false; m_mode = g_guiSettings.GetInt("input.appleremotemode"); m_sequenceDelay = g_guiSettings.GetInt("input.appleremotesequencetime"); m_alwaysOn = g_guiSettings.GetBool("input.appleremotealwayson"); CStdString port_string = g_guiSettings.GetString("services.esport"); m_port = atoi(port_string.c_str()); // Don't let it enable if sofa control or remote buddy is around. if (IsRemoteBuddyInstalled() || IsSofaControlRunning()) { // If we were starting then remember error. if (oldMode == APPLE_REMOTE_DISABLED && m_mode != APPLE_REMOTE_DISABLED) m_errorStarting = true; m_mode = APPLE_REMOTE_DISABLED; g_guiSettings.SetInt("input.appleremotemode", APPLE_REMOTE_DISABLED); } // New configuration. if (oldMode != m_mode || oldDelay != m_sequenceDelay || oldPort != m_port) { // Build a new config string. std::string strConfig; switch (m_mode) { case APPLE_REMOTE_UNIVERSAL: strConfig = "--universal "; break; case APPLE_REMOTE_MULTIREMOTE: strConfig = "--multiremote "; break; default: break; } std::stringstream strPort; strPort << "--port " << m_port; strConfig += strPort.str(); #ifdef _DEBUG strConfig += "--verbose "; #endif char strDelay[64]; sprintf(strDelay, "--timeout %d ", m_sequenceDelay); strConfig += strDelay; // Find out where we're running from. char real_path[2*MAXPATHLEN]; char given_path[2*MAXPATHLEN]; uint32_t path_size = 2*MAXPATHLEN; if (_NSGetExecutablePath(given_path, &path_size) == 0) { if (realpath(given_path, real_path) != NULL) { strConfig += "--appPath \""; strConfig += real_path; strConfig += "\" "; strConfig += "--appHome \""; strConfig += m_homepath; strConfig += "\" "; } } // Write the new configuration. strConfig + "\n"; WriteFile(m_configFile.c_str(), strConfig); // If process is running, kill -HUP to have it reload settings. int pid = GetProcessPid(XBMC_HELPER_PROGRAM); if (pid != -1) kill(pid, SIGHUP); } // Turning off? if (oldMode != APPLE_REMOTE_DISABLED && m_mode == APPLE_REMOTE_DISABLED) { Stop(); Uninstall(); } // Turning on. if (oldMode == APPLE_REMOTE_DISABLED && m_mode != APPLE_REMOTE_DISABLED) Start(); // Installation/uninstallation. if (oldAlwaysOn == false && m_alwaysOn == true) Install(); if (oldAlwaysOn == true && m_alwaysOn == false) Uninstall(); }
void XBMCHelper::Configure() { int oldMode = m_mode; int oldDelay = m_sequenceDelay; int oldPort = m_port; // Read the new configuration. m_errorStarting = false; m_mode = CSettings::GetInstance().GetInt(CSettings::SETTING_INPUT_APPLEREMOTEMODE); m_sequenceDelay = CSettings::GetInstance().GetInt(CSettings::SETTING_INPUT_APPLEREMOTESEQUENCETIME); m_port = CSettings::GetInstance().GetInt(CSettings::SETTING_SERVICES_ESPORT); // Don't let it enable if sofa control or remote buddy is around. if (IsRemoteBuddyInstalled() || IsSofaControlRunning()) { // If we were starting then remember error. if (oldMode == APPLE_REMOTE_DISABLED && m_mode != APPLE_REMOTE_DISABLED) m_errorStarting = true; m_mode = APPLE_REMOTE_DISABLED; CSettings::GetInstance().SetInt(CSettings::SETTING_INPUT_APPLEREMOTEMODE, APPLE_REMOTE_DISABLED); } // New configuration. if (oldMode != m_mode || oldDelay != m_sequenceDelay || oldPort != m_port) { // Build a new config string. std::string strConfig; switch (m_mode) { case APPLE_REMOTE_UNIVERSAL: strConfig = "--universal "; break; case APPLE_REMOTE_MULTIREMOTE: strConfig = "--multiremote "; break; default: break; } std::stringstream strPort; strPort << "--port " << m_port; strConfig += strPort.str(); #ifdef _DEBUG strConfig += "--verbose "; #endif char strDelay[64]; sprintf(strDelay, "--timeout %d ", m_sequenceDelay); strConfig += strDelay; // Find out where we're running from. char real_path[2*MAXPATHLEN]; char given_path[2*MAXPATHLEN]; uint32_t path_size = 2*MAXPATHLEN; if (_NSGetExecutablePath(given_path, &path_size) == 0) { if (realpath(given_path, real_path) != NULL) { strConfig += "--appPath \""; strConfig += real_path; strConfig += "\" "; strConfig += "--appHome \""; strConfig += m_homepath; strConfig += "\" "; } } // Write the new configuration. strConfig + "\n"; WriteFile(m_configFile.c_str(), strConfig); // If process is running, kill -HUP to have it reload settings. int pid = GetProcessPid(XBMC_HELPER_PROGRAM); if (pid != -1) kill(pid, SIGHUP); } // Turning off? if (oldMode != APPLE_REMOTE_DISABLED && m_mode == APPLE_REMOTE_DISABLED) { Stop(); Uninstall(); } // Turning on. if (oldMode == APPLE_REMOTE_DISABLED && m_mode != APPLE_REMOTE_DISABLED) Start(); HandleLaunchAgent(); }