Exemple #1
0
	void UUIDLinker::diskAppeared(DADiskRef disk, DiskInformation const & di)
	{
		auto mediaUUIDs = getUUIDs(di);
		for (auto mediaID: mediaUUIDs)
		{
			addLinkForDisk(base() + "/" + mediaID, di);
		}
	}
Exemple #2
0
	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());
			}
		}
	}
Exemple #3
0
	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());
			}
		}
	}