OFFIS DCMTK  Version 3.6.0
dsrcomvl.h
1 /*
2  *
3  * Copyright (C) 2000-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: dcmsr
15  *
16  * Author: Joerg Riesmeier
17  *
18  * Purpose:
19  * classes: DSRCompositeReferenceValue
20  *
21  * Last Update: $Author: joergr $
22  * Update Date: $Date: 2010-10-14 13:16:32 $
23  * CVS/RCS Revision: $Revision: 1.11 $
24  * Status: $State: Exp $
25  *
26  * CVS/RCS Log at end of file
27  *
28  */
29 
30 
31 #ifndef DSRCOMVL_H
32 #define DSRCOMVL_H
33 
34 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
35 
36 #include "dcmtk/dcmsr/dsrtypes.h"
37 
38 #include "dcmtk/ofstd/ofstring.h"
39 
40 
41 /*---------------------*
42  * class declaration *
43  *---------------------*/
44 
48 {
49  // allow access to getValuePtr()
50  friend class DSRContentItem;
51 
52  public:
53 
57 
65  DSRCompositeReferenceValue(const OFString &sopClassUID,
66  const OFString &sopInstanceUID);
67 
72 
76 
82 
86  virtual void clear();
87 
93  virtual OFBool isValid() const;
94 
99  virtual OFBool isEmpty() const;
100 
108  virtual OFCondition print(STD_NAMESPACE ostream &stream,
109  const size_t flags) const;
110 
116  virtual OFCondition readXML(const DSRXMLDocument &doc,
117  DSRXMLCursor cursor);
118 
124  virtual OFCondition writeXML(STD_NAMESPACE ostream &stream,
125  const size_t flags) const;
126 
136  virtual OFCondition readSequence(DcmItem &dataset,
137  const OFString &type);
138 
144  virtual OFCondition writeSequence(DcmItem &dataset) const;
145 
154  virtual OFCondition renderHTML(STD_NAMESPACE ostream &docStream,
155  STD_NAMESPACE ostream &annexStream,
156  size_t &annexNumber,
157  const size_t flags) const;
158 
162  inline const OFString &getSOPClassUID() const
163  {
164  return SOPClassUID;
165  }
166 
170  inline const OFString &getSOPInstanceUID() const
171  {
172  return SOPInstanceUID;
173  }
174 
178  inline const DSRCompositeReferenceValue &getValue() const
179  {
180  return *this;
181  }
182 
187  OFCondition getValue(DSRCompositeReferenceValue &referenceValue) const;
188 
195  OFCondition setValue(const DSRCompositeReferenceValue &referenceValue);
196 
204  OFCondition setReference(const OFString &sopClassUID,
205  const OFString &sopInstanceUID);
206 
213  OFCondition setSOPClassUID(const OFString &sopClassUID);
214 
221  OFCondition setSOPInstanceUID(const OFString &sopInstanceUID);
222 
223 
224  protected:
225 
230  {
231  return this;
232  }
233 
238  virtual OFCondition readItem(DcmItem &dataset);
239 
244  virtual OFCondition writeItem(DcmItem &dataset) const;
245 
253  virtual OFBool checkSOPClassUID(const OFString &sopClassUID) const;
254 
261  virtual OFBool checkSOPInstanceUID(const OFString &sopInstanceUID) const;
262 
267 };
268 
269 
270 #endif
271 
272 
273 /*
274  * CVS/RCS Log:
275  * $Log: dsrcomvl.h,v $
276  * Revision 1.11 2010-10-14 13:16:32 joergr
277  * Updated copyright header. Added reference to COPYRIGHT file.
278  *
279  * Revision 1.10 2009-10-13 14:57:50 uli
280  * Switched to logging mechanism provided by the "new" oflog module.
281  *
282  * Revision 1.9 2007-11-15 16:33:30 joergr
283  * Added support for output in XHTML 1.1 format.
284  *
285  * Revision 1.8 2006/08/15 16:40:03 meichel
286  * Updated the code in module dcmsr to correctly compile when
287  * all standard C++ classes remain in namespace std.
288  *
289  * Revision 1.7 2005/12/08 16:04:55 meichel
290  * Changed include path schema for all DCMTK header files
291  *
292  * Revision 1.6 2003/08/07 18:01:42 joergr
293  * Removed libxml dependency from header files.
294  *
295  * Revision 1.5 2003/08/07 12:22:37 joergr
296  * Added readXML functionality.
297  *
298  * Revision 1.4 2001/09/26 13:04:05 meichel
299  * Adapted dcmsr to class OFCondition
300  *
301  * Revision 1.3 2001/06/01 15:50:59 meichel
302  * Updated copyright header
303  *
304  * Revision 1.2 2000/11/01 16:13:55 joergr
305  * Added support for conversion to XML.
306  *
307  * Revision 1.1 2000/10/20 10:13:26 joergr
308  * Renamed class DSRReferenceValue to DSRCompositeReferenceValue.
309  *
310  * Revision 1.4 2000/10/19 16:02:37 joergr
311  * Renamed some set methods.
312  *
313  * Revision 1.3 2000/10/18 17:06:00 joergr
314  * Added methods allowing direct access to certain content item values.
315  * Added doc++ comments.
316  * Made some functions inline.
317  *
318  * Revision 1.2 2000/10/16 11:57:23 joergr
319  * Added methods allowing direct access to certain content item values.
320  *
321  * Revision 1.1 2000/10/13 07:49:30 joergr
322  * Added new module 'dcmsr' providing access to DICOM structured reporting
323  * documents (supplement 23). Doc++ documentation not yet completed.
324  *
325  *
326  */


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