GTXclient C++ API  GTXserver-17.0.3
GTXStringArray.hpp
1 #ifndef __GTXStringArray_hpp__
2 #define __GTXStringArray_hpp__
3 
4 #define __USING_GTXSERVER_CPP_API__
5 
6 #ifdef DOXYGEN
7 #define SWIG_OR_DOXYGEN
8 #endif //DOXYGEN
9 
10 #ifdef SWIG
11 #define GLOBAL_CLASS
12 #define SWIG_OR_DOXYGEN
13 #else //SWIG
14 #include <GTXClient.h>
15 #endif //SWIG
16 
20 class GLOBAL_CLASS GTXStringArray
21 {
22 public:
26  ~GTXStringArray();
27 #ifndef SWIG
28 
29  GTXStringArray(gtx_long count, const char * const*list);
30 #endif
31 
32  GTXStringArray(const GTXStringArray &in_chrdata);
33 #ifndef SWIG
34 
35  GTXStringArray &operator=(const GTXStringArray &in_chrdata);
36 #endif
37 
39  gtx_long GetCount(void) const;
41  void Resize(gtx_long count);
42 
43 
45  const char *GetValue(gtx_long rank) const;
47  const char **GetValues() const;
49  void SetValue(gtx_long rank, const char *value);
50 
51 #ifndef SWIG
52 
53  void SetValues(const char * const *values);
54 #endif
55 
56 private:
57  gtx_long _count;
58  char **_values;
59  int *_ref;
60 
62  void StorePointer(char **values, gtx_long count);
64  void Unref();
65 
66  friend class GTXClient;
67 };
68 
69 #endif //__GTXStringArray_hpp__