aboutsummaryrefslogtreecommitdiff
path: root/CPP/Common/Lang.h
blob: 76d5418e6e31e9e47a5c5749f314e36f7a141403 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// Common/Lang.h

#ifndef ZIP7_INC_COMMON_LANG_H
#define ZIP7_INC_COMMON_LANG_H

#include "MyString.h"

class CLang
{
  wchar_t *_text;

  bool OpenFromString(const AString &s);
public:
  CRecordVector<UInt32> _ids;
  CRecordVector<UInt32> _offsets;
  UStringVector Comments;

  CLang(): _text(NULL) {}
  ~CLang() { Clear(); }
  bool Open(CFSTR fileName, const char *id);
  void Clear() throw();
  bool IsEmpty() const { return _ids.IsEmpty(); }
  const wchar_t *Get(UInt32 id) const throw();
  const wchar_t *Get_by_index(unsigned index) const throw()
  {
    return _text + (size_t)_offsets[index];
  }
};

#endif