void CUDisksProvider::DeviceChanged(const char *object, IStorageEventsCallback *callback) { CLog::Log(LOGDEBUG|LOGDBUS, "UDisks: DeviceChanged (%s)", object); CUDiskDevice *device = m_AvailableDevices[object]; if (device == NULL) { CLog::Log(LOGWARNING, "UDisks: Inconsistency found! DeviceChanged on an unindexed disk"); DeviceAdded(object, callback); } else { bool mounted = device->m_isMounted; /* make sure to not silently remount ejected usb thumb drives that user wants to eject, but make sure to mount blurays */ if (!mounted && g_advancedSettings.m_handleMounting && device->m_isOptical) device->Mount(); device->Update(); if (!mounted && device->m_isMounted && callback) callback->OnStorageAdded(device->m_Label, device->m_MountPath); else if (mounted && !device->m_isMounted && callback) callback->OnStorageSafelyRemoved(device->m_Label); CLog::Log(LOGDEBUG|LOGDBUS, "UDisks: DeviceChanged - %s", device->toString().c_str()); } }
void CUDisksProvider::DeviceChanged(const char *object, IStorageEventsCallback *callback) { CLog::Log(LOGDEBUG, "UDisks: DeviceChanged (%s)", object); CUDiskDevice *device = m_AvailableDevices[object]; if (device == NULL) { CLog::Log(LOGWARNING, "UDisks: Inconsistency found! DeviceChanged on an unindexed disk"); DeviceAdded(object, callback); } else { bool mounted = device->m_isMounted; if (!mounted && g_advancedSettings.m_handleMounting) device->Mount(); device->Update(); if (!mounted && device->m_isMounted && callback) callback->OnStorageAdded(device->m_Label, device->m_MountPath); else if (mounted && !device->m_isMounted && callback) callback->OnStorageSafelyRemoved(device->m_Label); CLog::Log(LOGDEBUG, "UDisks: DeviceChanged - %s", device->toString().c_str()); } }