00001 00009 #ifndef __CONTENTINFO_H__ 00010 #define __CONTENTINFO_H__ 00011 00012 #include "PKIFCMSDLL.h" 00013 #include "components.h" 00014 #include "ContentType.h" 00015 00016 FD_SMART_PTR(CPKIFBuffer); 00017 FD_SMART_PTR(CPKIFOID); 00018 00028 class PKIFCMS_API CPKIFContentInfo : public CPKIFContentType 00029 { 00030 friend struct CPKIFContentInfoImpl; 00031 public: 00032 CPKIFContentInfo(); 00033 CPKIFContentInfo(const CPKIFOIDPtr& oid, const CPKIFBufferPtr& ciBuf); 00034 virtual ~CPKIFContentInfo(); 00035 00036 void SetContentType(CPKIFOIDPtr& contentType); 00037 CPKIFOIDPtr GetContentType() const; 00038 00039 void SetContent(CPKIFBufferPtr& content); 00040 CPKIFBufferPtr GetContent() const; 00041 00042 CPKIFBufferPtr Encode(); 00043 void Decode(CPKIFBufferPtr& buf); 00044 void Decode(const unsigned char* buf, int bufLen); 00045 00046 private: 00047 CPKIFContentInfo(const CPKIFContentInfo& copy); 00048 CPKIFContentInfo& operator=(const CPKIFContentInfo& rhs); //added 4/6/2004 00049 00050 enum {thisComponent=TOOLKIT_MESSAGE_CONTENT_INFO}; 00051 00052 struct CPKIFContentInfoImpl *m_impl; 00053 }; 00054 DECLARE_SMART_POINTERS(CPKIFContentInfo); 00055 typedef std::vector<CPKIFContentInfoPtr, PKIFAlloc<CPKIFContentInfoPtr> > CPKIFContentInfoList; 00056 DECLARE_SMART_POINTERS(CPKIFContentInfoList); 00057 00058 //moved list manipulation macros to ToolkitUtils.h 00059 00060 #endif