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: Gerd Ehlers, Andreas Barth 00017 * 00018 * Purpose: Interface of class DcmAgeString 00019 * 00020 * Last Update: $Author: joergr $ 00021 * Update Date: $Date: 2010-11-05 09:34:11 $ 00022 * CVS/RCS Revision: $Revision: 1.19 $ 00023 * Status: $State: Exp $ 00024 * 00025 * CVS/RCS Log at end of file 00026 * 00027 */ 00028 00029 00030 #ifndef DCVRAS_H 00031 #define DCVRAS_H 00032 00033 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ 00034 00035 #include "dcmtk/dcmdata/dcbytstr.h" 00036 00037 00040 class DcmAgeString 00041 : public DcmByteString 00042 { 00043 00044 public: 00045 00051 DcmAgeString(const DcmTag &tag, 00052 const Uint32 len = 0); 00053 00057 DcmAgeString(const DcmAgeString &old); 00058 00061 virtual ~DcmAgeString(void); 00062 00067 DcmAgeString &operator=(const DcmAgeString &obj); 00068 00072 virtual DcmObject *clone() const 00073 { 00074 return new DcmAgeString(*this); 00075 } 00076 00089 virtual OFCondition copyFrom(const DcmObject& rhs); 00090 00094 virtual DcmEVR ident(void) const; 00095 00103 virtual OFCondition checkValue(const OFString &vm = "1-n", 00104 const OFBool oldFormat = OFFalse); 00105 00106 /* --- static helper functions --- */ 00107 00116 static OFCondition checkStringValue(const OFString &value, 00117 const OFString &vm = "1-n"); 00118 }; 00119 00120 00121 #endif // DCVRAS_H 00122 00123 00124 /* 00125 ** CVS/RCS Log: 00126 ** $Log: dcvras.h,v $ 00127 ** Revision 1.19 2010-11-05 09:34:11 joergr 00128 ** Added support for checking the value multiplicity "9" (see Supplement 131). 00129 ** 00130 ** Revision 1.18 2010-10-14 13:15:42 joergr 00131 ** Updated copyright header. Added reference to COPYRIGHT file. 00132 ** 00133 ** Revision 1.17 2010-04-23 15:26:12 joergr 00134 ** Specify an appropriate default value for the "vm" parameter of checkValue(). 00135 ** 00136 ** Revision 1.16 2010-04-23 14:25:27 joergr 00137 ** Added new method to all VR classes which checks whether the stored value 00138 ** conforms to the VR definition and to the specified VM. 00139 ** 00140 ** Revision 1.15 2010-04-22 09:31:30 joergr 00141 ** Revised misleading parameter documentation for the checkValue() method. 00142 ** 00143 ** Revision 1.14 2010-04-22 08:59:10 joergr 00144 ** Added support for further VM values ("1-8", "1-99", "16", "32") to be checked. 00145 ** 00146 ** Revision 1.13 2009-08-03 09:05:30 joergr 00147 ** Added methods that check whether a given string value conforms to the VR and 00148 ** VM definitions of the DICOM standards. 00149 ** 00150 ** Revision 1.12 2008-07-17 11:19:49 onken 00151 ** Updated copyFrom() documentation. 00152 ** 00153 ** Revision 1.11 2008-07-17 10:30:23 onken 00154 ** Implemented copyFrom() method for complete DcmObject class hierarchy, which 00155 ** permits setting an instance's value from an existing object. Implemented 00156 ** assignment operator where necessary. 00157 ** 00158 ** Revision 1.10 2005-12-08 16:28:52 meichel 00159 ** Changed include path schema for all DCMTK header files 00160 ** 00161 ** Revision 1.9 2004/07/01 12:28:25 meichel 00162 ** Introduced virtual clone method for DcmObject and derived classes. 00163 ** 00164 ** Revision 1.8 2002/12/06 12:49:13 joergr 00165 ** Enhanced "print()" function by re-working the implementation and replacing 00166 ** the boolean "showFullData" parameter by a more general integer flag. 00167 ** Added doc++ documentation. 00168 ** Made source code formatting more consistent with other modules/files. 00169 ** 00170 ** Revision 1.7 2001/06/01 15:48:48 meichel 00171 ** Updated copyright header 00172 ** 00173 ** Revision 1.6 2000/03/08 16:26:21 meichel 00174 ** Updated copyright header. 00175 ** 00176 ** Revision 1.5 1999/03/31 09:24:55 meichel 00177 ** Updated copyright header in module dcmdata 00178 ** 00179 ** Revision 1.4 1998/11/12 16:47:45 meichel 00180 ** Implemented operator= for all classes derived from DcmObject. 00181 ** 00182 ** Revision 1.3 1996/01/05 13:23:02 andreas 00183 ** - changed to support new streaming facilities 00184 ** - more cleanups 00185 ** - merged read / write methods for block and file transfer 00186 ** 00187 */