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 #ifndef DVPSCF_H
00032 #define DVPSCF_H
00033
00034 #include "dcmtk/config/osconfig.h"
00035 #include "dcmtk/ofstd/ofstring.h"
00036 #include "dcmtk/dcmdata/dctypes.h"
00037 #include "dcmtk/dcmpstat/dvpstyp.h"
00038 #include "dcmtk/oflog/oflog.h"
00039
00040 class OFConfigFile;
00041
00046 class DVConfiguration
00047 {
00048 public:
00049
00057 DVConfiguration(const char *config_file=NULL);
00058
00061 virtual ~DVConfiguration();
00062
00063
00064
00070 Uint32 getNumberOfTargets(DVPSPeerType peerType=DVPSE_storage);
00071
00078 const char *getTargetID(Uint32 idx, DVPSPeerType peerType=DVPSE_storage);
00079
00086 const char *getTargetDescription(const char *targetID);
00087
00094 const char *getTargetHostname(const char *targetID);
00095
00102 unsigned short getTargetPort(const char *targetID);
00103
00110 DVPSPeerType getTargetType(const char *targetID);
00111
00118 const char *getTargetAETitle(const char *targetID);
00119
00126 unsigned long getTargetMaxPDU(const char *targetID);
00127
00134 Sint32 getTargetTimeout(const char *targetID);
00135
00142 OFBool getTargetImplicitOnly(const char *targetID);
00143
00150 OFBool getTargetDisableNewVRs(const char *targetID);
00151
00158 OFBool getTargetBitPreservingMode(const char *targetID);
00159
00166 OFBool getTargetCorrectUIDPadding(const char *targetID);
00167
00174 OFBool getTargetUseTLS(const char *targetID);
00175
00182 const char *getTargetCertificate(const char *targetID);
00183
00190 const char *getTargetPrivateKey(const char *targetID);
00191
00198 const char *getTargetPrivateKeyPassword(const char *targetID);
00199
00207 Uint32 getTargetNumberOfCipherSuites(const char *targetID);
00208
00217 const char *getTargetCipherSuite(const char *targetID, Uint32 idx, OFString& value);
00218
00225 DVPSCertificateVerificationType getTargetPeerAuthentication(const char *targetID);
00226
00233 const char *getTargetDiffieHellmanParameters(const char *targetID);
00234
00241 const char *getTargetRandomSeed(const char *targetID);
00242
00249 OFBool getTargetPrinterSupportsPresentationLUT(const char *targetID);
00250
00257 OFBool getTargetPrinterPresentationLUTMatchRequired(const char *targetID);
00258
00265 OFBool getTargetPrinterPresentationLUTPreferSCPRendering(const char *targetID);
00266
00273 OFBool getTargetPrinterPresentationLUTinFilmSession(const char *targetID);
00274
00282 OFBool getTargetPrinterSupports12BitTransmission(const char *targetID);
00283
00290 OFBool getTargetPrinterSupportsRequestedImageSize(const char *targetID);
00291
00298 OFBool getTargetPrinterSupportsDecimateCrop(const char *targetID);
00299
00306 OFBool getTargetPrinterSupportsTrim(const char *targetID);
00307
00315 Uint32 getTargetPrinterNumberOfBorderDensities(const char *targetID);
00316
00325 const char *getTargetPrinterBorderDensity(const char *targetID, Uint32 idx, OFString& value);
00326
00334 Uint32 getTargetPrinterNumberOfMaxDensities(const char *targetID);
00335
00344 const char *getTargetPrinterMaxDensity(const char *targetID, Uint32 idx, OFString& value);
00345
00353 Uint32 getTargetPrinterNumberOfMinDensities(const char *targetID);
00354
00363 const char *getTargetPrinterMinDensity(const char *targetID, Uint32 idx, OFString& value);
00364
00372 Uint32 getTargetPrinterNumberOfPortraitDisplayFormats(const char *targetID);
00373
00381 Uint32 getTargetPrinterPortraitDisplayFormatRows(const char *targetID, Uint32 idx);
00382
00390 Uint32 getTargetPrinterPortraitDisplayFormatColumns(const char *targetID, Uint32 idx);
00391
00399 OFBool getTargetPrinterSupportsAnnotation(const char *targetID);
00400
00407 OFBool getTargetPrinterSupportsAnnotationBoxSOPClass(const char *targetID);
00408
00415 OFBool getTargetPrinterSessionLabelAnnotation(const char *targetID);
00416
00424 const char *getTargetPrinterAnnotationDisplayFormatID(const char *targetID, OFString& value);
00425
00432 Uint16 getTargetPrinterAnnotationPosition(const char *targetID);
00433
00441 Uint32 getTargetPrinterNumberOfFilmSizeIDs(const char *targetID);
00442
00451 const char *getTargetPrinterFilmSizeID(const char *targetID, Uint32 idx, OFString& value);
00452
00460 Uint32 getTargetPrinterNumberOfMediumTypes(const char *targetID);
00461
00470 const char *getTargetPrinterMediumType(const char *targetID, Uint32 idx, OFString& value);
00471
00479 Uint32 getTargetPrinterNumberOfFilmDestinations(const char *targetID);
00480
00489 const char *getTargetPrinterFilmDestination(const char *targetID, Uint32 idx, OFString& value);
00490
00498 Uint32 getTargetPrinterNumberOfPrinterResolutionIDs(const char *targetID);
00499
00508 const char *getTargetPrinterResolutionID(const char *targetID, Uint32 idx, OFString& value);
00509
00517 Uint32 getTargetPrinterNumberOfMagnificationTypes(const char *targetID);
00518
00527 const char *getTargetPrinterMagnificationType(const char *targetID, Uint32 idx, OFString& value);
00528
00536 Uint32 getTargetPrinterNumberOfSmoothingTypes(const char *targetID);
00537
00546 const char *getTargetPrinterSmoothingType(const char *targetID, Uint32 idx, OFString& value);
00547
00554 Uint32 getTargetPrinterNumberOfConfigurationSettings(const char *targetID);
00555
00563 const char *getTargetPrinterConfigurationSetting(const char *targetID, Uint32 idx);
00564
00572 Uint32 getTargetPrinterNumberOfEmptyImageDensities(const char *targetID);
00573
00582 const char *getTargetPrinterEmptyImageDensity(const char *targetID, Uint32 idx, OFString& value);
00583
00590 OFBool getTargetPrintSCPOmitSOPClassUIDFromCreateResponse(const char *targetID);
00591
00592
00593
00599 const char *getLogFolder();
00600
00606 const char *getLogFile();
00607
00613 OFLogger::LogLevel getLogLevel();
00614
00621 unsigned short getMessagePort();
00622
00629 OFBool getMessagePortKeepOpen();
00630
00636 const char *getNetworkAETitle();
00637
00642 OFBool getQueryRetrieveAutoCreateConfigFile();
00643
00649 const char *getQueryRetrieveAETitle();
00650
00655 unsigned short getQueryRetrievePort();
00656
00661 unsigned long getQueryRetrieveMaxPDU();
00662
00667 Sint32 getQueryRetrieveTimeout();
00668
00673 unsigned long getQueryRetrieveMaxAssociations();
00674
00680 const char *getDatabaseFolder();
00681
00687 const char *getSpoolFolder();
00688
00693 OFBool getDetailedLog();
00694
00699 OFBool getBinaryLog();
00700
00706 const char *getSenderName();
00707
00713 const char *getReceiverName();
00714
00719 const char *getQueryRetrieveServerName();
00720
00726 const char *getSpoolerName();
00727
00733 const char *getPrintServerName();
00734
00740 const char *getDumpToolName();
00741
00747 const char *getCheckToolName();
00748
00753 unsigned long getSpoolerSleep();
00754
00759 OFBool getSpoolerDeletePrintJobs();
00760
00765 OFBool getSpoolerAlwaysDeleteTerminateJobs();
00766
00772 const char *getMonitorCharacteristicsFile();
00773
00777 double getMonitorPixelWidth();
00778
00782 double getMonitorPixelHeight();
00783
00788 Uint32 getMaxPreviewResolutionX();
00789
00794 Uint32 getMaxPreviewResolutionY();
00795
00803 const char *getGUIConfigEntry(const char *key);
00804
00814 OFBool getGUIConfigEntryBool(const char *key, OFBool dfl);
00815
00821 const char *getLUTFolder();
00822
00828 const char *getReportFolder();
00829
00830
00831
00835 Uint32 getNumberOfLUTs();
00836
00842 const char *getLUTID(Uint32 idx);
00843
00849 const char *getLUTDescription(const char *lutID);
00850
00856 const char *getLUTFilename(const char *lutID);
00857
00858
00859
00863 Uint32 getNumberOfReports();
00864
00870 const char *getReportID(Uint32 idx);
00871
00878 const char *getReportDescription(const char *reportID);
00879
00886 const char *getReportFilename(const char *reportID);
00887
00888
00889
00894 Uint32 getMinPrintResolutionX();
00895
00900 Uint32 getMinPrintResolutionY();
00901
00906 Uint32 getMaxPrintResolutionX();
00907
00912 Uint32 getMaxPrintResolutionY();
00913
00918 Uint16 getDefaultPrintIllumination();
00919
00924 Uint16 getDefaultPrintReflection();
00925
00926
00927
00932 Uint32 getNumberOfVOIPresets(const char *modality);
00933
00939 const char *getVOIPresetDescription(const char *modality, Uint32 idx);
00940
00946 double getVOIPresetWindowCenter(const char *modality, Uint32 idx);
00947
00953 double getVOIPresetWindowWidth(const char *modality, Uint32 idx);
00954
00955
00956
00961 const char *getTLSFolder();
00962
00967 const char *getTLSCACertificateFolder();
00968
00974 OFBool getTLSPEMFormat();
00975
00976
00977
00982 const char *getUserCertificateFolder();
00983
00987 Uint32 getNumberOfUsers();
00988
00994 const char *getUserID(Uint32 idx);
00995
01001 const char *getUserLogin(const char *userID);
01002
01008 const char *getUserName(const char *userID);
01009
01015 const char *getUserDICOMName(const char *userID);
01016
01022 const char *getUserOrganization(const char *userID);
01023
01029 const char *getUserCodingSchemeDesignator(const char *userID, OFString& value);
01030
01036 const char *getUserCodingSchemeVersion(const char *userID, OFString& value);
01037
01043 const char *getUserCodeValue(const char *userID, OFString& value);
01044
01050 const char *getUserCodeMeaning(const char *userID, OFString& value);
01051
01057 const char *getUserCertificate(const char *userID);
01058
01064 const char *getUserPrivateKey(const char *userID);
01065
01066 private:
01067
01070 DVConfiguration(const DVConfiguration&);
01071
01074 DVConfiguration& operator=(const DVConfiguration&);
01075
01082 const char *getConfigEntry(const char *l2_key, const char *l1_key, const char *l0_key);
01083
01091 OFBool getConfigBoolEntry(const char *l2_key, const char *l1_key, const char *l0_key, OFBool deflt);
01092
01093
01094
01098 OFConfigFile *pConfig;
01099
01100 };
01101
01102 #endif
01103
01104
01105
01106
01107
01108
01109
01110
01111
01112
01113
01114
01115
01116
01117
01118
01119
01120
01121
01122
01123
01124
01125
01126
01127
01128
01129
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