GDCM  2.2.0
gdcmDefs.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 GDCMDEFS_H
00015 #define GDCMDEFS_H
00016 
00017 #include "gdcmModules.h"
00018 #include "gdcmMacros.h"
00019 #include "gdcmIODs.h"
00020 
00021 #include <string>
00022 
00023 namespace gdcm
00024 {
00025 class DataSet;
00026 class File;
00027 class MediaStorage;
00032 class GDCM_EXPORT Defs
00033 {
00034 public:
00035   Defs();
00036   ~Defs();
00037 
00038   const Modules &GetModules() const { return Part3Modules; }
00039   Modules &GetModules() { return Part3Modules; }
00040 
00043   const Macros &GetMacros() const { return Part3Macros; }
00044   Macros &GetMacros() { return Part3Macros; }
00045 
00046   const IODs & GetIODs() const { return Part3IODs; }
00047   IODs & GetIODs() { return Part3IODs; }
00048 
00049   bool IsEmpty() const { return GetModules().IsEmpty(); }
00050 
00051   bool Verify(const File& file) const;
00052 
00053   // \deprecated DO NOT USE
00054   bool Verify(const DataSet& ds) const;
00055 
00056   Type GetTypeFromTag(const File& file, const Tag& tag) const;
00057 
00058   static const char *GetIODNameFromMediaStorage(MediaStorage const &ms);
00059 
00060   const IOD& GetIODFromFile(const File& file) const;
00061 
00062 protected:
00063   friend class Global;
00064   void LoadDefaults();
00065   void LoadFromFile(const char *filename);
00066 
00067 private:
00068   // Part 3 stuff:
00069   Macros Part3Macros;
00070   Modules Part3Modules;
00071   IODs Part3IODs;
00072 
00073   Defs &operator=(const Defs &val); // purposely not implemented
00074   Defs(const Defs &val); // purposely not implemented
00075 };
00076 
00077 
00078 } // end namespace gdcm
00079 
00080 #endif //GDCMDEFS_H

Generated on Fri Jun 1 2012 19:00:32 for GDCM by doxygen 1.7.6.1
SourceForge.net Logo