xref: /haiku/src/apps/bootmanager/BootDrive.h (revision 49c044ab9fc4afb883931c0d0e5ba5083e60a563)
1b76ca311SAxel Dörfler /*
25675f44eSAxel Dörfler  * Copyright 2011, Axel Dörfler, axeld@pinc-software.de.
3b76ca311SAxel Dörfler  * Distributed under the terms of the MIT License.
4b76ca311SAxel Dörfler  */
5b76ca311SAxel Dörfler #ifndef BOOT_DRIVE_H
6b76ca311SAxel Dörfler #define BOOT_DRIVE_H
7b76ca311SAxel Dörfler 
8b76ca311SAxel Dörfler 
9*49c044abSAxel Dörfler #include <Path.h>
10*49c044abSAxel Dörfler 
11*49c044abSAxel Dörfler #include "BootMenu.h"
12*49c044abSAxel Dörfler 
13*49c044abSAxel Dörfler 
14*49c044abSAxel Dörfler class BDiskDevice;
15b76ca311SAxel Dörfler 
16b76ca311SAxel Dörfler 
17b76ca311SAxel Dörfler class BootDrive {
18b76ca311SAxel Dörfler public:
19*49c044abSAxel Dörfler 								BootDrive(const char* path);
205675f44eSAxel Dörfler 	virtual						~BootDrive();
21b76ca311SAxel Dörfler 
22*49c044abSAxel Dörfler 			BootMenu*			InstalledMenu(
23*49c044abSAxel Dörfler 									const BootMenuList& menus) const;
24*49c044abSAxel Dörfler 			status_t			CanMenuBeInstalled(
25*49c044abSAxel Dörfler 									const BootMenuList& menus) const;
26*49c044abSAxel Dörfler 			void				AddSupportedMenus(const BootMenuList& from,
27*49c044abSAxel Dörfler 									BootMenuList& to);
28b76ca311SAxel Dörfler 
29*49c044abSAxel Dörfler 			const char*			Path() const;
305675f44eSAxel Dörfler 			bool				IsBootDrive() const;
315675f44eSAxel Dörfler 
32*49c044abSAxel Dörfler 			status_t			GetDiskDevice(BDiskDevice& device) const;
335675f44eSAxel Dörfler 
345675f44eSAxel Dörfler private:
355675f44eSAxel Dörfler 			BPath				fPath;
36b76ca311SAxel Dörfler };
37b76ca311SAxel Dörfler 
38b76ca311SAxel Dörfler 
39b76ca311SAxel Dörfler #endif	// BOOT_DRIVE_H
40