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 #ifndef DSIGKEYINFONAME_INCLUDE
00028 #define DSIGKEYINFONAME_INCLUDE
00029
00030 #include <xsec/utils/XSECSafeBuffer.hpp>
00031 #include <xsec/dsig/DSIGKeyInfo.hpp>
00032 #include <xsec/utils/XSECPlatformUtils.hpp>
00033
00034 XSEC_DECLARE_XERCES_CLASS(DOMElement);
00035
00051 class DSIG_EXPORT DSIGKeyInfoName : public DSIGKeyInfo {
00052
00053 public:
00054
00057
00068 DSIGKeyInfoName(const XSECEnv * env, XERCES_CPP_NAMESPACE_QUALIFIER DOMNode *nameNode);
00069
00080 DSIGKeyInfoName(const XSECEnv * env);
00081
00086 virtual ~DSIGKeyInfoName();
00087
00089
00092
00097 virtual void load(void);
00098
00107 virtual const XMLCh * getKeyName(void) {return mp_name;};
00108
00118 virtual const XMLCh * getDecodedKeyName(void);
00119
00121
00124
00137 XERCES_CPP_NAMESPACE_QUALIFIER DOMElement * createBlankKeyName(const XMLCh * name, bool isDName = false);
00138
00149 void setKeyName(const XMLCh * name, bool isDName = false);
00150
00152
00155
00160 virtual keyInfoType getKeyInfoType(void) {return DSIGKeyInfo::KEYINFO_NAME;}
00161
00163
00164 private:
00165
00166 DSIGKeyInfoName();
00167
00168 const XMLCh * mp_name;
00169 XMLCh * mp_decodedDName;
00170 XERCES_CPP_NAMESPACE_QUALIFIER DOMNode
00171 * mp_keyNameTextNode;
00172
00173 };
00174
00175
00176
00177 #endif