eid-viewer
eid-viewer library
convworker.h
1 #ifndef EID_VWR_CONV_WORKER_H
2 #define EID_VWR_CONV_WORKER_H
3 
4 #include <string>
5 #include <conversions.h>
6 #include <cstring>
7 #include <eid-util/utftranslate.h>
8 #include "cppeidstring.h"
9 
11 {
12 protected:
13  static eid_vwr_langs target_;
14 public:
15  static void set_lang(eid_vwr_langs which)
16  {
17  target_ = which;
18  };
19  static eid_vwr_langs get_lang()
20  {
21  return target_;
22  };
23  static bool have_language()
24  {
25  return target_ > EID_VWR_LANG_NONE;
26  };
27  virtual EID_STRING convert(const void *original) = 0;
28  virtual EID_STRING convert(std::string original)
29  {
30  return convert(original.c_str());
31  };
32  virtual void *convert(const void *original, int *len_return)
33  {
34  EID_STRING cv = convert(original);
35 
36  *len_return = (int) cv.length();
37  return EID_STRDUP(cv.c_str());
38  }
39 };
40 
41 #endif
Definition: convworker.h:10
eid_vwr_langs
Definition: oslayer.h:96
No language has yet been selected. Used as initializer.
Definition: oslayer.h:98