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
00036 #ifndef DCCFPRMP_H
00037 #define DCCFPRMP_H
00038
00039 #include "osconfig.h"
00040 #include "ofstring.h"
00041 #include "ofcond.h"
00042 #include "dcmsmap.h"
00043
00044
00048 class DcmProfileEntry
00049 {
00050 public:
00056 DcmProfileEntry(
00057 const OFString& presentationContextGroup,
00058 const OFString& roleSelectionGroup,
00059 const OFString& extendedNegotiationGroup);
00060
00062 DcmProfileEntry(const DcmProfileEntry& arg);
00063
00065 ~DcmProfileEntry();
00066
00070 const char *getPresentationContextKey() const;
00071
00075 const char *getRoleSelectionKey() const;
00076
00080 const char *getExtendedNegotiationKey() const;
00081
00086 OFBool operator==(const DcmProfileEntry& arg) const
00087 {
00088 return (presentationContextGroup_ == arg.presentationContextGroup_)
00089 && (roleSelectionGroup_ == arg.roleSelectionGroup_)
00090 && (extendedNegotiationGroup_ == arg.extendedNegotiationGroup_);
00091 }
00092
00093 private:
00094
00096 DcmProfileEntry& operator=(const DcmProfileEntry& arg);
00097
00099 OFString presentationContextGroup_;
00100
00102 OFString roleSelectionGroup_;
00103
00105 OFString extendedNegotiationGroup_;
00106 };
00107
00108
00112 class DcmProfileMap
00113 {
00114 public:
00116 DcmProfileMap();
00117
00119 ~DcmProfileMap();
00120
00128 OFCondition add(
00129 const char *key,
00130 const char *presentationContextKey,
00131 const char *roleSelectionKey,
00132 const char *extendedNegotiationKey);
00133
00138 OFBool isKnownKey(const char *key) const;
00139
00144 const char *getPresentationContextKey(const char *key) const;
00145
00150 const char *getRoleSelectionKey(const char *key) const;
00151
00156 const char *getExtendedNegotiationKey(const char *key) const;
00157
00158 private:
00160 DcmProfileMap(const DcmProfileMap& arg);
00161
00163 DcmProfileMap& operator=(const DcmProfileMap& arg);
00164
00166 DcmSimpleMap<DcmProfileEntry *> map_;
00167
00168 };
00169
00170
00171 #endif
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186