mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 21:22:46 +00:00 
			
		
		
		
	 c001e3f567
			
		
	
	
		c001e3f567
		
	
	
	
	
		
			
			We do that to increase clarity of the major and secondary components in the subsystem. To ensure it's even more understandable, we rename the files to better represent the class within them and to remove redundancy in the name. Also, some includes are removed from the general components of the ATA components' classes.
		
			
				
	
	
		
			35 lines
		
	
	
	
		
			985 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			985 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| /*
 | |
|  * Copyright (c) 2021, Liav A. <liavalb@hotmail.co.il>
 | |
|  *
 | |
|  * SPDX-License-Identifier: BSD-2-Clause
 | |
|  */
 | |
| 
 | |
| #pragma once
 | |
| 
 | |
| #include <Kernel/Interrupts/IRQHandler.h>
 | |
| #include <Kernel/Locking/Mutex.h>
 | |
| #include <Kernel/Storage/ATA/ATADevice.h>
 | |
| 
 | |
| namespace Kernel {
 | |
| 
 | |
| class IDEController;
 | |
| class ATADiskDevice final : public ATADevice {
 | |
|     friend class IDEController;
 | |
|     friend class DeviceManagement;
 | |
| 
 | |
| public:
 | |
|     static NonnullRefPtr<ATADiskDevice> create(ATAController const&, ATADevice::Address, u16 capabilities, u16 logical_sector_size, u64 max_addressable_block);
 | |
|     virtual ~ATADiskDevice() override;
 | |
| 
 | |
|     // ^StorageDevice
 | |
|     virtual CommandSet command_set() const override { return CommandSet::ATA; }
 | |
| 
 | |
| private:
 | |
|     virtual InterfaceType interface_type() const override { return InterfaceType::ATA; }
 | |
|     ATADiskDevice(ATAController const&, Address, MinorNumber, u16, u16, u64, NonnullOwnPtr<KString>);
 | |
| 
 | |
|     // ^DiskDevice
 | |
|     virtual StringView class_name() const override;
 | |
| };
 | |
| 
 | |
| }
 |