00001 /* 00002 * 00003 * Copyright (C) 1994-2010, OFFIS e.V. 00004 * All rights reserved. See COPYRIGHT file for details. 00005 * 00006 * This software and supporting documentation were developed by 00007 * 00008 * OFFIS e.V. 00009 * R&D Division Health 00010 * Escherweg 2 00011 * D-26121 Oldenburg, Germany 00012 * 00013 * 00014 * Module: dcmdata 00015 * 00016 * Author: Andrew Hewett 00017 * 00018 * Purpose: Interface of class DcmUnlimitedText 00019 * Value Representation UT is defined in Correction Proposal 101 00020 * 00021 * Last Update: $Author: joergr $ 00022 * Update Date: $Date: 2010-10-14 13:15:43 $ 00023 * CVS/RCS Revision: $Revision: 1.16 $ 00024 * Status: $State: Exp $ 00025 * 00026 * CVS/RCS Log at end of file 00027 * 00028 */ 00029 00030 00031 #ifndef DCVRUT_H 00032 #define DCVRUT_H 00033 00034 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ 00035 00036 #include "dcmtk/dcmdata/dctypes.h" 00037 #include "dcmtk/dcmdata/dcchrstr.h" 00038 00039 00042 class DcmUnlimitedText 00043 : public DcmCharString 00044 { 00045 00046 public: 00047 00052 DcmUnlimitedText(const DcmTag &tag, 00053 const Uint32 len = 0); 00054 00058 DcmUnlimitedText(const DcmUnlimitedText &old); 00059 00061 virtual ~DcmUnlimitedText(); 00062 00066 DcmUnlimitedText &operator=(const DcmUnlimitedText &obj); 00067 00071 virtual DcmObject *clone() const 00072 { 00073 return new DcmUnlimitedText(*this); 00074 } 00075 00088 virtual OFCondition copyFrom(const DcmObject& rhs); 00089 00096 virtual DcmEVR ident() const; 00097 00103 virtual OFCondition checkValue(const OFString &vm = "", 00104 const OFBool oldFormat = OFFalse); 00105 00111 virtual unsigned long getVM(); 00112 00119 virtual OFCondition getOFString(OFString &stringVal, 00120 const unsigned long pos, 00121 OFBool normalize = OFTrue); 00122 00128 virtual OFCondition getOFStringArray(OFString &stringVal, 00129 OFBool normalize = OFTrue); 00130 00131 /* --- static helper functions --- */ 00132 00137 static OFCondition checkStringValue(const OFString &value); 00138 }; 00139 00140 00141 #endif // DCVRUT_H 00142 00143 00144 /* 00145 ** CVS/RCS Log: 00146 ** $Log: dcvrut.h,v $ 00147 ** Revision 1.16 2010-10-14 13:15:43 joergr 00148 ** Updated copyright header. Added reference to COPYRIGHT file. 00149 ** 00150 ** Revision 1.15 2010-04-23 15:26:13 joergr 00151 ** Specify an appropriate default value for the "vm" parameter of checkValue(). 00152 ** 00153 ** Revision 1.14 2010-04-23 14:25:27 joergr 00154 ** Added new method to all VR classes which checks whether the stored value 00155 ** conforms to the VR definition and to the specified VM. 00156 ** 00157 ** Revision 1.13 2009-08-03 09:05:30 joergr 00158 ** Added methods that check whether a given string value conforms to the VR and 00159 ** VM definitions of the DICOM standards. 00160 ** 00161 ** Revision 1.12 2008-07-17 11:19:49 onken 00162 ** Updated copyFrom() documentation. 00163 ** 00164 ** Revision 1.11 2008-07-17 10:30:24 onken 00165 ** Implemented copyFrom() method for complete DcmObject class hierarchy, which 00166 ** permits setting an instance's value from an existing object. Implemented 00167 ** assignment operator where necessary. 00168 ** 00169 ** Revision 1.10 2007-11-29 14:30:35 meichel 00170 ** Updated doxygen API documentation 00171 ** 00172 ** Revision 1.9 2005/12/08 16:29:16 meichel 00173 ** Changed include path schema for all DCMTK header files 00174 ** 00175 ** Revision 1.8 2004/07/01 12:28:25 meichel 00176 ** Introduced virtual clone method for DcmObject and derived classes. 00177 ** 00178 ** Revision 1.7 2002/12/06 12:49:21 joergr 00179 ** Enhanced "print()" function by re-working the implementation and replacing 00180 ** the boolean "showFullData" parameter by a more general integer flag. 00181 ** Added doc++ documentation. 00182 ** Made source code formatting more consistent with other modules/files. 00183 ** 00184 ** Revision 1.6 2001/09/25 17:19:36 meichel 00185 ** Adapted dcmdata to class OFCondition 00186 ** 00187 ** Revision 1.5 2001/06/01 15:48:55 meichel 00188 ** Updated copyright header 00189 ** 00190 ** Revision 1.4 2000/03/08 16:26:28 meichel 00191 ** Updated copyright header. 00192 ** 00193 ** Revision 1.3 1999/03/31 09:25:12 meichel 00194 ** Updated copyright header in module dcmdata 00195 ** 00196 ** Revision 1.2 1998/11/12 16:47:58 meichel 00197 ** Implemented operator= for all classes derived from DcmObject. 00198 ** 00199 ** Revision 1.1 1998/01/19 13:19:40 hewett 00200 ** Initial version. 00201 ** 00202 */