X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmValEntry.h;h=d5c5203423967bb32de9c4907e44ec8cf3285ead;hb=ab9b96bb7b0c77c1beaee820985debe75f04b831;hp=b40401fa87c42cb2090dcbbcf7c45873fb913e5c;hpb=0b36f4932e894a1dde4a80e614755816b4b29218;p=gdcm.git diff --git a/src/gdcmValEntry.h b/src/gdcmValEntry.h index b40401fa..d5c52034 100644 --- a/src/gdcmValEntry.h +++ b/src/gdcmValEntry.h @@ -1,39 +1,80 @@ -// gdcmValEntry.h -//----------------------------------------------------------------------------- -#ifndef GDCMValEntry_H -#define GDCMValEntry_H +/*========================================================================= + + Program: gdcm + Module: $RCSfile: gdcmValEntry.h,v $ + Language: C++ + Date: $Date: 2005/09/02 07:10:03 $ + Version: $Revision: 1.42 $ + + 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 GDCMVALENTRY_H +#define GDCMVALENTRY_H + +#include "gdcmDocEntry.h" +#include "gdcmContentEntry.h" #include -#include +namespace gdcm +{ //----------------------------------------------------------------------------- /** - * \ingroup gdcmBinEntry - * \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 'non string' value + * \brief Any Dicom Document (File or DicomDir) contains + * a set of DocEntry - Dicom entries - + * ValEntry is an elementary DocEntry (i.e. a ContentEntry, + * as opposed to SeqEntry) + * whose content is 'std::string representable' : characters, + * or integers (loaded in memory as a std::string) + * ValEntry is a specialisation of ContentEntry */ -class GDCM_EXPORT gdcmDocEntry : public gdcmValEntry { - +class GDCM_EXPORT ValEntry : public ContentEntry +{ public: -protected: + // Contructors and Destructor are public. + ValEntry(DictEntry *e); + ValEntry(DocEntry *d); -private: + ~ValEntry(); -// Variables - - /// \brief Header Entry value, stores as a std::string (VR will be used, - /// later, to decode) - std::string value; + // Other accessors are inherited from gdcm::ContentEntry + void Print(std::ostream &os = std::cout, std::string const &indent = ""); + void WriteContent(std::ofstream *fp, FileType filetype); + + /// Sets the value (string) of the current Dicom entry. + /// The size is updated + void SetValue(std::string const &val); + /// \brief returns the size threshold above which an element value + /// will NOT be *printed* in order no to polute the screen output + static long GetMaxSizePrintEntry() { return ValEntry::MaxSizePrintEntry; } + + static void SetMaxSizePrintEntry(long); + +protected: + +private: + /// \brief Size threshold above which an element val + /// By default, this upper bound is fixed to 64 bytes. + static uint32_t MaxSizePrintEntry; +}; +} // end namespace gdcm //----------------------------------------------------------------------------- #endif