# Enable/Disable auto selection mode This sample app demonstrates how to enable/disable auto selection mode for modem configuration. 1. Get the ConfigFactory instance auto &configFactory = telux::config::ConfigFactory::getInstance(); Copy to clipboard 2. Get ModemConfigManager instance and Wait for sub system initialization std::promise prom{}; modemConfigManager_ = configFactory.getModemConfigManager( [&prom](telux::common::ServiceStatus status) { prom.set_value(status); }); if (!modemConfigManager_) { std::cout << "Failed to get modem config Manager" << std::endl; return; } // Check if modem config subsystem is ready // If modem config subsystem is not ready, wait for it to be ready telux::common::ServiceStatus managerStatus = modemConfigManager_->getServiceStatus(); if (managerStatus != telux::common::ServiceStatus::SERVICE_AVAILABLE) { std::cout << "\nModem config subsystem is not ready, Please wait ..." << std::endl; managerStatus = prom.get_future().get(); } // Exit the application, if SDK is unable to initialize modem config subsystems if (managerStatus != telux::common::ServiceStatus::SERVICE_AVAILABLE) { std::cout << "ERROR - Unable to initialize subSystem" << std::endl; return; } Copy to clipboard 3. Set auto configuration selection mode std::promise p; telux::config::AutoSelectionMode mode = telux::config::AutoSelectionMod::ENABLED; telux::common::Status status = modemConfigManager_->setAutoSelectionMode(mode, slotId_, [&p](telux::common::ErrorCode error) { if (error == telux::common::ErrorCode::SUCCESS) { p.set_value(true); } else { std::cout << "Failed to set selection mode" << std::endl; p.set_value(false); } }); if (status == telux::common::Status::SUCCESS) { std::cout << "set selection mode Request sent" << std::endl; } else { std::cout << "set selection mode Request failed" << std::endl; } if (p.get_future().get()) { std::cout << "set selection mode succeeded." << std::endl; } Copy to clipboard 4. Get current auto configuration selection mode std::promise p; telux::config::AutoSelectionMode selMode; telux::common::Status status = modemConfigManager_->getAutoSelectionMode( [&p, &selMode](AutoSelectionMode selectionMode, telux::common::ErrorCode error) { if (error == telux::common::ErrorCode::SUCCESS) { selMode = selectionMode; p.set_value(true); } else { std::cout << "Failed to get selection mode" << std::endl; p.set_value(false); } }, slotId_); if (status == telux::common::Status::SUCCESS) { std::cout << "Get selection mode Request sent" << std::endl; } else { std::cout << "Get selection mode Request failed" << std::endl; } if (p.get_future().get()) { if (selMode == telux::config::AutoSelectionMode::DISABLED) { std::cout << "DISABLED" << std::endl; } else { std::cout << "ENABLED" << std::endl; } } Copy to clipboard Last Published: Jun 24, 2026 [Previous Topic Load and activate modem configuration](https://docs.qualcomm.com/bundle/publicresource/80-PF458-1/topics/load_and_activate_modem_config_file.md) [Next Topic Deactivate/Delete modem configuration file](https://docs.qualcomm.com/bundle/publicresource/80-PF458-1/topics/deactivate_and_delete_modem_config_file.md)