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 #ifndef DCASCCFG_H
00030 #define DCASCCFG_H
00031
00032 #include "dcmtk/config/osconfig.h"
00033 #include "dcmtk/ofstd/ofcond.h"
00034 #include "dcmtk/dcmnet/assoc.h"
00035 #include "dcmtk/dcmnet/dccftsmp.h"
00036 #include "dcmtk/dcmnet/dccfpcmp.h"
00037 #include "dcmtk/dcmnet/dccfrsmp.h"
00038 #include "dcmtk/dcmnet/dccfenmp.h"
00039 #include "dcmtk/dcmnet/dccfprmp.h"
00040
00041
00045 class DcmAssociationConfiguration
00046 {
00047 public:
00049 DcmAssociationConfiguration();
00050
00052 ~DcmAssociationConfiguration();
00053
00060 OFCondition setAssociationParameters(
00061 const char *profile,
00062 T_ASC_Parameters& params) const;
00063
00070 OFCondition evaluateAssociationParameters(
00071 const char *profile,
00072 T_ASC_Association &assoc) const;
00073
00081 OFCondition addTransferSyntax(
00082 const char *key,
00083 const char *transferSyntaxUID);
00084
00096 OFCondition addPresentationContext(
00097 const char *key,
00098 const char *abstractSyntaxUID,
00099 const char *transferSyntaxKey);
00100
00110 OFCondition addRole(
00111 const char *key,
00112 const char *abstractSyntaxUID,
00113 T_ASC_SC_ROLE role);
00114
00125 OFCondition addExtendedNegotiation(
00126 const char *key,
00127 const char *abstractSyntaxUID,
00128 const unsigned char *rawData,
00129 Uint32 length);
00130
00144 OFCondition addProfile(
00145 const char *key,
00146 const char *presentationContextKey,
00147 const char *roleSelectionKey=NULL,
00148 const char *extendedNegotiationKey=NULL);
00149
00154 OFBool isKnownProfile(const char *key) const;
00155
00162 OFBool isValidSCPProfile(const char *key) const;
00163
00164 private:
00166 DcmAssociationConfiguration(const DcmAssociationConfiguration& arg);
00167
00169 DcmAssociationConfiguration& operator=(const DcmAssociationConfiguration& arg);
00170
00172 DcmTransferSyntaxMap xferSyntaxes_;
00173
00175 DcmPresentationContextMap contexts_;
00176
00178 DcmRoleSelectionMap roleselection_;
00179
00181 DcmExtendedNegotiationMap extneg_;
00182
00184 DcmProfileMap profiles_;
00185 };
00186
00187 #endif
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206
00207
00208