OSRTUTF8String.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2003-2010 Objective Systems, Inc.
00003  *
00004  * This software is furnished under a license and may be used and copied
00005  * only in accordance with the terms of such license and with the
00006  * inclusion of the above copyright notice. This software or any other
00007  * copies thereof may not be provided or otherwise made available to any
00008  * other person. No title to and ownership of the software is hereby
00009  * transferred.
00010  *
00011  * The information in this software is subject to change without notice
00012  * and should not be construed as a commitment by Objective Systems, Inc.
00013  *
00014  * PROPRIETARY NOTICE
00015  *
00016  * This software is an unpublished work subject to a confidentiality agreement
00017  * and is protected by copyright and trade secret law.  Unauthorized copying,
00018  * redistribution or other use of this work is prohibited.
00019  *
00020  * The above notice of copyright on this source code product does not indicate
00021  * any actual or intended publication of such source code.
00022  *
00023  *****************************************************************************/
00028 #ifndef _OSRTUTF8STRING_H_
00029 #define _OSRTUTF8STRING_H_
00030 
00031 #include "rtxsrc/OSRTBaseType.h"
00032 #include "rtxsrc/rtxPrint.h"
00033 #include "rtxsrc/rtxUTF8.h"
00034 
00039 class EXTERNRT OSRTUTF8String : public OSRTBaseType {
00040    const OSUTF8CHAR* mValue;
00041 
00042  public:
00046    OSRTUTF8String();
00047 
00054    OSRTUTF8String (const char* strval);
00055 
00062    OSRTUTF8String (const OSUTF8CHAR* strval);
00063 
00069    OSRTUTF8String (const OSRTUTF8String& str);
00070 
00075    virtual ~OSRTUTF8String();
00076 
00081    OSRTBaseType* clone () const { return new OSRTUTF8String (*this); }
00082 
00090    void copyValue (const char* str);
00091 
00095    inline const char* c_str () const {
00096       return mValue;
00097    }
00098 
00102    inline const char* getValue () const {
00103       return mValue;
00104    }
00105 
00111    inline void print (const char* name) { rtxPrintCharStr (name, mValue); }
00112 
00120    void setValue (const char* str);
00121 
00125    OSRTUTF8String& operator= (const OSRTUTF8String& original);
00126 } ;
00127 
00128 #endif