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 DCASCCFG_H
00035 #define DCASCCFG_H
00036
00037 #include "dcmtk/config/osconfig.h"
00038 #include "dcmtk/ofstd/ofcond.h"
00039 #include "dcmtk/dcmnet/assoc.h"
00040 #include "dcmtk/dcmnet/dccftsmp.h"
00041 #include "dcmtk/dcmnet/dccfpcmp.h"
00042 #include "dcmtk/dcmnet/dccfrsmp.h"
00043 #include "dcmtk/dcmnet/dccfenmp.h"
00044 #include "dcmtk/dcmnet/dccfprmp.h"
00045
00046
00050 class DcmAssociationConfiguration
00051 {
00052 public:
00054 DcmAssociationConfiguration();
00055
00057 ~DcmAssociationConfiguration();
00058
00065 OFCondition setAssociationParameters(
00066 const char *profile,
00067 T_ASC_Parameters& params) const;
00068
00075 OFCondition evaluateAssociationParameters(
00076 const char *profile,
00077 T_ASC_Association &assoc) const;
00078
00086 OFCondition addTransferSyntax(
00087 const char *key,
00088 const char *transferSyntaxUID);
00089
00101 OFCondition addPresentationContext(
00102 const char *key,
00103 const char *abstractSyntaxUID,
00104 const char *transferSyntaxKey);
00105
00115 OFCondition addRole(
00116 const char *key,
00117 const char *abstractSyntaxUID,
00118 T_ASC_SC_ROLE role);
00119
00130 OFCondition addExtendedNegotiation(
00131 const char *key,
00132 const char *abstractSyntaxUID,
00133 const unsigned char *rawData,
00134 Uint32 length);
00135
00149 OFCondition addProfile(
00150 const char *key,
00151 const char *presentationContextKey,
00152 const char *roleSelectionKey=NULL,
00153 const char *extendedNegotiationKey=NULL);
00154
00159 OFBool isKnownProfile(const char *key) const;
00160
00167 OFBool isValidSCPProfile(const char *key) const;
00168
00169 private:
00171 DcmAssociationConfiguration(const DcmAssociationConfiguration& arg);
00172
00174 DcmAssociationConfiguration& operator=(const DcmAssociationConfiguration& arg);
00175
00177 DcmTransferSyntaxMap xferSyntaxes_;
00178
00180 DcmPresentationContextMap contexts_;
00181
00183 DcmRoleSelectionMap roleselection_;
00184
00186 DcmExtendedNegotiationMap extneg_;
00187
00189 DcmProfileMap profiles_;
00190 };
00191
00192 #endif
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210