OFFIS DCMTK  Version 3.6.0
dcvrui.h
1 /*
2  *
3  * Copyright (C) 1994-2010, OFFIS e.V.
4  * All rights reserved. See COPYRIGHT file for details.
5  *
6  * This software and supporting documentation were developed by
7  *
8  * OFFIS e.V.
9  * R&D Division Health
10  * Escherweg 2
11  * D-26121 Oldenburg, Germany
12  *
13  *
14  * Module: dcmdata
15  *
16  * Author: Gerd Ehlers, Andreas Barth
17  *
18  * Purpose: Interface of class DcmUniqueIdentifier
19  *
20  * Last Update: $Author: joergr $
21  * Update Date: $Date: 2010-11-05 09:34:11 $
22  * CVS/RCS Revision: $Revision: 1.30 $
23  * Status: $State: Exp $
24  *
25  * CVS/RCS Log at end of file
26  *
27  */
28 
29 #ifndef DCVRUI_H
30 #define DCVRUI_H
31 
32 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
33 
34 #include "dcmtk/dcmdata/dcbytstr.h"
35 
36 
40  : public DcmByteString
41 {
42 
43  public:
44 
50  DcmUniqueIdentifier(const DcmTag &tag,
51  const Uint32 len = 0);
52 
57 
60  virtual ~DcmUniqueIdentifier();
61 
67 
71  virtual DcmObject *clone() const
72  {
73  return new DcmUniqueIdentifier(*this);
74  }
75 
88  virtual OFCondition copyFrom(const DcmObject& rhs);
89 
93  virtual DcmEVR ident() const;
94 
102  virtual OFCondition checkValue(const OFString &vm = "1-n",
103  const OFBool oldFormat = OFFalse);
104 
117  virtual void print(STD_NAMESPACE ostream&out,
118  const size_t flags = 0,
119  const int level = 0,
120  const char *pixelFileName = NULL,
121  size_t *pixelCounter = NULL);
122 
131  virtual OFCondition putString(const char *stringVal);
132 
133  /* --- static helper functions --- */
134 
143  static OFCondition checkStringValue(const OFString &value,
144  const OFString &vm = "1-n");
145 
146  protected:
147 
155 };
156 
157 
158 #endif // DCVRUI_H
159 
160 
161 /*
162 ** CVS/RCS Log:
163 ** $Log: dcvrui.h,v $
164 ** Revision 1.30 2010-11-05 09:34:11 joergr
165 ** Added support for checking the value multiplicity "9" (see Supplement 131).
166 **
167 ** Revision 1.29 2010-10-14 13:15:43 joergr
168 ** Updated copyright header. Added reference to COPYRIGHT file.
169 **
170 ** Revision 1.28 2010-04-23 15:26:13 joergr
171 ** Specify an appropriate default value for the "vm" parameter of checkValue().
172 **
173 ** Revision 1.27 2010-04-23 14:25:27 joergr
174 ** Added new method to all VR classes which checks whether the stored value
175 ** conforms to the VR definition and to the specified VM.
176 **
177 ** Revision 1.26 2010-04-22 09:31:30 joergr
178 ** Revised misleading parameter documentation for the checkValue() method.
179 **
180 ** Revision 1.25 2010-04-22 08:59:11 joergr
181 ** Added support for further VM values ("1-8", "1-99", "16", "32") to be checked.
182 **
183 ** Revision 1.24 2009-08-03 09:05:30 joergr
184 ** Added methods that check whether a given string value conforms to the VR and
185 ** VM definitions of the DICOM standards.
186 **
187 ** Revision 1.23 2008-07-17 11:19:49 onken
188 ** Updated copyFrom() documentation.
189 **
190 ** Revision 1.22 2008-07-17 10:30:23 onken
191 ** Implemented copyFrom() method for complete DcmObject class hierarchy, which
192 ** permits setting an instance's value from an existing object. Implemented
193 ** assignment operator where necessary.
194 **
195 ** Revision 1.21 2006-08-15 15:49:56 meichel
196 ** Updated all code in module dcmdata to correctly compile when
197 ** all standard C++ classes remain in namespace std.
198 **
199 ** Revision 1.20 2005/12/08 16:29:12 meichel
200 ** Changed include path schema for all DCMTK header files
201 **
202 ** Revision 1.19 2004/07/01 12:28:25 meichel
203 ** Introduced virtual clone method for DcmObject and derived classes.
204 **
205 ** Revision 1.18 2002/12/06 12:49:19 joergr
206 ** Enhanced "print()" function by re-working the implementation and replacing
207 ** the boolean "showFullData" parameter by a more general integer flag.
208 ** Added doc++ documentation.
209 ** Made source code formatting more consistent with other modules/files.
210 **
211 ** Revision 1.17 2002/04/25 10:01:21 joergr
212 ** Made makeMachineByteString() virtual to avoid ambiguities.
213 **
214 ** Revision 1.16 2001/09/25 17:19:35 meichel
215 ** Adapted dcmdata to class OFCondition
216 **
217 ** Revision 1.15 2001/06/01 15:48:53 meichel
218 ** Updated copyright header
219 **
220 ** Revision 1.14 2000/04/14 15:31:35 meichel
221 ** Removed default value from output stream passed to print() method.
222 ** Required for use in multi-thread environments.
223 **
224 ** Revision 1.13 2000/03/08 16:26:27 meichel
225 ** Updated copyright header.
226 **
227 ** Revision 1.12 2000/03/03 14:05:28 meichel
228 ** Implemented library support for redirecting error messages into memory
229 ** instead of printing them to stdout/stderr for GUI applications.
230 **
231 ** Revision 1.11 2000/02/10 10:50:56 joergr
232 ** Added new feature to dcmdump (enhanced print method of dcmdata): write
233 ** pixel data/item value fields to raw files.
234 **
235 ** Revision 1.10 1999/03/31 09:25:09 meichel
236 ** Updated copyright header in module dcmdata
237 **
238 ** Revision 1.9 1998/11/12 16:47:56 meichel
239 ** Implemented operator= for all classes derived from DcmObject.
240 **
241 ** Revision 1.8 1997/07/21 08:25:16 andreas
242 ** - Replace all boolean types (BOOLEAN, CTNBOOLEAN, DICOM_BOOL, BOOL)
243 ** with one unique boolean type OFBool.
244 **
245 ** Revision 1.7 1997/04/18 08:13:33 andreas
246 ** - The put/get-methods for all VRs did not conform to the C++-Standard
247 ** draft. Some Compilers (e.g. SUN-C++ Compiler, Metroworks
248 ** CodeWarrier, etc.) create many warnings concerning the hiding of
249 ** overloaded get methods in all derived classes of DcmElement.
250 ** So the interface of all value representation classes in the
251 ** library are changed rapidly, e.g.
252 ** OFCondition get(Uint16 & value, const unsigned long pos);
253 ** becomes
254 ** OFCondition getUint16(Uint16 & value, const unsigned long pos);
255 ** All (retired) "returntype get(...)" methods are deleted.
256 ** For more information see dcmdata/include/dcelem.h
257 **
258 ** Revision 1.6 1996/08/05 08:45:38 andreas
259 ** new print routine with additional parameters:
260 ** - print into files
261 ** - fix output length for elements
262 ** corrected error in search routine with parameter ESM_fromStackTop
263 **
264 ** Revision 1.5 1996/05/30 17:19:22 hewett
265 ** Added a makeMachineByteString() method to strip and trailing whitespace
266 ** from a UID.
267 **
268 ** Revision 1.4 1996/01/29 13:38:18 andreas
269 ** - new put method for every VR to put value as a string
270 ** - better and unique print methods
271 **
272 ** Revision 1.3 1996/01/05 13:23:10 andreas
273 ** - changed to support new streaming facilities
274 ** - more cleanups
275 ** - merged read / write methods for block and file transfer
276 **
277 **
278 */


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2