void UUIDLinker::diskAppeared(DADiskRef disk, DiskInformation const & di) { auto mediaUUIDs = getUUIDs(di); for (auto mediaID: mediaUUIDs) { addLinkForDisk(base() + "/" + mediaID, di); } }
void UUIDLinker::diskDisappeared(DADiskRef disk, DiskInformation const & di) { auto mediaUUIDs = getUUIDs(di); for (auto mediaID: mediaUUIDs) { try { mediaID = m_base + "/" + mediaID; logger().log(ASL_LEVEL_NOTICE, "Removing symlink: ", mediaID); removeFSObject(mediaID); } catch (std::exception const & e) { logger().log(ASL_LEVEL_ERR, "Could not remove symlink: ", e.what()); } } }
void UUIDLinker::diskAppeared(DADiskRef disk, DiskInformation const & di) { auto mediaUUIDs = getUUIDs(di); for (auto mediaID: mediaUUIDs) { try { mediaID = m_base + "/" + mediaID; std::string devicePath = "/dev/" + di.mediaBSDName; logger().log(ASL_LEVEL_NOTICE, "Creating symlink: ", mediaID, " -> ", devicePath); createSymlink(mediaID, devicePath); } catch (std::exception const & e) { logger().log(ASL_LEVEL_ERR, "Could not create symlink: ", e.what()); } } }