Make UEFI boot-platform build again
[haiku.git] / headers / private / kernel / disk_device_manager / KFileDiskDevice.h
blob4490dbaa93e3fb6a63b4f8b45fea15883ee30ac3
1 // KFileDiskDevice.h
3 #ifndef _K_FILE_DISK_DEVICE_H
4 #define _K_FILE_DISK_DEVICE_H
6 #include <OS.h>
8 #include "KDiskDevice.h"
10 namespace BPrivate {
11 namespace DiskDevice {
13 class KPath;
15 class KFileDiskDevice : public KDiskDevice {
16 public:
17 KFileDiskDevice(partition_id id = -1);
18 virtual ~KFileDiskDevice();
20 status_t SetTo(const char *filePath, const char *devicePath = NULL);
21 void Unset();
22 virtual status_t InitCheck() const;
23 // TODO: probably superfluous
25 const char *FilePath() const;
27 // virtual void Dump(bool deep = true, int32 level = 0);
29 protected:
30 virtual status_t GetMediaStatus(status_t *mediaStatus);
31 virtual status_t GetGeometry(device_geometry *geometry);
33 private:
34 static status_t _GetDirectoryPath(partition_id id, KPath *path);
36 static status_t _RegisterDevice(const char *file, const char *device);
37 static status_t _UnregisterDevice(const char *device);
39 private:
40 char *fFilePath;
43 } // namespace DiskDevice
44 } // namespace BPrivate
46 using BPrivate::DiskDevice::KFileDiskDevice;
48 #endif // _K_FILE_DISK_DEVICE_H