xref: /aosp_15_r20/external/lzma/CPP/7zip/UI/FileManager/TextPairs.h (revision f6dc9357d832569d4d1f5d24eacdb3935a1ae8e6)
1*f6dc9357SAndroid Build Coastguard Worker // TextPairs.h
2*f6dc9357SAndroid Build Coastguard Worker 
3*f6dc9357SAndroid Build Coastguard Worker #ifndef ZIP7_INC_FM_TEXT_PAIRS_H
4*f6dc9357SAndroid Build Coastguard Worker #define ZIP7_INC_FM_TEXT_PAIRS_H
5*f6dc9357SAndroid Build Coastguard Worker 
6*f6dc9357SAndroid Build Coastguard Worker #include "../../../Common/MyString.h"
7*f6dc9357SAndroid Build Coastguard Worker 
8*f6dc9357SAndroid Build Coastguard Worker struct CTextPair
9*f6dc9357SAndroid Build Coastguard Worker {
10*f6dc9357SAndroid Build Coastguard Worker   UString ID;
11*f6dc9357SAndroid Build Coastguard Worker   UString Value;
12*f6dc9357SAndroid Build Coastguard Worker };
13*f6dc9357SAndroid Build Coastguard Worker 
14*f6dc9357SAndroid Build Coastguard Worker class CPairsStorage
15*f6dc9357SAndroid Build Coastguard Worker {
16*f6dc9357SAndroid Build Coastguard Worker   CObjectVector<CTextPair> Pairs;
17*f6dc9357SAndroid Build Coastguard Worker 
18*f6dc9357SAndroid Build Coastguard Worker   int FindID(const UString &id, unsigned &insertPos) const;
19*f6dc9357SAndroid Build Coastguard Worker   int FindID(const UString &id) const;
20*f6dc9357SAndroid Build Coastguard Worker   void Sort();
21*f6dc9357SAndroid Build Coastguard Worker public:
Clear()22*f6dc9357SAndroid Build Coastguard Worker   void Clear() { Pairs.Clear(); }
23*f6dc9357SAndroid Build Coastguard Worker   bool ReadFromString(const UString &text);
24*f6dc9357SAndroid Build Coastguard Worker   void SaveToString(UString &text) const;
25*f6dc9357SAndroid Build Coastguard Worker 
26*f6dc9357SAndroid Build Coastguard Worker   bool GetValue(const UString &id, UString &value) const;
27*f6dc9357SAndroid Build Coastguard Worker   UString GetValue(const UString &id) const;
28*f6dc9357SAndroid Build Coastguard Worker   void AddPair(const CTextPair &pair);
29*f6dc9357SAndroid Build Coastguard Worker   void DeletePair(const UString &id);
30*f6dc9357SAndroid Build Coastguard Worker };
31*f6dc9357SAndroid Build Coastguard Worker 
32*f6dc9357SAndroid Build Coastguard Worker #endif
33