1 /*=========================================================================
4 Module: $RCSfile: gdcmDocEntrySet.h,v $
6 Date: $Date: 2004/08/26 15:29:52 $
7 Version: $Revision: 1.15 $
9 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
10 l'Image). All rights reserved. See Doc/License.txt or
11 http://www.creatis.insa-lyon.fr/Public/Gdcm/License.htm for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notices for more information.
17 =========================================================================*/
19 #ifndef GDCMDOCENTRYSET_H
20 #define GDCMDOCENTRYSET_H
22 #include "gdcmException.h"
23 #include "gdcmDocEntry.h"
25 //-----------------------------------------------------------------------------
27 class GDCM_EXPORT gdcmDocEntrySet
31 gdcmDocEntrySet(int depth = 0);
32 virtual ~gdcmDocEntrySet();
34 /// \brief adds any type of entry to the entry set (pure vitual)
35 virtual bool AddEntry(gdcmDocEntry *Entry) = 0; // pure virtual
37 /// \brief prints any type of entry to the entry set (pure vitual)
38 virtual void Print (std::ostream & os = std::cout) = 0;// pure virtual
40 /// \brief write any type of entry to the entry set
41 virtual void Write (FILE *fp, FileType filetype) = 0;// pure virtual
43 /// \brief Gets the depth level of a Dicom Header Entry embedded in a
45 int GetDepthLevel() { return SQDepthLevel; }
47 /// \brief Sets the depth level of a Dicom Header Entry embedded in a
49 void SetDepthLevel(int depth) { SQDepthLevel = depth; }
51 virtual gdcmDocEntry* GetDocEntryByNumber(uint16_t group,
52 uint16_t element) = 0;
53 gdcmDocEntry *GetDocEntryByName(std::string const & name);
54 virtual std::string GetEntryByNumber(uint16_t group,uint16_t element) = 0;
55 std::string GetEntryByName(TagName const & name);
56 gdcmDictEntry *NewVirtualDictEntry(uint16_t group,
58 std::string const & vr = "unkn",
59 std::string const & fourth = "unkn",
60 std::string const & name = "unkn");
64 // DocEntry related utilities
65 gdcmValEntry* NewValEntryByNumber(uint16_t group,
67 gdcmBinEntry* NewBinEntryByNumber(uint16_t group,
69 gdcmDocEntry* NewDocEntryByNumber(uint16_t group,
71 gdcmDocEntry* NewDocEntryByName (std::string const & name);
72 gdcmSeqEntry* NewSeqEntryByNumber(uint16_t group,
75 // DictEntry related utilities
76 gdcmDictEntry *GetDictEntryByName (std::string const & name);
77 gdcmDictEntry *GetDictEntryByNumber(uint16_t, uint16_t);
79 /// Gives the depth level of the element set inside SeQuences
85 //-----------------------------------------------------------------------------