1 /* 2 Implementation of GPTData class derivative with basic text-mode interaction 3 Copyright (C) 2010-2013 Roderick W. Smith 4 5 This program is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 2 of the License, or 8 (at your option) any later version. 9 10 This program is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 You should have received a copy of the GNU General Public License along 16 with this program; if not, write to the Free Software Foundation, Inc., 17 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 18 19 */ 20 21 #ifndef __GPTDATATEXT_H 22 #define __GPTDATATEXT_H 23 24 #include "gpt.h" 25 26 using namespace std; 27 28 class GPTDataTextUI : public GPTData { 29 protected: 30 public: 31 GPTDataTextUI(void); 32 GPTDataTextUI(string filename); 33 ~GPTDataTextUI(void); 34 35 // This one needs to be explicitly defined, even though it does nothing new.... 36 // const GPTPart & operator[](uint32_t partNum) {return GPTData::operator[](partNum);} 37 38 // Extended (interactive) versions of some base-class functions 39 WhichToUse UseWhichPartitions(void); 40 int XFormDisklabel(void); 41 42 // Request information from the user (& possibly do something with it) 43 uint32_t GetPartNum(void); 44 void ResizePartitionTable(void); 45 void CreatePartition(void); 46 void DeletePartition(void); 47 void ChangePartType(void); 48 void ChangeUniqueGuid(void); 49 void SetAttributes(uint32_t partNum); 50 int SetName(uint32_t partNum); 51 int SwapPartitions(void); 52 int DestroyGPTwPrompt(void); // Returns 1 if user proceeds 53 void ShowDetails(void); 54 void MakeHybrid(void); 55 int XFormToMBR(void); // convert GPT to MBR, wiping GPT afterwards. Returns 1 if successful 56 57 // An informational function.... 58 void WarnAboutIffyMBRPart(int partNum); 59 60 // Main menu functions 61 void MainMenu(string filename); 62 void ShowCommands(void); 63 void ExpertsMenu(string filename); 64 void ShowExpertCommands(void); 65 void RecoveryMenu(string filename); 66 void ShowRecoveryCommands(void); 67 }; // class GPTDataTextUI 68 69 int GetMBRTypeCode(int defType); 70 UnicodeString ReadUString(void); 71 72 #endif // __GPTDATATEXT_H 73