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 311 of file manager.cpp.hpp.
311 {
313 FL_ERROR(
"ChannelManager::setDriverPriority() - Empty driver name provided");
314 return false;
315 }
316
317
318 bool found = false;
320 if (entry.name == name) {
321 entry.priority = priority;
322 found = true;
323 FL_DBG(
"ChannelManager: Driver '" << name <<
"' priority changed to " << priority);
324 break;
325 }
326 }
327
328 if (!found) {
329 FL_ERROR(
"ChannelManager::setDriverPriority() - Driver '" << name <<
"' not found in registry");
330 return false;
331 }
332
333
334
336
337 FL_DBG(
"ChannelManager: Engine list re-sorted after priority change");
338 return true;
339}
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().