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
00035 #ifndef DVPSCF_H
00036 #define DVPSCF_H
00037
00038 #include "dcmtk/config/osconfig.h"
00039 #include "dcmtk/ofstd/ofstring.h"
00040 #include "dcmtk/dcmdata/dctypes.h"
00041 #include "dcmtk/dcmpstat/dvpstyp.h"
00042
00043 class OFConfigFile;
00044 class OFConsole;
00045
00050 class DVConfiguration
00051 {
00052 public:
00053
00061 DVConfiguration(const char *config_file=NULL);
00062
00065 virtual ~DVConfiguration();
00066
00067
00068
00074 Uint32 getNumberOfTargets(DVPSPeerType peerType=DVPSE_storage);
00075
00082 const char *getTargetID(Uint32 idx, DVPSPeerType peerType=DVPSE_storage);
00083
00090 const char *getTargetDescription(const char *targetID);
00091
00098 const char *getTargetHostname(const char *targetID);
00099
00106 unsigned short getTargetPort(const char *targetID);
00107
00114 DVPSPeerType getTargetType(const char *targetID);
00115
00122 const char *getTargetAETitle(const char *targetID);
00123
00130 unsigned long getTargetMaxPDU(const char *targetID);
00131
00138 Sint32 getTargetTimeout(const char *targetID);
00139
00146 OFBool getTargetImplicitOnly(const char *targetID);
00147
00154 OFBool getTargetDisableNewVRs(const char *targetID);
00155
00162 OFBool getTargetBitPreservingMode(const char *targetID);
00163
00170 OFBool getTargetCorrectUIDPadding(const char *targetID);
00171
00178 OFBool getTargetUseTLS(const char *targetID);
00179
00186 const char *getTargetCertificate(const char *targetID);
00187
00194 const char *getTargetPrivateKey(const char *targetID);
00195
00202 const char *getTargetPrivateKeyPassword(const char *targetID);
00203
00211 Uint32 getTargetNumberOfCipherSuites(const char *targetID);
00212
00221 const char *getTargetCipherSuite(const char *targetID, Uint32 idx, OFString& value);
00222
00229 DVPSCertificateVerificationType getTargetPeerAuthentication(const char *targetID);
00230
00237 const char *getTargetDiffieHellmanParameters(const char *targetID);
00238
00245 const char *getTargetRandomSeed(const char *targetID);
00246
00253 OFBool getTargetPrinterSupportsPresentationLUT(const char *targetID);
00254
00261 OFBool getTargetPrinterPresentationLUTMatchRequired(const char *targetID);
00262
00269 OFBool getTargetPrinterPresentationLUTPreferSCPRendering(const char *targetID);
00270
00277 OFBool getTargetPrinterPresentationLUTinFilmSession(const char *targetID);
00278
00286 OFBool getTargetPrinterSupports12BitTransmission(const char *targetID);
00287
00294 OFBool getTargetPrinterSupportsRequestedImageSize(const char *targetID);
00295
00302 OFBool getTargetPrinterSupportsDecimateCrop(const char *targetID);
00303
00310 OFBool getTargetPrinterSupportsTrim(const char *targetID);
00311
00319 Uint32 getTargetPrinterNumberOfBorderDensities(const char *targetID);
00320
00329 const char *getTargetPrinterBorderDensity(const char *targetID, Uint32 idx, OFString& value);
00330
00338 Uint32 getTargetPrinterNumberOfMaxDensities(const char *targetID);
00339
00348 const char *getTargetPrinterMaxDensity(const char *targetID, Uint32 idx, OFString& value);
00349
00357 Uint32 getTargetPrinterNumberOfMinDensities(const char *targetID);
00358
00367 const char *getTargetPrinterMinDensity(const char *targetID, Uint32 idx, OFString& value);
00368
00376 Uint32 getTargetPrinterNumberOfPortraitDisplayFormats(const char *targetID);
00377
00385 Uint32 getTargetPrinterPortraitDisplayFormatRows(const char *targetID, Uint32 idx);
00386
00394 Uint32 getTargetPrinterPortraitDisplayFormatColumns(const char *targetID, Uint32 idx);
00395
00403 OFBool getTargetPrinterSupportsAnnotation(const char *targetID);
00404
00411 OFBool getTargetPrinterSupportsAnnotationBoxSOPClass(const char *targetID);
00412
00419 OFBool getTargetPrinterSessionLabelAnnotation(const char *targetID);
00420
00428 const char *getTargetPrinterAnnotationDisplayFormatID(const char *targetID, OFString& value);
00429
00436 Uint16 getTargetPrinterAnnotationPosition(const char *targetID);
00437
00445 Uint32 getTargetPrinterNumberOfFilmSizeIDs(const char *targetID);
00446
00455 const char *getTargetPrinterFilmSizeID(const char *targetID, Uint32 idx, OFString& value);
00456
00464 Uint32 getTargetPrinterNumberOfMediumTypes(const char *targetID);
00465
00474 const char *getTargetPrinterMediumType(const char *targetID, Uint32 idx, OFString& value);
00475
00483 Uint32 getTargetPrinterNumberOfFilmDestinations(const char *targetID);
00484
00493 const char *getTargetPrinterFilmDestination(const char *targetID, Uint32 idx, OFString& value);
00494
00502 Uint32 getTargetPrinterNumberOfPrinterResolutionIDs(const char *targetID);
00503
00512 const char *getTargetPrinterResolutionID(const char *targetID, Uint32 idx, OFString& value);
00513
00521 Uint32 getTargetPrinterNumberOfMagnificationTypes(const char *targetID);
00522
00531 const char *getTargetPrinterMagnificationType(const char *targetID, Uint32 idx, OFString& value);
00532
00540 Uint32 getTargetPrinterNumberOfSmoothingTypes(const char *targetID);
00541
00550 const char *getTargetPrinterSmoothingType(const char *targetID, Uint32 idx, OFString& value);
00551
00558 Uint32 getTargetPrinterNumberOfConfigurationSettings(const char *targetID);
00559
00567 const char *getTargetPrinterConfigurationSetting(const char *targetID, Uint32 idx);
00568
00576 Uint32 getTargetPrinterNumberOfEmptyImageDensities(const char *targetID);
00577
00586 const char *getTargetPrinterEmptyImageDensity(const char *targetID, Uint32 idx, OFString& value);
00587
00594 OFBool getTargetPrintSCPOmitSOPClassUIDFromCreateResponse(const char *targetID);
00595
00596
00597
00603 const char *getLogFolder();
00604
00610 const char *getLogFile();
00611
00617 DVPSLogMessageLevel getLogLevel();
00618
00625 unsigned short getMessagePort();
00626
00633 OFBool getMessagePortKeepOpen();
00634
00640 const char *getNetworkAETitle();
00641
00646 OFBool getQueryRetrieveAutoCreateConfigFile();
00647
00653 const char *getQueryRetrieveAETitle();
00654
00659 unsigned short getQueryRetrievePort();
00660
00665 unsigned long getQueryRetrieveMaxPDU();
00666
00671 Sint32 getQueryRetrieveTimeout();
00672
00677 unsigned long getQueryRetrieveMaxAssociations();
00678
00684 const char *getDatabaseFolder();
00685
00691 const char *getSpoolFolder();
00692
00697 OFBool getDetailedLog();
00698
00703 OFBool getBinaryLog();
00704
00710 const char *getSenderName();
00711
00717 const char *getReceiverName();
00718
00723 const char *getQueryRetrieveServerName();
00724
00730 const char *getSpoolerName();
00731
00737 const char *getPrintServerName();
00738
00744 const char *getDumpToolName();
00745
00751 const char *getCheckToolName();
00752
00757 unsigned long getSpoolerSleep();
00758
00763 OFBool getSpoolerDeletePrintJobs();
00764
00769 OFBool getSpoolerAlwaysDeleteTerminateJobs();
00770
00776 const char *getMonitorCharacteristicsFile();
00777
00781 double getMonitorPixelWidth();
00782
00786 double getMonitorPixelHeight();
00787
00792 Uint32 getMaxPreviewResolutionX();
00793
00798 Uint32 getMaxPreviewResolutionY();
00799
00807 const char *getGUIConfigEntry(const char *key);
00808
00818 OFBool getGUIConfigEntryBool(const char *key, OFBool dfl);
00819
00825 const char *getLUTFolder();
00826
00832 const char *getReportFolder();
00833
00834
00835
00839 Uint32 getNumberOfLUTs();
00840
00846 const char *getLUTID(Uint32 idx);
00847
00853 const char *getLUTDescription(const char *lutID);
00854
00860 const char *getLUTFilename(const char *lutID);
00861
00862
00863
00867 Uint32 getNumberOfReports();
00868
00874 const char *getReportID(Uint32 idx);
00875
00882 const char *getReportDescription(const char *reportID);
00883
00890 const char *getReportFilename(const char *reportID);
00891
00892
00893
00898 Uint32 getMinPrintResolutionX();
00899
00904 Uint32 getMinPrintResolutionY();
00905
00910 Uint32 getMaxPrintResolutionX();
00911
00916 Uint32 getMaxPrintResolutionY();
00917
00922 Uint16 getDefaultPrintIllumination();
00923
00928 Uint16 getDefaultPrintReflection();
00929
00930
00931
00936 Uint32 getNumberOfVOIPresets(const char *modality);
00937
00943 const char *getVOIPresetDescription(const char *modality, Uint32 idx);
00944
00950 double getVOIPresetWindowCenter(const char *modality, Uint32 idx);
00951
00957 double getVOIPresetWindowWidth(const char *modality, Uint32 idx);
00958
00959
00960
00965 const char *getTLSFolder();
00966
00971 const char *getTLSCACertificateFolder();
00972
00978 OFBool getTLSPEMFormat();
00979
00980
00981
00986 const char *getUserCertificateFolder();
00987
00991 Uint32 getNumberOfUsers();
00992
00998 const char *getUserID(Uint32 idx);
00999
01005 const char *getUserLogin(const char *userID);
01006
01012 const char *getUserName(const char *userID);
01013
01019 const char *getUserDICOMName(const char *userID);
01020
01026 const char *getUserOrganization(const char *userID);
01027
01033 const char *getUserCodingSchemeDesignator(const char *userID, OFString& value);
01034
01040 const char *getUserCodingSchemeVersion(const char *userID, OFString& value);
01041
01047 const char *getUserCodeValue(const char *userID, OFString& value);
01048
01054 const char *getUserCodeMeaning(const char *userID, OFString& value);
01055
01061 const char *getUserCertificate(const char *userID);
01062
01068 const char *getUserPrivateKey(const char *userID);
01069
01070
01071
01077 virtual void setLog(OFConsole *stream, OFBool verbMode, OFBool dbgMode);
01078
01079 protected:
01080
01083 OFConsole *logstream;
01084
01087 OFBool verboseMode;
01088
01091 OFBool debugMode;
01092
01093 private:
01094
01097 DVConfiguration(const DVConfiguration&);
01098
01101 DVConfiguration& operator=(const DVConfiguration&);
01102
01109 const char *getConfigEntry(const char *l2_key, const char *l1_key, const char *l0_key);
01110
01118 OFBool getConfigBoolEntry(const char *l2_key, const char *l1_key, const char *l0_key, OFBool deflt);
01119
01120
01121
01125 OFConfigFile *pConfig;
01126
01127 };
01128
01129 #endif
01130
01131
01132
01133
01134
01135
01136
01137
01138
01139
01140
01141
01142
01143
01144
01145
01146
01147
01148
01149
01150
01151
01152
01153
01154
01155
01156
01157
01158
01159
01160
01161
01162
01163
01164
01165
01166
01167
01168
01169
01170
01171
01172
01173
01174
01175
01176
01177
01178
01179
01180
01181
01182
01183
01184
01185
01186
01187
01188
01189
01190
01191
01192
01193
01194
01195
01196
01197
01198
01199
01200
01201
01202
01203
01204
01205
01206
01207
01208
01209
01210
01211
01212
01213
01214
01215
01216
01217
01218
01219
01220
01221
01222
01223
01224
01225
01226
01227
01228
01229
01230
01231
01232
01233
01234
01235
01236
01237
01238
01239
01240
01241
01242
01243
01244