]>
Commit | Line | Data |
---|---|---|
2127e193 GI |
1 | /* |
2 | * dev_ata_cmd_set.h | |
3 | * | |
4 | * Home page of code is: http://smartmontools.sourceforge.net | |
5 | * | |
6 | * Copyright (C) 2008 Christian Franke <smartmontools-support@lists.sourceforge.net> | |
7 | * | |
8 | * This program is free software; you can redistribute it and/or modify | |
9 | * it under the terms of the GNU General Public License as published by | |
10 | * the Free Software Foundation; either version 2, or (at your option) | |
11 | * any later version. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * (for example COPYING); If not, see <http://www.gnu.org/licenses/>. | |
15 | * | |
16 | */ | |
17 | ||
18 | #ifndef DEV_ATA_CMD_SET_H | |
19 | #define DEV_ATA_CMD_SET_H | |
20 | ||
21 | #define DEV_ATA_CMD_SET_H_CVSID "$Id: dev_ata_cmd_set.h,v 1.3 2008/08/23 21:32:12 chrfranke Exp $\n" | |
22 | ||
23 | #include "atacmds.h" // smart_command_set | |
24 | #include "dev_interface.h" | |
25 | ||
26 | ///////////////////////////////////////////////////////////////////////////// | |
27 | // ata_device_with_command_set | |
28 | ||
29 | /// Adapter class to implement new ATA pass through old interface. | |
30 | ||
31 | class ata_device_with_command_set | |
32 | : public /*implements*/ ata_device | |
33 | { | |
34 | public: | |
35 | /// ATA pass through mapped to ata_command_interface(). | |
36 | virtual bool ata_pass_through(const ata_cmd_in & in, ata_cmd_out & out); | |
37 | ||
38 | protected: | |
39 | /// Old ATA interface called by ata_pass_through() | |
40 | virtual int ata_command_interface(smart_command_set command, int select, char * data) = 0; | |
41 | ||
42 | ata_device_with_command_set() | |
43 | : smart_device(never_called) { } | |
44 | }; | |
45 | ||
46 | #endif // DEV_ATA_CMD_SET_H |