OFFIS DCMTK  Version 3.6.0
dsrcsidl.h
1 /*
2  *
3  * Copyright (C) 2003-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: DSRCodingSchemeIdentificationList
20  *
21  * Last Update: $Author: joergr $
22  * Update Date: $Date: 2010-10-14 13:16:32 $
23  * CVS/RCS Revision: $Revision: 1.12 $
24  * Status: $State: Exp $
25  *
26  * CVS/RCS Log at end of file
27  *
28  */
29 
30 
31 #ifndef DSRCSIDL_H
32 #define DSRCSIDL_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/oflist.h"
39 
40 
41 /*---------------------*
42  * class declaration *
43  *---------------------*/
44 
50  : public DSRTypes
51 {
52 
53  public:
54 
57  struct ItemStruct
58  {
62  ItemStruct(const OFString &codingSchemeDesignator)
63  : CodingSchemeDesignator(codingSchemeDesignator),
70  {}
71 
74  void clear()
75  {
82  }
83 
98  };
99 
103 
107 
110  void clear();
111 
115  OFBool empty() const;
116 
120  size_t getNumberOfItems() const;
121 
126  OFCondition read(DcmItem &dataset);
127 
133  OFCondition write(DcmItem &dataset) const;
134 
142  DSRXMLCursor cursor,
143  const size_t flags);
144 
150  OFCondition writeXML(STD_NAMESPACE ostream &stream,
151  const size_t flags = 0) const;
152 
159 
169  OFCondition addItem(const OFString &codingSchemeDesignator);
170 
176 
182  OFCondition removeItem(const OFString &codingSchemeDesignator);
183 
188  OFCondition gotoItem(const OFString &codingSchemeDesignator);
189 
195 
201 
208  const OFString &getCodingSchemeDesignator(OFString &stringValue) const;
209 
214  const OFString &getCodingSchemeRegistry(OFString &stringValue) const;
215 
220  const OFString &getCodingSchemeUID(OFString &stringValue) const;
221 
226  const OFString &getCodingSchemeExternalID(OFString &stringValue) const;
227 
232  const OFString &getCodingSchemeName(OFString &stringValue) const;
233 
238  const OFString &getCodingSchemeVersion(OFString &stringValue) const;
239 
244  const OFString &getResponsibleOrganization(OFString &stringValue) const;
245 
252 
259 
266 
273 
280 
287 
288 
289  protected:
290 
296  OFCondition addItem(const OFString &codingSchemeDesignator,
297  ItemStruct *&item);
298 
302  ItemStruct *getCurrentItem() const;
303 
304 
305  private:
306 
310  OFListIterator(ItemStruct *) Iterator;
311 
312  // copy constructor - not implemented!
314  // assignment operator - not implemented!
315  DSRCodingSchemeIdentificationList &operator=(const DSRCodingSchemeIdentificationList &);
316 };
317 
318 
319 #endif
320 
321 
322 /*
323  * CVS/RCS Log:
324  * $Log: dsrcsidl.h,v $
325  * Revision 1.12 2010-10-14 13:16:32 joergr
326  * Updated copyright header. Added reference to COPYRIGHT file.
327  *
328  * Revision 1.11 2010-02-22 11:39:55 uli
329  * Remove some unneeded includes.
330  *
331  * Revision 1.10 2009-10-13 14:57:50 uli
332  * Switched to logging mechanism provided by the "new" oflog module.
333  *
334  * Revision 1.9 2007-11-15 16:33:19 joergr
335  * Fixed coding style to be more consistent.
336  *
337  * Revision 1.8 2006/08/15 16:40:03 meichel
338  * Updated the code in module dcmsr to correctly compile when
339  * all standard C++ classes remain in namespace std.
340  *
341  * Revision 1.7 2006/05/11 09:18:21 joergr
342  * Moved containsExtendedCharacters() from dcmsr to dcmdata module.
343  *
344  * Revision 1.6 2005/12/08 16:04:57 meichel
345  * Changed include path schema for all DCMTK header files
346  *
347  * Revision 1.5 2004/11/22 16:39:09 meichel
348  * Added method that checks if the SR document contains non-ASCII characters
349  * in any of the strings affected by SpecificCharacterSet.
350  *
351  * Revision 1.4 2004/04/07 12:02:53 joergr
352  * Added missing member variables to constructor's member initialization list
353  * to avoid warnings reported by gcc.
354  *
355  * Revision 1.3 2004/01/16 09:57:33 joergr
356  * Added clear() method to struct ItemStruct.
357  *
358  * Revision 1.2 2003/12/16 16:18:35 joergr
359  * Added note on coding scheme identfication and private coding schemes.
360  *
361  * Revision 1.1 2003/09/10 13:16:13 joergr
362  * Replaced PrivateCodingSchemeUID by new CodingSchemeIdenticationSequence as
363  * required by CP 324.
364  *
365  *
366  */


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