GDCM 3.2.1

gdcmFileStreamer.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: GDCM (Grassroots DICOM). A DICOM library
4
5 Copyright (c) 2006-2011 Mathieu Malaterre
6 All rights reserved.
7 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
8
9 This software is distributed WITHOUT ANY WARRANTY; without even
10 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11 PURPOSE. See the above copyright notice for more information.
12
13=========================================================================*/
14#ifndef GDCMFILESTREAMER_H
15#define GDCMFILESTREAMER_H
16
17#include "gdcmSubject.h"
18#include "gdcmSmartPointer.h"
19
20 namespace gdcm
21{
22 class FileStreamerInternals;
23
24 class Tag;
25 class PrivateTag;
41 class GDCM_EXPORT FileStreamer : public Subject
42{
43 public:
44 FileStreamer();
45 ~FileStreamer() override;
46
48 void SetTemplateFileName(const char *filename_native);
49
50 // Decide to check template or not (default: false)
55 void CheckTemplateFileName(bool check);
56
58 void SetOutputFileName(const char *filename_native);
59
64 bool CheckDataElement( const Tag & t );
65
68 bool StartDataElement( const Tag & t );
70 bool AppendToDataElement( const Tag & t, const char *array, size_t len );
72 bool StopDataElement( const Tag & t );
76 bool ReserveDataElement( size_t len );
77
85 bool StartGroupDataElement( const PrivateTag & pt, size_t maxsizede = 0, uint8_t startoffset = 0 );
87 bool AppendToGroupDataElement( const PrivateTag & pt, const char *array, size_t len );
89 bool StopGroupDataElement( const PrivateTag & pt );
92 bool ReserveGroupDataElement( unsigned short ndataelement );
93
95 static SmartPointer<FileStreamer> New() { return new FileStreamer; }
96
97 private:
98 bool InitializeCopy();
99 FileStreamerInternals *Internals;
100};
101
102} // end namespace gdcm
103
104#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