GDCM 3.0.24
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
20namespace gdcm
21{
22class FileStreamerInternals;
23
24class Tag;
25class PrivateTag;
42{
43public:
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
96
97private:
98 bool InitializeCopy();
99 FileStreamerInternals *Internals;
100};
101
102} // end namespace gdcm
103
104#endif //GDCMFILESTREAMER_H
FileStreamer.
Definition gdcmFileStreamer.h:42
~FileStreamer() override
bool StartGroupDataElement(const PrivateTag &pt, size_t maxsizede=0, uint8_t startoffset=0)
bool CheckDataElement(const Tag &t)
bool StartDataElement(const Tag &t)
bool StopDataElement(const Tag &t)
Stop appending to tag t. This will compute the proper attribute length.
bool ReserveGroupDataElement(unsigned short ndataelement)
void CheckTemplateFileName(bool check)
bool ReserveDataElement(size_t len)
static SmartPointer< FileStreamer > New()
for wrapped language: instantiate a reference counted object
Definition gdcmFileStreamer.h:95
void SetTemplateFileName(const char *filename_native)
Set input DICOM template filename.
bool StopGroupDataElement(const PrivateTag &pt)
Stop appending to private creator.
bool AppendToDataElement(const Tag &t, const char *array, size_t len)
Append to previously started Tag t.
void SetOutputFileName(const char *filename_native)
Set output filename (target file)
bool AppendToGroupDataElement(const PrivateTag &pt, const char *array, size_t len)
Append to previously started private creator.
Class to represent a Private DICOM Data Element (Attribute) Tag (Group, Element, Owner)
Definition gdcmPrivateTag.h:39
Class for Smart Pointer.
Definition gdcmSmartPointer.h:40
Subject.
Definition gdcmSubject.h:29
Class to represent a DICOM Data Element (Attribute) Tag (Group, Element).
Definition gdcmTag.h:39
#define GDCM_EXPORT
Definition gdcmWin32.h:34
Definition gdcmASN1.h:21