00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00031 #ifndef _OSRTSTRING_H_
00032 #define _OSRTSTRING_H_
00033
00034
00035 #ifdef _MSC_VER
00036 #pragma warning(disable: 4514)
00037 #endif
00038
00039 #include "rtxsrc/rtxCommon.h"
00040 #include "rtxsrc/rtxPrint.h"
00041 #include "rtxsrc/OSRTStringIF.h"
00042
00049 class EXTRTCLASS OSRTString : public OSRTStringIF {
00050 protected:
00051 OSUTF8CHAR* mValue;
00052
00053 public:
00057 EXTRTMETHOD OSRTString();
00058
00065 EXTRTMETHOD OSRTString (const char* strval);
00066
00073 EXTRTMETHOD OSRTString (const OSUTF8CHAR* strval);
00074
00080 EXTRTMETHOD OSRTString (const OSRTString& str);
00081
00086 virtual EXTRTMETHOD ~OSRTString();
00087
00091 virtual OSRTStringIF* clone () { return new OSRTString (*this); }
00092
00097 virtual const char* getValue () const {
00098 return (const char*) mValue;
00099 }
00100
00105 virtual const OSUTF8CHAR* getUTF8Value () const {
00106 return mValue;
00107 }
00108
00114 virtual void print (const char* name) {
00115 rtxPrintCharStr (name, (const char*)mValue);
00116 }
00117
00123 virtual EXTRTMETHOD void setValue (const char* str);
00124
00130 virtual EXTRTMETHOD void setValue (const OSUTF8CHAR* str);
00131
00135 EXTRTMETHOD OSRTString& operator= (const OSRTString& original);
00136 } ;
00137
00138 #endif