#ifndef BOOT_MENU_H
#define BOOT_MENU_H
#include <File.h>
#include <Message.h>
#include <ObjectList.h>
class BootDrive;
class BootMenu {
public:
BootMenu() {}
virtual ~BootMenu() {}
virtual bool IsInstalled(const BootDrive& drive) = 0;
virtual status_t CanBeInstalled(const BootDrive& drive) = 0;
virtual status_t CollectPartitions(const BootDrive& drive,
BMessage& settings) = 0;
virtual status_t Install(const BootDrive& drive,
BMessage& settings) = 0;
virtual status_t SaveMasterBootRecord(BMessage* settings,
BFile* file) = 0;
virtual status_t RestoreMasterBootRecord(BMessage* settings,
BFile* file) = 0;
virtual status_t GetDisplayText(const char* text,
BString& displayText) = 0;
};
typedef BObjectList<BootMenu> BootMenuList;
#endif