resetting manifest requested domain to floor
[platform/upstream/gptfdisk.git] / gpttext.h
1 /*
2     Implementation of GPTData class derivative with basic text-mode interaction
3     Copyright (C) 2010-2011 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       // 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
65
66 int GetMBRTypeCode(int defType);
67 UnicodeString ReadUString(void);
68
69 #endif // __GPTDATATEXT_H