]> Creatis software - gdcm.git/blobdiff - src/gdcmDicomDirElement.h
* src/gdcmDocEntrySet.[h|cxx], gdcmDocument.[h|cxx] : amelioration of
[gdcm.git] / src / gdcmDicomDirElement.h
index 1f063a089c0f2637909c6f8b628609aef3fbce33..8a17cbedcf749dd037583bef53536e462be293ca 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmDicomDirElement.h,v $
   Language:  C++
-  Date:      $Date: 2004/09/27 08:39:06 $
-  Version:   $Revision: 1.10 $
+  Date:      $Date: 2005/01/05 15:38:28 $
+  Version:   $Revision: 1.17 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
 
 #include <list>
 
+namespace gdcm 
+{
+
 //-----------------------------------------------------------------------------
 typedef struct
 {
    /// DicomGroup number
-   unsigned short int group;
+   unsigned short int Group;
    /// DicomElement number
-   unsigned short int elem;
+   unsigned short int Elem;
    /// value (coded as a std::string) of the Element
-   std::string value;
-} gdcmElement;
+   std::string Value;
+} Element;
 
-typedef std::list<gdcmElement> ListDicomDirMetaElem;
-typedef std::list<gdcmElement> ListDicomDirPatientElem;
-typedef std::list<gdcmElement> ListDicomDirStudyElem;
-typedef std::list<gdcmElement> ListDicomDirSerieElem;
-typedef std::list<gdcmElement> ListDicomDirImageElem;
+typedef std::list<Element> ListDicomDirElem;
+typedef std::list<Element> ListDicomDirMetaElem;
+typedef std::list<Element> ListDicomDirPatientElem;
+typedef std::list<Element> ListDicomDirStudyElem;
+typedef std::list<Element> ListDicomDirSerieElem;
+typedef std::list<Element> ListDicomDirImageElem;
 
 //-----------------------------------------------------------------------------
 /**
- * \ingroup gdcmDicomDirElement
- * \brief    gdcmDicomDirElement represents elements contained in a dicom dir
+ * \ingroup DicomDirElement
+ * \brief    DicomDirElement represents elements contained in a dicom dir
  *           Class for the chained lists from the file 'Dicts/DicomDir.dic'
  */
-class GDCM_EXPORT gdcmDicomDirElement
+class GDCM_EXPORT DicomDirElement
 {
 public:
-   gdcmDicomDirElement();
-   ~gdcmDicomDirElement();
+   DicomDirElement();
+   ~DicomDirElement();
 
   /**
     * \brief   canonical Printer 
-    * \sa    SetPrintLevel
-  */ 
+    */ 
    void Print(std::ostream &os);
-/**
- * \ingroup gdcmDicomDirElement
- * \brief   returns a reference to the chained List 
- *          related to the META Elements of a DICOMDIR.
- */
-   ListDicomDirMetaElem    &GetDicomDirMetaElements()
+
+   /**
+    * \ingroup DicomDirElement
+    * \brief   returns a reference to the chained List 
+    *          related to the META Elements of a DICOMDIR.
+    */
+   ListDicomDirMetaElem const & GetDicomDirMetaElements() const
       { return DicomDirMetaList; };
-/**
- * \ingroup gdcmDicomDirElement
- * \brief   returns a reference to the chained List 
- *          related to the PATIENT Elements of a DICOMDIR.
- */      
-   ListDicomDirPatientElem &GetDicomDirPatientElements()
+
+   /**
+    * \ingroup DicomDirElement
+    * \brief   returns a reference to the chained List 
+    *          related to the PATIENT Elements of a DICOMDIR.
+    */      
+   ListDicomDirPatientElem const & GetDicomDirPatientElements() const
       { return DicomDirPatientList; };
-/**
- * \ingroup gdcmDicomDirElement
- * \brief   returns a reference to the chained List 
- *          related to the STUDY Elements of a DICOMDIR.
- */      
-   ListDicomDirStudyElem   &GetDicomDirStudyElements()
+
+   /**
+    * \ingroup DicomDirElement
+    * \brief   returns a reference to the chained List 
+    *          related to the STUDY Elements of a DICOMDIR.
+    */      
+   ListDicomDirStudyElem const & GetDicomDirStudyElements() const
       { return DicomDirStudyList; };
-/**
- * \ingroup gdcmDicomDirElement
- * \brief   returns a reference to the chained List 
- *          related to the SERIE Elements of a DICOMDIR.
- */
-   ListDicomDirSerieElem   &GetDicomDirSerieElements()
+
+   /**
+    * \ingroup DicomDirElement
+    * \brief   returns a reference to the chained List 
+    *          related to the SERIE Elements of a DICOMDIR.
+    */
+   ListDicomDirSerieElem const & GetDicomDirSerieElements() const
       { return DicomDirSerieList; };
-/**
- * \ingroup gdcmDicomDirElement
- * \brief   returns a reference to the chained List 
- *          related to the IMAGE Elements of a DICOMDIR.
- */
-   ListDicomDirImageElem   &GetDicomDirImageElements()
+
+   /**
+    * \ingroup DicomDirElement
+    * \brief   returns a reference to the chained List 
+    *          related to the IMAGE Elements of a DICOMDIR.
+    */
+   ListDicomDirImageElem const & GetDicomDirImageElements() const
       { return DicomDirImageList; };
 
+   /**
+    * Public method to add an element
+    */
+   bool AddNewEntry(std::string const & type, Element const & elem);
+
 private:
-   /// gdcmElements chained list, related to the MetaElements of DICOMDIR
+   /// Elements chained list, related to the MetaElements of DICOMDIR
    ListDicomDirMetaElem    DicomDirMetaList;
-   /// gdcmElements chained list, related to the PatientElements of DICOMDIR
+   /// Elements chained list, related to the PatientElements of DICOMDIR
    ListDicomDirPatientElem DicomDirPatientList;
-   /// gdcmElements chained list, related to the StudyElements of DICOMDIR
+   /// Elements chained list, related to the StudyElements of DICOMDIR
    ListDicomDirStudyElem   DicomDirStudyList;
-   /// gdcmElements chained list, related to the SerieElements of DICOMDIR
+   /// Elements chained list, related to the SerieElements of DICOMDIR
    ListDicomDirSerieElem   DicomDirSerieList;
-   /// gdcmElements chained list, related to the ImageElements of DICOMDIR
-   
+   /// Elements chained list, related to the ImageElements of DICOMDIR
    ListDicomDirImageElem   DicomDirImageList;
 };
-
+} // end namespace gdcm
 //-----------------------------------------------------------------------------
 #endif