00001 00010 #ifndef __CERTREFERENCE_H__ 00011 #define __CERTREFERENCE_H__ 00012 00013 00014 #include "PKIFSCVPDLL.h" 00015 #include "PKIFdll.h" 00016 00017 00018 // forward declarations 00019 struct CPKIFCertReferenceImpl; 00020 00021 00022 FD_SMART_PTR(CPKIFACReference); 00023 FD_SMART_PTR(CPKIFPKCReference); 00024 FD_SMART_PTR(CPKIFBuffer); 00025 00026 enum CERTREFERENCES {CERTREFERENCES_PKC,CERTREFERENCES_AC, CERTREFERENCES_NONE}; 00027 00033 class PKIFSCVP_API CPKIFCertReference 00034 { 00035 public: 00036 CPKIFCertReference(); 00037 CPKIFCertReference(const CPKIFBufferPtr&); 00038 virtual ~CPKIFCertReference(void); 00039 00040 //required field 00041 void SetPKC(CPKIFPKCReferencePtr& pkc); 00042 const CPKIFPKCReferencePtr GetPKC() const; 00043 00044 //required field 00045 void SetAC(CPKIFACReferencePtr& ac); 00046 const CPKIFACReferencePtr GetAC() const; 00047 00048 CERTREFERENCES GetCertRefType(); 00049 00050 private: 00052 CPKIFCertReference(const CPKIFCertReference& copy); 00054 CPKIFCertReference& operator=(const CPKIFCertReference& rhs); 00055 00056 struct CPKIFCertReferenceImpl *m_impl; 00057 }; 00058 DECLARE_SMART_POINTERS(CPKIFCertReference); 00059 00060 //typedef std::vector<CPKIFCertReferencePtr> CPKIFCertReferenceList; 00061 //DECLARE_SMART_POINTERS(CPKIFCertReferenceList); 00062 #endif //__CERTREFERENCE_H__