33 #include "dcmtk/config/osconfig.h"
35 #include "dcmtk/oflog/oflog.h"
38 OFLogger DCM_dcmpstatDumpGetLogger();
39 OFLogger DCM_dcmpstatLogfileGetLogger();
41 #define DCMPSTAT_TRACE(msg) OFLOG_TRACE(DCM_dcmpstatGetLogger(), msg)
42 #define DCMPSTAT_DEBUG(msg) OFLOG_DEBUG(DCM_dcmpstatGetLogger(), msg)
43 #define DCMPSTAT_INFO(msg) OFLOG_INFO(DCM_dcmpstatGetLogger(), msg)
44 #define DCMPSTAT_WARN(msg) OFLOG_WARN(DCM_dcmpstatGetLogger(), msg)
45 #define DCMPSTAT_ERROR(msg) OFLOG_ERROR(DCM_dcmpstatGetLogger(), msg)
46 #define DCMPSTAT_FATAL(msg) OFLOG_FATAL(DCM_dcmpstatGetLogger(), msg)
48 #define DCMPSTAT_DUMP(msg) OFLOG_DEBUG(DCM_dcmpstatDumpGetLogger(), msg)
49 #define DCMPSTAT_LOGFILE(msg) OFLOG_DEBUG(DCM_dcmpstatLogfileGetLogger(), msg)
52 #define DEFAULT_MAXPDU 16384
54 #define DEFAULT_filmDestination "DEFAULT"
55 #define DEFAULT_filmOrientation "PORTRAIT"
56 #define DEFAULT_filmSizeID "DEFAULT"
57 #define DEFAULT_illumination 2000
58 #define DEFAULT_imageDisplayFormat "STANDARD\\1,1"
59 #define DEFAULT_imageNumber "1"
60 #define DEFAULT_magnificationType "DEFAULT"
61 #define DEFAULT_maxDensity 320
62 #define DEFAULT_mediumType "DEFAULT"
63 #define DEFAULT_minDensity 20
64 #define DEFAULT_numberOfCopies "1"
65 #define DEFAULT_ownerID "DEFAULT"
66 #define DEFAULT_patientName "^^^^"
67 #define DEFAULT_presentationLabel "UNNAMED"
68 #define DEFAULT_printerStatus "NORMAL"
69 #define DEFAULT_printerStatusInfo "NORMAL"
70 #define DEFAULT_priority "MED"
71 #define DEFAULT_reflectedAmbientLight 10
72 #define DEFAULT_seriesNumber "1"
73 #define DEFAULT_shutterPresentationValue 0
74 #define DEFAULT_specificCharacterSet "ISO_IR 100"
75 #define DEFAULT_trim "NO"
78 #define WELLKNOWN_IDENTITY_PLUT_UID "1.2.276.0.7230010.3.4.1915765545.18030.917282194.1"
81 #define PSTAT_DIMSE_LOG_STORAGE_UID "1.2.276.0.7230010.3.4.1915765545.18030.917282194.2"
84 #define DVPS_IDX_NONE ((size_t)-1)
87 #define PSTAT_MAXSTUDYCOUNT 200
90 #define PSTAT_STUDYSIZE DB_UpperMaxBytesPerStudy
93 #define PRINTJOB_SUFFIX ".job"
94 #define PRINTJOB_DONE_SUFFIX ".old"
95 #define PRINTJOB_TEMP_SUFFIX ".tmp"
98 #define PSTAT_AETITLE "DCMPSTAT"
101 #define PSTAT_DBFOLDER "."
104 #define PSTAT_LUTFOLDER "."
107 #define PSTAT_REPORTFOLDER "."
110 #define PSTAT_SPOOLFOLDER "."
113 #define L2_HIGHRESOLUTIONGRAPHICS "HIGHRESOLUTIONGRAPHICS"
115 #define PSTAT_DCM_LogReservation DcmTag(0x0009, 0x0010, EVR_LO)
116 #define PSTAT_DCM_AcseSequence DcmTag(0x0009, 0x1100, EVR_SQ)
117 #define PSTAT_DCM_LogSequence DcmTag(0x0009, 0x1200, EVR_SQ)
118 #define PSTAT_DCM_LogEntryType DcmTag(0x0009, 0x1001, EVR_CS)
119 #define PSTAT_DCM_LogDate DcmTag(0x0009, 0x1002, EVR_DA)
120 #define PSTAT_DCM_LogTime DcmTag(0x0009, 0x1003, EVR_TM)
121 #define PSTAT_DCM_AssociateData DcmTag(0x0009, 0x1004, EVR_OB)
126 #define ADD_TO_DATASET(a_type, a_name) \
127 if (result==EC_Normal) \
129 delem = new a_type(a_name); \
130 if (delem) dset.insert(delem, OFTrue); else result=EC_MemoryExhausted; \
134 #define ADD_TO_DATASET2(a_type, a_name) \
135 if (result==EC_Normal) \
137 delem = new a_type(a_name); \
138 if (delem) ditem->insert(delem, OFTrue); else result=EC_MemoryExhausted; \
142 #define ADD_TO_PDATASET(a_type, a_name) \
143 if (writeresult==EC_Normal) \
145 delem = new a_type(a_name); \
146 if (delem) rspDataset->insert(delem, OFTrue); else writeresult=EC_MemoryExhausted; \
150 #define ADD_REPEATING_ELEMENT_TO_DATASET(a_type, a_name, a_group) \
151 if (result==EC_Normal) \
153 delem = new a_type(a_name); \
156 delem->setGTag(a_group); \
157 dset.insert(delem, OFTrue); \
158 } else result=EC_MemoryExhausted; \
162 #define READ_FROM_DATASET(a_type, a_name) \
164 if (EC_Normal == dset.search((DcmTagKey &)a_name.getTag(), stack, ESM_fromHere, OFFalse)) \
166 a_name = *((a_type *)(stack.top())); \
170 #define READ_FROM_DATASET2(a_type, a_name) \
172 if (EC_Normal == item->search((DcmTagKey &)a_name.getTag(), stack, ESM_fromHere, OFFalse)) \
174 a_name = *((a_type *)(stack.top())); \
178 #define READ_FROM_PDATASET(a_type, a_name) \
180 if (rqDataset && (EC_Normal == rqDataset->search((DcmTagKey &)a_name.getTag(), stack, ESM_fromHere, OFFalse))) \
182 a_name = *((a_type *)(stack.top())); \
186 #define SET_UID(a_name) \
187 if (result==EC_Normal) \
189 if (a_name.getLength()==0) result = a_name.putString(dcmGenerateUniqueIdentifier(uid)); \