2 * Copyright 2008-2011, Haiku, Inc. All rights reserved.
3 * Distributed under the terms of the MIT License.
6 * Michael Pfeiffer <laplace@users.sourceforge.net>
14 #include <ObjectList.h>
20 /* Setting BMessage Format:
22 "partition" array of BMessage:
23 "show" bool (flag if entry should be added to boot menu)
24 "name" String (the name as shown in boot menu)
25 "type" String (short name of file system: bfs, dos)
26 "path" String (path to partition in /dev/...)
27 "size" long (size of partition in bytes)
34 virtual ~BootMenu() {}
36 virtual bool IsInstalled(const BootDrive
& drive
) = 0;
37 virtual status_t
CanBeInstalled(const BootDrive
& drive
) = 0;
39 virtual status_t
CollectPartitions(const BootDrive
& drive
,
40 BMessage
& settings
) = 0;
42 virtual status_t
Install(const BootDrive
& drive
,
43 BMessage
& settings
) = 0;
44 virtual status_t
SaveMasterBootRecord(BMessage
* settings
,
46 virtual status_t
RestoreMasterBootRecord(BMessage
* settings
,
49 // Converts the specified text into a text as it will be shown
51 virtual status_t
GetDisplayText(const char* text
,
52 BString
& displayText
) = 0;
55 typedef BObjectList
<BootMenu
> BootMenuList
;