MCPcopy Create free account
hub / github.com/DCMTK/dcmtk / writeObject

Function writeObject

dcmdata/tests/bspblock.cc:74–113  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

72
73
74BOOL writeObject( DcmDataset *pobj,
75 const char *filename,
76 E_TransferSyntax xfer,
77 E_EncodingType enctype,
78 E_GrpLenEncoding gltype )
79{
80 const Uint32 packetlen = 200;
81
82 DcmFileStream buf(filename, DCM_WriteMode);
83 if ( buf.Fail() ) {
84 fprintf(stderr, "dcmdump: cannot create file: %s\n", filename);
85 return FALSE;
86 }
87
88 DcmBufferStream myout(DCM_WriteMode);
89
90 char *buffer = new char[ packetlen ];
91 void * getPtr = NULL;
92 BOOL generateMoreData = TRUE;
93 myout.SetBuffer(buffer, packetlen);
94
95 while ( 1 )
96 {
97 if (generateMoreData &&
98 pobj->write(myout, xfer, enctype, gltype ) == EC_Normal )
99 {
100 generateMoreData = FALSE;
101 myout.SetEndOfStream(); // No more data available
102 }
103
104 Uint32 maxreadlen = 0;
105 myout.GetBuffer(getPtr, maxreadlen);
106 buf.WriteBytes(getPtr, maxreadlen); // putPacketIntoNet( buffer,...
107 if (myout.EndOfStream())
108 break; // EndOfFile from readBuffer() detected
109 }
110 delete buffer;
111
112 return TRUE;
113}
114
115
116// ********************************************

Callers 1

mainFunction · 0.70

Calls 7

FailMethod · 0.80
SetEndOfStreamMethod · 0.80
WriteBytesMethod · 0.80
EndOfStreamMethod · 0.80
SetBufferMethod · 0.45
writeMethod · 0.45
GetBufferMethod · 0.45

Tested by

no test coverage detected