GDCM  2.2.0
gdcmDicts.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program: GDCM (Grassroots DICOM). A DICOM library
00004 
00005   Copyright (c) 2006-2011 Mathieu Malaterre
00006   All rights reserved.
00007   See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE.  See the above copyright notice for more information.
00012 
00013 =========================================================================*/
00014 #ifndef GDCMDICTS_H
00015 #define GDCMDICTS_H
00016 
00017 #include "gdcmDict.h"
00018 #include "gdcmCSAHeaderDict.h"
00019 
00020 #include <string>
00021 
00022 namespace gdcm
00023 {
00028 class GDCM_EXPORT Dicts
00029 {
00030   friend std::ostream& operator<<(std::ostream &_os, const Dicts &d);
00031 public:
00032   Dicts();
00033   ~Dicts();
00034 
00038   // DataSet::GetPrivateCreator
00039   const DictEntry &GetDictEntry(const Tag& tag, const char *owner = NULL) const;
00040 
00041   const DictEntry &GetDictEntry(const PrivateTag& tag) const;
00042 
00043   //enum PublicTypes {
00044   //  DICOMV3_DICT,
00045   //  ACRNEMA_DICT,
00046   //  NIH_DICT
00047   //};
00048   const Dict &GetPublicDict() const;
00049 
00050   const PrivateDict &GetPrivateDict() const;
00051   PrivateDict &GetPrivateDict();
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 Tue Mar 27 2012 18:19:32 for GDCM by doxygen 1.8.0
SourceForge.net Logo