1/*
2 * Copyright 2007, Ingo Weinhold, bonefish@cs.tu-berlin.de.
3 * Distributed under the terms of the MIT License.
4 */
5#ifndef _VFS_BOOT_H
6#define _VFS_BOOT_H
7
8
9#include <disk_device_manager/KDiskDevice.h>
10#include <util/KMessage.h>
11
12
13class BootMethod {
14public:
15	BootMethod(const KMessage& bootVolume, int32 method);
16	virtual ~BootMethod();
17
18	virtual status_t Init();
19
20	virtual bool IsBootDevice(KDiskDevice* device, bool strict) = 0;
21	virtual bool IsBootPartition(KPartition* partition, bool& foundForSure) = 0;
22	virtual void SortPartitions(KPartition** partitions, int32 count) = 0;
23
24protected:
25	const KMessage&	fBootVolume;
26	int32			fMethod;
27};
28
29
30#endif	// _VFS_BOOT_H
31