| 29 | } |
| 30 | |
| 31 | bool registerDevice(Device* device) |
| 32 | { |
| 33 | if(device == nullptr) { |
| 34 | return false; |
| 35 | } |
| 36 | auto devname = device->getName(); |
| 37 | |
| 38 | Device::List devices(spiFlash); |
| 39 | auto it = std::find(devices.begin(), devices.end(), devname); |
| 40 | if(!it) { |
| 41 | devices.add(device); |
| 42 | device->loadPartitions(*spiFlash, PARTITION_TABLE_OFFSET); |
| 43 | debug_i("[Storage] Device '%s' registered", devname.c_str()); |
| 44 | } else if(*it != *device) { |
| 45 | debug_e("[Storage] Another device is already registered with name '%s'", devname.c_str()); |
| 46 | return false; |
| 47 | } |
| 48 | |
| 49 | return true; |
| 50 | } |
| 51 | |
| 52 | bool unRegisterDevice(Device* device) |
| 53 | { |
no test coverage detected