root/src/system/kernel/fs/vfs_boot.h
/*
 * Copyright 2007, Ingo Weinhold, bonefish@cs.tu-berlin.de.
 * Distributed under the terms of the MIT License.
 */
#ifndef _VFS_BOOT_H
#define _VFS_BOOT_H


#include <disk_device_manager/KDiskDevice.h>
#include <util/KMessage.h>


class BootMethod {
public:
        BootMethod(const KMessage& bootVolume, int32 method);
        virtual ~BootMethod();

        virtual status_t Init();

        virtual bool IsBootDevice(KDiskDevice* device, bool strict) = 0;
        virtual bool IsBootPartition(KPartition* partition, bool& foundForSure) = 0;
        virtual void SortPartitions(KPartition** partitions, int32 count) = 0;

protected:
        const KMessage& fBootVolume;
        int32                   fMethod;
};


#endif  // _VFS_BOOT_H