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 276 of file manager.cpp.hpp.
276 {
278 FL_ERROR(
"ChannelManager::setDriverPriority() - Empty driver name provided");
279 return false;
280 }
281
282
283 bool found = false;
285 if (entry.name == name) {
286 entry.priority = priority;
287 found = true;
288 FL_DBG(
"ChannelManager: Driver '" << name <<
"' priority changed to " << priority);
289 break;
290 }
291 }
292
293 if (!found) {
294 FL_ERROR(
"ChannelManager::setDriverPriority() - Driver '" << name <<
"' not found in registry");
295 return false;
296 }
297
298
299
301
302 FL_DBG(
"ChannelManager: Engine list re-sorted after priority change");
303 return true;
304}
fl::vector< EngineEntry > mDrivers
Shared drivers sorted by priority descending (higher values first)
bool empty() const FL_NOEXCEPT
void sort_small(Iterator first, Iterator last, Compare comp) FL_NOEXCEPT
References fl::basic_string::empty(), FL_DBG, FL_ERROR, mDrivers, and fl::sort_small().