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