X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src%2FgdcmBinEntry.h;h=7ff241cb1c557fa5e24bc06cb9bb405a7c28242c;hb=bdbcc9f17fe73967e766505c1a978429bf66431a;hp=c3254ad65949b2cedf433dea7745a80337141070;hpb=e49dda75179644e228e33af72931535878799dff;p=gdcm.git diff --git a/src/gdcmBinEntry.h b/src/gdcmBinEntry.h index c3254ad6..7ff241cb 100644 --- a/src/gdcmBinEntry.h +++ b/src/gdcmBinEntry.h @@ -1,47 +1,64 @@ -// gdcmBinEntry.h -//----------------------------------------------------------------------------- -#ifndef GDCMBinEntry_H -#define GDCMBinEntry_H +/*========================================================================= + + Program: gdcm + Module: $RCSfile: gdcmBinEntry.h,v $ + Language: C++ + Date: $Date: 2005/01/21 11:40:55 $ + Version: $Revision: 1.32 $ + + 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. + +=========================================================================*/ -#include -#include +#ifndef GDCMBINENTRY_H +#define GDCMBINENTRY_H #include "gdcmValEntry.h" +#include + +namespace gdcm +{ //----------------------------------------------------------------------------- /** - * \ingroup gdcmBinEntry - * \brief The dicom header of a Dicom file contains a set of such entries + * \brief Any Dicom Document (File or DicomDir) contains + * a set of DocEntry entries * (when successfuly parsed against a given Dicom dictionary) - * This one contains a 'string value'. + * BinEntry is a specialisation of ValEntry (for non std::string + * representable values) */ -class GDCM_EXPORT gdcmBinEntry : public gdcmValEntry { - + +class GDCM_EXPORT BinEntry : public ValEntry +{ public: + BinEntry( DictEntry *e ); + BinEntry( DocEntry *d ); - gdcmBinEntry(void); - ~gdcmBinEntry(void); - + ~BinEntry(); + + void Print( std::ostream &os = std::cout, std::string const & indent = "" ); + void WriteContent( std::ofstream *fp, FileType ft); - /// \brief Returns the area value of the current Dicom Header Entry + /// \brief Returns the area value of the current Dicom 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 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