2 Implementation of GPTData class derivative with basic text-mode interaction
3 Copyright (C) 2010-2011 Roderick W. Smith
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.
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.
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.
21 #ifndef __GPTDATATEXT_H
22 #define __GPTDATATEXT_H
28 class GPTDataTextUI : public GPTData {
32 GPTDataTextUI(string filename);
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);}
38 // Extended (interactive) versions of some base-class functions
39 WhichToUse UseWhichPartitions(void);
40 int XFormDisklabel(void);
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
57 // Main menu functions
58 void MainMenu(string filename);
59 void ShowCommands(void);
60 void ExpertsMenu(string filename);
61 void ShowExpertCommands(void);
62 void RecoveryMenu(string filename);
63 void ShowRecoveryCommands(void);
64 }; // class GPTDataTextUI
66 int GetMBRTypeCode(int defType);
67 UnicodeString ReadUString(void);
69 #endif // __GPTDATATEXT_H