OFFIS DCMTK
Version 3.6.0
Main Page
Related Pages
Classes
Files
File List
File Members
dcmpstat
include
dcmtk
dcmpstat
dvpscf.h
1
/*
2
*
3
* Copyright (C) 1998-2010, OFFIS e.V.
4
* All rights reserved. See COPYRIGHT file for details.
5
*
6
* This software and supporting documentation were developed by
7
*
8
* OFFIS e.V.
9
* R&D Division Health
10
* Escherweg 2
11
* D-26121 Oldenburg, Germany
12
*
13
*
14
* Module: dcmpstat
15
*
16
* Author: Marco Eichelberg, Joerg Riesmeier
17
*
18
* Purpose:
19
* classes: DVConfiguration
20
*
21
* Last Update: $Author: joergr $
22
* Update Date: $Date: 2010-10-14 13:16:36 $
23
* CVS/RCS Revision: $Revision: 1.34 $
24
* Status: $State: Exp $
25
*
26
* CVS/RCS Log at end of file
27
*
28
*/
29
30
31
#ifndef DVPSCF_H
32
#define DVPSCF_H
33
34
#include "dcmtk/config/osconfig.h"
/* make sure OS specific configuration is included first */
35
#include "dcmtk/ofstd/ofstring.h"
/* for class OFString */
36
#include "dcmtk/dcmdata/dctypes.h"
/* for Uint32 */
37
#include "dcmtk/dcmpstat/dvpstyp.h"
/* for DVPS enums */
38
#include "dcmtk/oflog/oflog.h"
/* for OFLogger::LogLevel */
39
40
class
OFConfigFile
;
41
46
class
DVConfiguration
47
{
48
public
:
49
57
DVConfiguration
(
const
char
*config_file=NULL);
58
61
virtual
~DVConfiguration
();
62
63
/* access to communication partner data */
64
70
Uint32
getNumberOfTargets
(DVPSPeerType peerType=DVPSE_storage);
71
78
const
char
*
getTargetID
(Uint32 idx, DVPSPeerType peerType=DVPSE_storage);
79
86
const
char
*
getTargetDescription
(
const
char
*targetID);
87
94
const
char
*
getTargetHostname
(
const
char
*targetID);
95
102
unsigned
short
getTargetPort
(
const
char
*targetID);
103
110
DVPSPeerType
getTargetType
(
const
char
*targetID);
111
118
const
char
*
getTargetAETitle
(
const
char
*targetID);
119
126
unsigned
long
getTargetMaxPDU
(
const
char
*targetID);
127
134
Sint32
getTargetTimeout
(
const
char
*targetID);
135
142
OFBool
getTargetImplicitOnly
(
const
char
*targetID);
143
150
OFBool
getTargetDisableNewVRs
(
const
char
*targetID);
151
158
OFBool
getTargetBitPreservingMode
(
const
char
*targetID);
159
166
OFBool
getTargetCorrectUIDPadding
(
const
char
*targetID);
167
174
OFBool
getTargetUseTLS
(
const
char
*targetID);
175
182
const
char
*
getTargetCertificate
(
const
char
*targetID);
183
190
const
char
*
getTargetPrivateKey
(
const
char
*targetID);
191
198
const
char
*
getTargetPrivateKeyPassword
(
const
char
*targetID);
199
207
Uint32
getTargetNumberOfCipherSuites
(
const
char
*targetID);
208
217
const
char
*
getTargetCipherSuite
(
const
char
*targetID, Uint32 idx,
OFString
& value);
218
225
DVPSCertificateVerificationType
getTargetPeerAuthentication
(
const
char
*targetID);
226
233
const
char
*
getTargetDiffieHellmanParameters
(
const
char
*targetID);
234
241
const
char
*
getTargetRandomSeed
(
const
char
*targetID);
242
249
OFBool
getTargetPrinterSupportsPresentationLUT
(
const
char
*targetID);
250
257
OFBool
getTargetPrinterPresentationLUTMatchRequired
(
const
char
*targetID);
258
265
OFBool
getTargetPrinterPresentationLUTPreferSCPRendering
(
const
char
*targetID);
266
273
OFBool
getTargetPrinterPresentationLUTinFilmSession
(
const
char
*targetID);
274
282
OFBool
getTargetPrinterSupports12BitTransmission
(
const
char
*targetID);
283
290
OFBool
getTargetPrinterSupportsRequestedImageSize
(
const
char
*targetID);
291
298
OFBool
getTargetPrinterSupportsDecimateCrop
(
const
char
*targetID);
299
306
OFBool
getTargetPrinterSupportsTrim
(
const
char
*targetID);
307
315
Uint32
getTargetPrinterNumberOfBorderDensities
(
const
char
*targetID);
316
325
const
char
*
getTargetPrinterBorderDensity
(
const
char
*targetID, Uint32 idx,
OFString
& value);
326
334
Uint32
getTargetPrinterNumberOfMaxDensities
(
const
char
*targetID);
335
344
const
char
*
getTargetPrinterMaxDensity
(
const
char
*targetID, Uint32 idx,
OFString
& value);
345
353
Uint32
getTargetPrinterNumberOfMinDensities
(
const
char
*targetID);
354
363
const
char
*
getTargetPrinterMinDensity
(
const
char
*targetID, Uint32 idx,
OFString
& value);
364
372
Uint32
getTargetPrinterNumberOfPortraitDisplayFormats
(
const
char
*targetID);
373
381
Uint32
getTargetPrinterPortraitDisplayFormatRows
(
const
char
*targetID, Uint32 idx);
382
390
Uint32
getTargetPrinterPortraitDisplayFormatColumns
(
const
char
*targetID, Uint32 idx);
391
399
OFBool
getTargetPrinterSupportsAnnotation
(
const
char
*targetID);
400
407
OFBool
getTargetPrinterSupportsAnnotationBoxSOPClass
(
const
char
*targetID);
408
415
OFBool
getTargetPrinterSessionLabelAnnotation
(
const
char
*targetID);
416
424
const
char
*
getTargetPrinterAnnotationDisplayFormatID
(
const
char
*targetID,
OFString
& value);
425
432
Uint16
getTargetPrinterAnnotationPosition
(
const
char
*targetID);
433
441
Uint32
getTargetPrinterNumberOfFilmSizeIDs
(
const
char
*targetID);
442
451
const
char
*
getTargetPrinterFilmSizeID
(
const
char
*targetID, Uint32 idx,
OFString
& value);
452
460
Uint32
getTargetPrinterNumberOfMediumTypes
(
const
char
*targetID);
461
470
const
char
*
getTargetPrinterMediumType
(
const
char
*targetID, Uint32 idx,
OFString
& value);
471
479
Uint32
getTargetPrinterNumberOfFilmDestinations
(
const
char
*targetID);
480
489
const
char
*
getTargetPrinterFilmDestination
(
const
char
*targetID, Uint32 idx,
OFString
& value);
490
498
Uint32
getTargetPrinterNumberOfPrinterResolutionIDs
(
const
char
*targetID);
499
508
const
char
*
getTargetPrinterResolutionID
(
const
char
*targetID, Uint32 idx,
OFString
& value);
509
517
Uint32
getTargetPrinterNumberOfMagnificationTypes
(
const
char
*targetID);
518
527
const
char
*
getTargetPrinterMagnificationType
(
const
char
*targetID, Uint32 idx,
OFString
& value);
528
536
Uint32
getTargetPrinterNumberOfSmoothingTypes
(
const
char
*targetID);
537
546
const
char
*
getTargetPrinterSmoothingType
(
const
char
*targetID, Uint32 idx,
OFString
& value);
547
554
Uint32
getTargetPrinterNumberOfConfigurationSettings
(
const
char
*targetID);
555
563
const
char
*
getTargetPrinterConfigurationSetting
(
const
char
*targetID, Uint32 idx);
564
572
Uint32
getTargetPrinterNumberOfEmptyImageDensities
(
const
char
*targetID);
573
582
const
char
*
getTargetPrinterEmptyImageDensity
(
const
char
*targetID, Uint32 idx,
OFString
& value);
583
590
OFBool
getTargetPrintSCPOmitSOPClassUIDFromCreateResponse
(
const
char
*targetID);
591
592
/* general settings */
593
599
const
char
*
getLogFolder
();
600
606
const
char
*
getLogFile
();
607
613
OFLogger::LogLevel
getLogLevel
();
614
621
unsigned
short
getMessagePort
();
622
629
OFBool
getMessagePortKeepOpen
();
630
636
const
char
*
getNetworkAETitle
();
637
642
OFBool
getQueryRetrieveAutoCreateConfigFile
();
643
649
const
char
*
getQueryRetrieveAETitle
();
650
655
unsigned
short
getQueryRetrievePort
();
656
661
unsigned
long
getQueryRetrieveMaxPDU
();
662
667
Sint32
getQueryRetrieveTimeout
();
668
673
unsigned
long
getQueryRetrieveMaxAssociations
();
674
680
const
char
*
getDatabaseFolder
();
681
687
const
char
*
getSpoolFolder
();
688
693
OFBool
getDetailedLog
();
694
699
OFBool
getBinaryLog
();
700
706
const
char
*
getSenderName
();
707
713
const
char
*
getReceiverName
();
714
719
const
char
*
getQueryRetrieveServerName
();
720
726
const
char
*
getSpoolerName
();
727
733
const
char
*
getPrintServerName
();
734
740
const
char
*
getDumpToolName
();
741
747
const
char
*
getCheckToolName
();
748
753
unsigned
long
getSpoolerSleep
();
754
759
OFBool
getSpoolerDeletePrintJobs
();
760
765
OFBool
getSpoolerAlwaysDeleteTerminateJobs
();
766
772
const
char
*
getMonitorCharacteristicsFile
();
773
777
double
getMonitorPixelWidth
();
778
782
double
getMonitorPixelHeight
();
783
788
Uint32
getMaxPreviewResolutionX
();
789
794
Uint32
getMaxPreviewResolutionY
();
795
803
const
char
*
getGUIConfigEntry
(
const
char
*key);
804
814
OFBool
getGUIConfigEntryBool
(
const
char
*key, OFBool dfl);
815
821
const
char
*
getLUTFolder
();
822
828
const
char
*
getReportFolder
();
829
830
/* Presentation Look Up Tables (LUTs) */
831
835
Uint32
getNumberOfLUTs
();
836
842
const
char
*
getLUTID
(Uint32 idx);
843
849
const
char
*
getLUTDescription
(
const
char
*lutID);
850
856
const
char
*
getLUTFilename
(
const
char
*lutID);
857
858
/* Structured Reporting (SR) "templates" */
859
863
Uint32
getNumberOfReports
();
864
870
const
char
*
getReportID
(Uint32 idx);
871
878
const
char
*
getReportDescription
(
const
char
*reportID);
879
886
const
char
*
getReportFilename
(
const
char
*reportID);
887
888
/* general print settings */
889
894
Uint32
getMinPrintResolutionX
();
895
900
Uint32
getMinPrintResolutionY
();
901
906
Uint32
getMaxPrintResolutionX
();
907
912
Uint32
getMaxPrintResolutionY
();
913
918
Uint16
getDefaultPrintIllumination
();
919
924
Uint16
getDefaultPrintReflection
();
925
926
/* VOI settings */
927
932
Uint32
getNumberOfVOIPresets
(
const
char
*modality);
933
939
const
char
*
getVOIPresetDescription
(
const
char
*modality, Uint32 idx);
940
946
double
getVOIPresetWindowCenter
(
const
char
*modality, Uint32 idx);
947
953
double
getVOIPresetWindowWidth
(
const
char
*modality, Uint32 idx);
954
955
/* TLS settings */
956
961
const
char
*
getTLSFolder
();
962
967
const
char
*
getTLSCACertificateFolder
();
968
974
OFBool
getTLSPEMFormat
();
975
976
/* User login settings */
977
982
const
char
*
getUserCertificateFolder
();
983
987
Uint32
getNumberOfUsers
();
988
994
const
char
*
getUserID
(Uint32 idx);
995
1001
const
char
*
getUserLogin
(
const
char
*userID);
1002
1008
const
char
*
getUserName
(
const
char
*userID);
1009
1015
const
char
*
getUserDICOMName
(
const
char
*userID);
1016
1022
const
char
*
getUserOrganization
(
const
char
*userID);
1023
1029
const
char
*
getUserCodingSchemeDesignator
(
const
char
*userID,
OFString
& value);
1030
1036
const
char
*
getUserCodingSchemeVersion
(
const
char
*userID,
OFString
& value);
1037
1043
const
char
*
getUserCodeValue
(
const
char
*userID,
OFString
& value);
1044
1050
const
char
*
getUserCodeMeaning
(
const
char
*userID,
OFString
& value);
1051
1057
const
char
*
getUserCertificate
(
const
char
*userID);
1058
1064
const
char
*
getUserPrivateKey
(
const
char
*userID);
1065
1066
private
:
1067
1070
DVConfiguration
(
const
DVConfiguration
&);
1071
1074
DVConfiguration
&
operator=
(
const
DVConfiguration
&);
1075
1082
const
char
*
getConfigEntry
(
const
char
*l2_key,
const
char
*l1_key,
const
char
*l0_key);
1083
1091
OFBool
getConfigBoolEntry
(
const
char
*l2_key,
const
char
*l1_key,
const
char
*l0_key, OFBool deflt);
1092
1093
/* member variables */
1094
1098
OFConfigFile
*
pConfig
;
1099
1100
};
1101
1102
#endif
1103
1104
/*
1105
* CVS/RCS Log:
1106
* $Log: dvpscf.h,v $
1107
* Revision 1.34 2010-10-14 13:16:36 joergr
1108
* Updated copyright header. Added reference to COPYRIGHT file.
1109
*
1110
* Revision 1.33 2009-11-24 14:12:57 uli
1111
* Switched to logging mechanism provided by the "new" oflog module.
1112
*
1113
* Revision 1.32 2005-12-08 16:03:36 meichel
1114
* Changed include path schema for all DCMTK header files
1115
*
1116
* Revision 1.31 2003/04/29 10:13:56 meichel
1117
* Moved configuration file parser from module dcmpstat to ofstd and renamed
1118
* class to OFConfigFile. Cleaned up implementation (no more friend declarations).
1119
*
1120
* Revision 1.30 2002/11/29 13:16:31 meichel
1121
* Introduced new command line option --timeout for controlling the
1122
* connection request timeout.
1123
*
1124
* Revision 1.29 2002/11/25 18:27:39 meichel
1125
* Converted compile time option to leniently handle space padded UIDs
1126
* in the Storage Service Class into command line / config file option.
1127
*
1128
* Revision 1.28 2001/06/01 15:50:12 meichel
1129
* Updated copyright header
1130
*
1131
* Revision 1.27 2000/11/13 14:20:54 joergr
1132
* Updated comments.
1133
*
1134
* Revision 1.26 2000/11/13 11:52:41 meichel
1135
* Added support for user logins and certificates.
1136
*
1137
* Revision 1.25 2000/11/13 10:42:39 joergr
1138
* Added support for Structured Reporting "templates".
1139
*
1140
* Revision 1.24 2000/10/10 12:23:40 meichel
1141
* Added extensions for TLS encrypted communication
1142
*
1143
* Revision 1.23 2000/06/21 15:40:57 meichel
1144
* Added DICOMscope support for calling the Presentation State Checker.
1145
*
1146
* Revision 1.22 2000/06/07 14:16:21 joergr
1147
* Added configuration file entry "LogLevel" to filter log messages.
1148
*
1149
* Revision 1.21 2000/06/07 13:17:45 meichel
1150
* added binary and textual log facilities to Print SCP.
1151
*
1152
* Revision 1.20 2000/06/06 09:42:48 joergr
1153
* Moved configuration file entry "LogDirectory" from "[PRINT]" to new
1154
* (more general) section "[APPLICATION]".
1155
*
1156
* Revision 1.19 2000/06/05 16:22:27 joergr
1157
* Implemented log message methods.
1158
*
1159
* Revision 1.18 2000/06/02 16:00:43 meichel
1160
* Adapted all dcmpstat classes to use OFConsole for log and error output
1161
*
1162
* Revision 1.17 2000/06/02 13:53:54 joergr
1163
* Implemented start/terminatePrintServer methods.
1164
*
1165
* Revision 1.16 2000/06/02 12:41:51 joergr
1166
* Corrected wrong interface descriptions.
1167
*
1168
* Revision 1.15 2000/05/31 12:56:37 meichel
1169
* Added initial Print SCP support
1170
*
1171
* Revision 1.14 2000/05/30 13:40:02 joergr
1172
* Removed methods which were already marked as "retired".
1173
* Added new section to the config file describing the query/retrieve server
1174
* settings.
1175
*
1176
* Revision 1.13 2000/03/08 16:28:49 meichel
1177
* Updated copyright header.
1178
*
1179
* Revision 1.12 1999/11/03 13:05:32 meichel
1180
* Added support for transmitting annotations in the film session label.
1181
* Added support for dump tool launched from DVInterface.
1182
*
1183
* Revision 1.11 1999/10/20 10:47:14 joergr
1184
* Added support for a down-scaled preview image of the current DICOM image
1185
* (e.g. useful for online-windowing or print preview).
1186
*
1187
* Revision 1.10 1999/10/19 14:46:02 meichel
1188
* added support for the Basic Annotation Box SOP Class
1189
* as well as access methods for Max Density and Min Density.
1190
*
1191
* Revision 1.9 1999/10/13 14:11:56 meichel
1192
* Added config file entries and access methods
1193
* for user-defined VOI presets, log directory, verbatim logging
1194
* and an explicit list of image display formats for each printer.
1195
*
1196
* Revision 1.8 1999/10/07 17:21:46 meichel
1197
* Reworked management of Presentation LUTs in order to create tighter
1198
* coupling between Softcopy and Print.
1199
*
1200
* Revision 1.7 1999/10/01 13:32:36 joergr
1201
* Added new option to config file: AlwaysDeleteTerminateJobs.
1202
*
1203
* Revision 1.6 1999/09/24 15:24:29 meichel
1204
* Added support for CP 173 (Presentation LUT clarifications)
1205
*
1206
* Revision 1.5 1999/09/23 17:37:13 meichel
1207
* Added support for Basic Film Session options to dcmpstat print code.
1208
*
1209
* Revision 1.4 1999/09/15 17:43:26 meichel
1210
* Implemented print job dispatcher code for dcmpstat, adapted dcmprtsv
1211
* and dcmpsprt applications.
1212
*
1213
* Revision 1.3 1999/09/13 15:19:09 meichel
1214
* Added implementations for a number of further print API methods.
1215
*
1216
* Revision 1.2 1999/09/10 12:46:45 meichel
1217
* Added implementations for a number of print API methods.
1218
*
1219
* Revision 1.1 1999/09/08 16:42:02 meichel
1220
* Moved configuration file evaluation to separate class.
1221
*
1222
*
1223
*/
Generated on Thu Dec 20 2012 for
OFFIS DCMTK
Version 3.6.0 by
Doxygen
1.8.2