-// gdcmBinEntry.h
-//-----------------------------------------------------------------------------
-#ifndef GDCMBinEntry_H
-#define GDCMBinEntry_H
+/*=========================================================================
+
+ Program: gdcm
+ Module: $RCSfile: gdcmBinEntry.h,v $
+ Language: C++
+ Date: $Date: 2004/12/07 13:39:32 $
+ Version: $Revision: 1.28 $
+
+ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
+ l'Image). All rights reserved. See Doc/License.txt or
+ http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even
+ the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the above copyright notices for more information.
+
+=========================================================================*/
+
+#ifndef GDCMBINENTRY_H
+#define GDCMBINENTRY_H
+#include "gdcmValEntry.h"
#include <iostream>
-#include <stdio.h>
-#include "gdcmValEntry.h"
+namespace gdcm
+{
//-----------------------------------------------------------------------------
/**
- * \ingroup gdcmBinEntry
+ * \ingroup BinEntry
* \brief The dicom header of a Dicom file contains a set of such entries
* (when successfuly parsed against a given Dicom dictionary)
* This one contains a 'string value'.
*/
-class GDCM_EXPORT gdcmBinEntry : public gdcmValEntry {
-
+class GDCM_EXPORT BinEntry : public ValEntry
+{
public:
+ BinEntry( DictEntry* e );
+ BinEntry( DocEntry* d );
- gdcmBinEntry(gdcmDictEntry* e);
- gdcmBinEntry(gdcmDocEntry* d);
- ~gdcmBinEntry(void);
+ ~BinEntry();
- void Print(std::ostream &os = std::cout);
+ void Print( std::ostream &os = std::cout );
+ void WriteContent( std::ofstream*, FileType );
/// \brief Returns the area value of the current Dicom Header Entry
/// when it's not string-translatable (e.g : a LUT table)
- inline void * GetVoidArea(void) { return voidArea; };
-
- /// \brief Sets the value (non string) of the current Dicom Header Entry
- inline void SetVoidArea(void * area) { voidArea = area; };
-
-protected:
+ uint8_t* GetBinArea() { return BinArea; }
+ void SetBinArea( uint8_t* area, bool self = true );
+ /// Sets the value (string) of the current Dicom Document Entry
+ virtual void SetValue(std::string const & val) {SetValueOnly(val);};
private:
-
-// Variables
-
/// \brief unsecure memory area to hold 'non string' values
- /// (ie : Lookup Tables, overlays, icons)
- // void *voidArea;
-
+ /// (ie : Lookup Tables, overlays, icons)
+ uint8_t* BinArea;
+ bool SelfArea;
};
-
+} // end namespace gdcm
//-----------------------------------------------------------------------------
#endif