gdcmFileStreamer.h
Go to the documentation of this file.
/*=========================================================================
Program: GDCM (Grassroots DICOM). A DICOM library
Copyright (c) 2006-2011 Mathieu Malaterre
All rights reserved.
See Copyright.txt or http://gdcm.sourceforge.net/Copyright.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 notice for more information.
=========================================================================*/
#ifndef GDCMFILESTREAMER_H
#define GDCMFILESTREAMER_H
#include "gdcmSubject.h"
#include "gdcmSmartPointer.h"
namespace gdcm
{
class FileStreamerInternals;
class Tag;
class PrivateTag;
class GDCM_EXPORT FileStreamer : public Subject
{
public:
FileStreamer();
~FileStreamer() override;
void SetTemplateFileName(const char *filename_native);
// Decide to check template or not (default: false)
void CheckTemplateFileName(bool check);
void SetOutputFileName(const char *filename_native);
bool CheckDataElement( const Tag & t );
bool StartDataElement( const Tag & t );
bool AppendToDataElement( const Tag & t, const char *array, size_t len );
bool StopDataElement( const Tag & t );
bool ReserveDataElement( size_t len );
bool StartGroupDataElement( const PrivateTag & pt, size_t maxsizede = 0, uint8_t startoffset = 0 );
bool AppendToGroupDataElement( const PrivateTag & pt, const char *array, size_t len );
bool StopGroupDataElement( const PrivateTag & pt );
bool ReserveGroupDataElement( unsigned short ndataelement );
static SmartPointer<FileStreamer> New() { return new FileStreamer; }
private:
bool InitializeCopy();
FileStreamerInternals *Internals;
};
} // end namespace gdcm
#endif //GDCMFILESTREAMER_H
gdcm::FileStreamer::~FileStreamer
~FileStreamer() override
gdcm::FileStreamer::StartGroupDataElement
bool StartGroupDataElement(const PrivateTag &pt, size_t maxsizede=0, uint8_t startoffset=0)
gdcm::FileStreamer::CheckDataElement
bool CheckDataElement(const Tag &t)
gdcm::FileStreamer::StartDataElement
bool StartDataElement(const Tag &t)
gdcm::FileStreamer::StopDataElement
bool StopDataElement(const Tag &t)
Stop appending to tag t. This will compute the proper attribute length.
gdcm::FileStreamer::FileStreamer
FileStreamer()
gdcm::FileStreamer::ReserveGroupDataElement
bool ReserveGroupDataElement(unsigned short ndataelement)
gdcm::FileStreamer::CheckTemplateFileName
void CheckTemplateFileName(bool check)
gdcm::FileStreamer::ReserveDataElement
bool ReserveDataElement(size_t len)
gdcm::FileStreamer::New
static SmartPointer< FileStreamer > New()
for wrapped language: instantiate a reference counted object
Definition gdcmFileStreamer.h:95
gdcm::FileStreamer::SetTemplateFileName
void SetTemplateFileName(const char *filename_native)
Set input DICOM template filename.
gdcm::FileStreamer::StopGroupDataElement
bool StopGroupDataElement(const PrivateTag &pt)
Stop appending to private creator.
gdcm::FileStreamer::AppendToDataElement
bool AppendToDataElement(const Tag &t, const char *array, size_t len)
Append to previously started Tag t.
gdcm::FileStreamer::SetOutputFileName
void SetOutputFileName(const char *filename_native)
Set output filename (target file).
gdcm::FileStreamer::AppendToGroupDataElement
bool AppendToGroupDataElement(const PrivateTag &pt, const char *array, size_t len)
Append to previously started private creator.
gdcm::PrivateTag
Class to represent a Private DICOM Data Element (Attribute) Tag (Group, Element, Owner).
Definition gdcmPrivateTag.h:39
gdcm::SmartPointer
Class for Smart Pointer.
Definition gdcmSmartPointer.h:40
gdcm::Subject::Subject
Subject()
gdcm::Tag
Class to represent a DICOM Data Element (Attribute) Tag (Group, Element).
Definition gdcmTag.h:39
gdcmSmartPointer.h
gdcmSubject.h
GDCM_EXPORT
#define GDCM_EXPORT
Definition gdcmWin32.h:34
gdcm
Definition gdcmASN1.h:21