gdcmDicts.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program: GDCM (Grassroots DICOM). A DICOM library
00004   Module:  $URL$
00005 
00006   Copyright (c) 2006-2010 Mathieu Malaterre
00007   All rights reserved.
00008   See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00015 #ifndef GDCMDICTS_H
00016 #define GDCMDICTS_H
00017 
00018 #include "gdcmDict.h"
00019 #include "gdcmCSAHeaderDict.h"
00020 
00021 #include <string>
00022 
00023 namespace gdcm
00024 {
00029 class GDCM_EXPORT Dicts
00030 {
00031   friend std::ostream& operator<<(std::ostream &_os, const Dicts &d);
00032 public:
00033   Dicts();
00034   ~Dicts();
00035 
00039   // DataSet::GetPrivateCreator
00040   const DictEntry &GetDictEntry(const Tag& tag, const char *owner = NULL) const;
00041 
00042   const DictEntry &GetDictEntry(const PrivateTag& tag) const;
00043 
00044   //enum PublicTypes {
00045   //  DICOMV3_DICT,
00046   //  ACRNEMA_DICT,
00047   //  NIH_DICT
00048   //};
00049   const Dict &GetPublicDict() const;
00050 
00051   const PrivateDict &GetPrivateDict() const;
00052 
00053   const CSAHeaderDict &GetCSAHeaderDict() const;
00054 
00055   bool IsEmpty() const { return GetPublicDict().IsEmpty(); }
00056 
00057 protected:
00058   typedef enum {
00059     PHILIPS,
00060     GEMS,
00061     SIEMENS
00062   //  ...
00063   } ConstructorType;
00064   static const char *GetConstructorString(ConstructorType type);
00065 
00066   friend class Global;
00067   void LoadDefaults();
00068 
00069 private:
00070   // Public dict:
00071   Dict PublicDict;
00072 
00073   // Private Dicts:
00074   PrivateDict ShadowDict;
00075 
00076   CSAHeaderDict CSADict;
00077   Dicts &operator=(const Dicts &_val); // purposely not implemented
00078   Dicts(const Dicts &_val); // purposely not implemented
00079 };
00080 //-----------------------------------------------------------------------------
00081 inline std::ostream& operator<<(std::ostream &os, const Dicts &d)
00082 {
00083   (void)d;
00084   return os;
00085 }
00086 
00087 
00088 } // end namespace gdcm
00089 
00090 #endif //GDCMDICTS_H

Generated on Sat Dec 4 2010 08:58:41 for GDCM by doxygen 1.7.2
SourceForge.net Logo