Objective Systems, Inc.  
Home
About ASN.1
Products
Free Software
Documents
Services
Resources
Resellers
Customers
Careers
About Us
Contact Us
 

Google


Objective Systems, Inc.

rtxCppXmlString.h

Go to the documentation of this file.
00001 /*
00002  * Copyright (c) 2003-2006 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 _RTXCPPXMLSTRING_H_
00029 #define _RTXCPPXMLSTRING_H_
00030 
00031 #include "rtxsrc/rtxCommon.h"
00032 #include "rtxsrc/rtxCppBaseType.h"
00033 #include "rtxsrc/rtxPrint.h"
00034 
00039 class EXTERNRTX OSXMLStringClass : public OSXMLSTRING, public OSBaseType {
00040  public:
00045    OSXMLStringClass();
00046 
00056    OSXMLStringClass (const OSUTF8CHAR* strval, 
00057                      OSBOOL cdata_ = FALSE, 
00058                      OSBOOL ownMemory = FALSE);
00059 
00065    OSXMLStringClass (const OSXMLSTRING& str);
00066 
00072    OSXMLStringClass (const OSXMLStringClass& str);
00073 
00078    virtual ~OSXMLStringClass();
00079 
00084    OSBaseType* clone () const { return new OSXMLStringClass (*this); }
00085 
00093    void copyValue (const OSUTF8CHAR* utf8str);
00094 
00102    inline void copyValue (const char* cstring) {
00103       copyValue ((const OSUTF8CHAR*) cstring);
00104    }
00105 
00109    inline const char* c_str () const {
00110       return (const char*)value;
00111    }
00112 
00116    inline const OSUTF8CHAR* getValue () const {
00117       return value;
00118    }
00119 
00127    inline OSBOOL isCDATA () const { return cdata; }
00128 
00136    inline void setCDATA (OSBOOL bvalue) { cdata = bvalue; }
00137 
00143    inline void print (const char* name) { rtxPrintCharStr (name, value); }
00144 
00152    void setValue (const OSUTF8CHAR* utf8str);
00153 
00161    inline void setValue (const char* cstring) {
00162       setValue ((const OSUTF8CHAR*) cstring);
00163    }
00164 
00168    OSXMLStringClass& operator= (const OSXMLStringClass& original);
00169 
00173    inline int length () {
00174       return (value == 0) ? 0 : rtxUTF8Len(value);
00175    }
00176 
00180    inline int size () {
00181       return (value == 0) ? 0 : rtxUTF8LenBytes(value);
00182    }
00183 
00184 } ;
00185 
00186 #endif

This file was last modified on 8 Jan 2007.
XBinder, Version 1.1.9