]> Creatis software - gdcm.git/blobdiff - src/gdcmElValue.h
Remaining ostream replaced by std::ostream
[gdcm.git] / src / gdcmElValue.h
index b1305bc6b1590c347f5df32a88984de54af716c2..b4f9f150be18d6bb6ddf5b6f7bd6e072bc848620 100644 (file)
@@ -1,53 +1,57 @@
-// gdcmElValue.h
+// $Header: /cvs/public/gdcm/src/Attic/gdcmElValue.h,v 1.7 2003/07/23 08:43:03 jpr Exp $
 
 #ifndef GDCMELVALUE_H
 #define GDCMELVALUE_H
 
 #include "gdcmDictEntry.h"
+class gdcmHeader;
 
+#include <stdio.h>
 
 ///////////////////////////////////////////////////////////////////////////
 // The dicom header of a Dicom file contains a set of such ELement VALUES
 // (when successfuly parsed against a given Dicom dictionary)
-class GDCM_EXPORT ElValue {
+class GDCM_EXPORT gdcmElValue {
 private:
-       gdcmDictEntry *entry;
-       guint32 LgrElem;
-       bool ImplicitVr;       // Even when reading explicit vr files, some
-                              // elements happen to be implicit. Flag them here
-                              // since we can't use the entry->vr without breaking
-                              // the underlying dictionary.
+   gdcmDictEntry *entry;
+   guint32 LgrElem;
+   bool ImplicitVr;       // Even when reading explicit vr files, some
+                         // elements happen to be implicit. Flag them here
+                         // since we can't use the entry->vr without breaking
+                         // the underlying dictionary.
+   void SetOffset(size_t of){ Offset = of; };
+   // FIXME: In fact we should be more specific and use :
+   //friend gdcmElValue * gdcmHeader::ReadNextElement(void);
+   friend class gdcmHeader;
 public:
-       string  value;
-       size_t Offset;     // Offset from the begining of file for direct user access
+   std::string  value;
+   void * voidArea;  // unsecure memory area to hold 'non string' values 
+                      // (ie : Lookup Tables, overlays)
+   size_t Offset;     // Offset from the begining of file for direct user access
        
-       ElValue(gdcmDictEntry*);
-       void SetDictEntry(gdcmDictEntry *NewEntry) { entry = NewEntry; };
-       bool   IsVrUnknown(void) { return entry->IsVrUnknown(); };
-       void SetImplicitVr(void) { ImplicitVr = true; };
-       bool  IsImplicitVr(void) { return ImplicitVr; };
+   gdcmElValue(gdcmDictEntry*);
+   void SetDictEntry(gdcmDictEntry *NewEntry) { entry = NewEntry; };
+   bool   IsVrUnknown(void) { return entry->IsVrUnknown(); };
+   void SetImplicitVr(void) { ImplicitVr = true; };
+   bool  IsImplicitVr(void) { return ImplicitVr; };
        
-       guint16 GetGroup(void)   { return entry->GetGroup();  };
-       guint16 GetElement(void) { return entry->GetElement();};
-       string  GetKey(void)     { return entry->GetKey();    };
-       string  GetName(void)    { return entry->GetName();   };
-       string  GetVR(void)      { return entry->GetVR();     };
-       void    SetVR(string v)  { entry->SetVR(v);           }; 
-       void SetLength(guint32 l){ LgrElem = l;               };
-       guint32 GetLength(void)  { return LgrElem;            };
-       
-       // Question : SetLength est public 
-       // (sinon, on ne pourrait pas l'appeler dans ElValSet)
-       // alors que *personne* ne devrait s'en servir !
-       // c'est *forcément* la lgr de la string 'value', non?
-
-       void SetValue(string val){ value = val; };
-       string  GetValue(void)   { return value;};
+   gdcmDictEntry * GetDictEntry(void) { return entry;    };
+   
+   guint16      GetGroup(void)    { return entry->GetGroup();  };
+   guint16      GetElement(void)  { return entry->GetElement();};
+   std::string  GetKey(void)      { return entry->GetKey();    };
+   std::string  GetName(void)     { return entry->GetName();   };
+   std::string  GetVR(void)       { return entry->GetVR();     };
+   std::string  GetValue(void)    { return value;              };
+   void *       GetVoidArea(void) { return voidArea;           };
+   size_t       GetOffset(void)   { return Offset;             };   
+   guint32      GetLength(void)   { return LgrElem;            };
+   
+   void         SetVR(std::string v)     { entry->SetVR(v);   }; 
+   void         SetLength(guint32 l)     { LgrElem = l;       };       
+   void         SetValue(std::string val){ value = val;       };
+   void         SetVoidArea(void * area) { voidArea = area;   };       
 
-       void SetOffset(size_t of){ Offset = of; };
-       size_t  GetOffset(void)  { return Offset;};
-       // Question : SetOffset est public ...
-       // Quel utilisateur serait ammené à modifier l'Offset ?
 };
 
 #endif