00001 00010 #if !defined(__CPKIFKEYAGREECONTEXTBASE_H__) 00011 #define __CPKIFKEYAGREECONTEXTBASE_H__ 00012 00013 #include "PKIFdll.h" 00014 #include "IPKIFKeyAgreeContext.h" 00015 00016 struct CPKIFKeyAgreeContextBaseImpl; 00017 00026 class CAC_API CAC_NO_VTABLE CPKIFKeyAgreeContextBase: public IPKIFKeyAgreeContext 00027 { 00028 public: 00029 CPKIFKeyAgreeContextBase(); 00030 virtual ~CPKIFKeyAgreeContextBase(); 00031 virtual void SetAlgorithm(const CPKIFAlgorithm * alg); 00032 virtual const CPKIFAlgorithm * GetAlgorithm() const; 00033 virtual void PrependSharedInfo(const CPKIFBufferPtr & data); 00034 virtual void AppendSharedInfo(const CPKIFBufferPtr & data); 00035 virtual CPKIFBufferList & GetPrependedSharedInfo() const; 00036 virtual CPKIFBufferList & GetAppendedSharedInfo() const; 00037 virtual void SetOwner(IPKIFCryptoKeyAgree * owner); 00038 virtual IPKIFCryptoKeyAgree * GetOwner() const; 00039 private: 00041 CPKIFKeyAgreeContextBase(const CPKIFKeyAgreeContextBase& copy); 00043 CPKIFKeyAgreeContextBase& operator=(const CPKIFKeyAgreeContextBase& rhs); 00044 00045 00046 struct CPKIFKeyAgreeContextBaseImpl * m_impl; 00047 }; 00048 00049 00050 00051 #endif