Merge pull request #4324 from FernetMenta/wasapi
[vuplus_xbmc] / lib / UnrarXLib / strlist.hpp
1 #ifndef _RAR_STRLIST_
2 #define _RAR_STRLIST_
3
4 class StringList
5 {
6   private:
7     Array<char> StringData;
8     unsigned int CurPos;
9
10     Array<wchar> StringDataW;
11     unsigned int CurPosW;
12
13     Array<int> PosDataW;
14     uint PosDataItem;
15
16     uint StringsCount;
17
18     uint SaveCurPos[16],SaveCurPosW[16],SavePosDataItem[16],SavePosNumber;
19   public:
20     StringList();
21     ~StringList();
22     void Reset();
23     unsigned int AddString(const char *Str);
24     unsigned int AddString(const char *Str,const wchar *StrW);
25     bool GetString(char *Str,int MaxLength);
26     bool GetString(char *Str,wchar *StrW,int MaxLength);
27     bool GetString(char *Str,wchar *StrW,int MaxLength,int StringNum);
28     char* GetString();
29     bool GetString(char **Str,wchar **StrW);
30     char* GetString(unsigned int StringPos);
31     void Rewind();
32     unsigned int ItemsCount() {return(StringsCount);};
33     int GetBufferSize();
34     bool Search(char *Str,wchar *StrW,bool CaseSensitive);
35     void SavePosition();
36     void RestorePosition();
37 };
38
39 #endif