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 __DVPSSPL_H__
00035 #define __DVPSSPL_H__
00036
00037 #include "dcmtk/config/osconfig.h"
00038 #include "dcmtk/ofstd/oflist.h"
00039 #include "dcmtk/dcmdata/dctk.h"
00040 #include "dcmtk/dcmnet/dimse.h"
00041 #include "dcmtk/dcmpstat/dvpstyp.h"
00042
00043 class DVInterface;
00044 class DVPSStoredPrint;
00045 class DVConfiguration;
00046 class DVPSPresentationLUT_PList;
00047
00051 class DVPSStoredPrint_PList
00052 {
00053 public:
00055 DVPSStoredPrint_PList();
00056
00058 DVPSStoredPrint_PList(const DVPSStoredPrint_PList& copy);
00059
00064 DVPSStoredPrint_PList *clone() { return new DVPSStoredPrint_PList(*this); }
00065
00067 virtual ~DVPSStoredPrint_PList();
00068
00073 void clear();
00074
00078 size_t size() const { return list_.size(); }
00079
00085 void insert(DVPSStoredPrint *newSP) { if (newSP) list_.push_back(newSP); }
00086
00102 void printSCPBasicFilmBoxSet(
00103 DVConfiguration& cfg,
00104 const char *cfgname,
00105 T_DIMSE_Message& rq,
00106 DcmDataset *rqDataset,
00107 T_DIMSE_Message& rsp,
00108 DcmDataset *& rspDataset,
00109 OFBool presentationLUTnegotiated,
00110 DVPSPresentationLUT_PList& globalPresentationLUTList);
00111
00127 void printSCPBasicGrayscaleImageBoxSet(
00128 DVInterface& cfg,
00129 const char *cfgname,
00130 T_DIMSE_Message& rq,
00131 DcmDataset *rqDataset,
00132 T_DIMSE_Message& rsp,
00133 DcmDataset *& rspDataset,
00134 OFBool presentationLUTnegotiated);
00135
00147 void printSCPBasicFilmBoxAction(
00148 DVInterface& cfg,
00149 const char *cfgname,
00150 T_DIMSE_Message& rq,
00151 T_DIMSE_Message& rsp,
00152 DVPSPresentationLUT_PList& globalPresentationLUTList);
00153
00164 void printSCPBasicFilmSessionAction(
00165 DVInterface& cfg,
00166 const char *cfgname,
00167 T_DIMSE_Message& rsp,
00168 DVPSPresentationLUT_PList& globalPresentationLUTList);
00169
00175 void printSCPBasicFilmBoxDelete(T_DIMSE_Message& rq, T_DIMSE_Message& rsp);
00176
00182 OFBool haveFilmBoxInstance(const char *uid);
00183
00190 OFBool usesPresentationLUT(const char *uid);
00191
00197 void setLog(OFConsole *stream, OFBool verbMode, OFBool dbgMode);
00198
00205 OFBool matchesPresentationLUT(DVPSPrintPresentationLUTAlignment align) const;
00206
00216 void overridePresentationLUTSettings(
00217 DcmUnsignedShort& newIllumination,
00218 DcmUnsignedShort& newReflectedAmbientLight,
00219 DcmUniqueIdentifier& newReferencedPLUT,
00220 DVPSPrintPresentationLUTAlignment newAlignment);
00221
00222 private:
00223
00225 DVPSStoredPrint_PList& operator=(const DVPSStoredPrint_PList&);
00226
00229 OFList<DVPSStoredPrint *> list_;
00230
00233 OFConsole *logstream;
00234
00237 OFBool verboseMode;
00238
00241 OFBool debugMode;
00242 };
00243
00244 #endif
00245
00246
00247
00248
00249
00250
00251
00252
00253
00254
00255
00256
00257
00258
00259
00260
00261
00262
00263
00264
00265
00266
00267
00268
00269