Change the priority of a registered driver.
- Parameters
-
| name | Driver name (case-sensitive, e.g., "RMT", "SPI", "PARLIO") |
| priority | New priority value (higher = preferred, e.g., 9000 > 5000) |
- Returns
- true if driver was found and priority updated, false if name not found
- Note
- Triggers automatic re-sort of driver list by priority (descending)
-
Changes take effect immediately on next enqueue()
-
Higher priority drivers are selected first during canHandle() iteration
Definition at line 304 of file manager.cpp.hpp.
304 {
306 FL_ERROR(
"ChannelManager::setDriverPriority() - Empty driver name provided");
307 return false;
308 }
309
310
311 bool found = false;
313 if (entry.name == name) {
314 entry.priority = priority;
315 found = true;
316 FL_DBG(
"ChannelManager: Driver '" << name <<
"' priority changed to " << priority);
317 break;
318 }
319 }
320
321 if (!found) {
322 FL_ERROR(
"ChannelManager::setDriverPriority() - Driver '" << name <<
"' not found in registry");
323 return false;
324 }
325
326
327
329
330 FL_DBG(
"ChannelManager: Engine list re-sorted after priority change");
331 return true;
332}
fl::vector< EngineEntry > mDrivers
Shared drivers sorted by priority descending (higher values first)
bool empty() const FL_NO_EXCEPT
void sort_small(Iterator first, Iterator last, Compare comp) FL_NO_EXCEPT
References FL_DBG, FL_ERROR, fl::FL_NO_EXCEPT, mDrivers, and fl::adl_barrier::sort_small().