00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef SIMACCON_H
00035 #define SIMACCON_H
00036
00037 #include "osconfig.h"
00038 #include "sitypes.h"
00039
00040 #ifdef WITH_OPENSSL
00041
00042 #include "dcostrmb.h"
00043 #include "dcxfer.h"
00044 #include "dcdeftag.h"
00045
00046 #define INCLUDE_CSTDIO
00047 #include "ofstdinc.h"
00048
00049 class SiMAC;
00050 class DcmItem;
00051 class DcmElement;
00052 class DcmAttributeTag;
00053
00056 class SiMACConstructor
00057 {
00058 public:
00059
00061 SiMACConstructor();
00062
00064 virtual ~SiMACConstructor();
00065
00090 OFCondition encodeDataset(
00091 DcmItem& item,
00092 SiMAC& mac,
00093 E_TransferSyntax oxfer,
00094 DcmAttributeTag &tagListOut,
00095 DcmAttributeTag *tagListIn = NULL);
00096
00111 OFCondition encodeDigitalSignatureItem(
00112 DcmItem& signatureItem,
00113 SiMAC& mac,
00114 E_TransferSyntax oxfer);
00115
00120 OFCondition flush(SiMAC& mac);
00121
00126 void setDumpFile(FILE *f);
00127
00128 private:
00129
00131 SiMACConstructor(SiMACConstructor& arg);
00132
00134 SiMACConstructor& operator=(SiMACConstructor& arg);
00135
00140 OFCondition flushBuffer(SiMAC& mac);
00141
00149 OFCondition encodeElement(DcmElement *element, SiMAC& mac, E_TransferSyntax oxfer);
00150
00159 static OFBool inTagList(const DcmElement *element, DcmAttributeTag *tagList);
00160
00162 unsigned char *buf;
00163
00165 DcmOutputBufferStream stream;
00166
00170 FILE *dumpFile;
00171 };
00172
00173
00174 #endif
00175 #endif
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207