blob: 55108dd9b10a1045b5ffd8eda7cf62689f89765e [file] [log] [blame]
#ifndef _RAR_STRLIST_
#define _RAR_STRLIST_
namespace third_party_unrar {
class StringList
{
private:
Array<wchar> StringData;
size_t CurPos;
size_t StringsCount;
size_t SaveCurPos[16],SavePosNumber;
public:
StringList();
void Reset();
void AddStringA(const char *Str);
void AddString(const wchar *Str);
bool GetStringA(char *Str,size_t MaxLength);
bool GetString(wchar *Str,size_t MaxLength);
bool GetString(wchar *Str,size_t MaxLength,int StringNum);
wchar* GetString();
bool GetString(wchar **Str);
void Rewind();
size_t ItemsCount() {return StringsCount;};
size_t GetCharCount() {return StringData.Size();}
bool Search(const wchar *Str,bool CaseSensitive);
void SavePosition();
void RestorePosition();
};
} // namespace third_party_unrar
#endif