// Encrypt.h : Declaration of the CEncrypt #ifndef __ENCRYPT_H_ #define __ENCRYPT_H_ #include "resource.h" // main symbols #include #include "../common/cmptdata.h" #include "ActionEngine.h" #include "../common/interfaces.h" #include "EncryptActions.h" ///////////////////////////////////////////////////////////////////////////// // CEncrypt class ATL_NO_VTABLE CEncrypt : public CComObjectRootEx, public CComCoClass, public ISupportErrorInfo, public IDispatchImpl, public IObjectWithSiteImpl, public ISpecifyPropertyPagesImplEx { public: CEncrypt() { m_bDisablePassword = false; } ~CEncrypt() { try { if(m_bDisablePassword && (m_xpyPass != NULL)) m_xpyPass->Disable(); } catch(_com_error&) { } ATLTRACE(_T("Destroying Backup\n")); } DECLARE_REGISTRY_RESOURCEID(IDR_ENCRYPT) DECLARE_PROTECT_FINAL_CONSTRUCT() BEGIN_COM_MAP(CEncrypt) COM_INTERFACE_ENTRY(ISecureShutdownWin) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(ISupportErrorInfo) COM_INTERFACE_ENTRY(IObjectWithSite) COM_INTERFACE_ENTRY(ISpecifyPropertyPages) END_COM_MAP() virtual ATL_PROPMAP_ENTRY* GetPropertyMap() { static ATL_PROPMAP_ENTRY pNormalPropMap[] = { PROP_PAGE(CLSID_EncryptSourceProp) {NULL, 0, NULL, &IID_NULL, 0, 0, 0} }; static ATL_PROPMAP_ENTRY pAdvancedPropMap[] = { PROP_PAGE(CLSID_EncryptSourceProp) PROP_PAGE(CLSID_EncryptAdvancedProp) {NULL, 0, NULL, &IID_NULL, 0, 0, 0} }; INightSecSiteInfoPtr pInfo = (IUnknown*)m_spUnkSite; if(pInfo) { CComVariant var; pInfo->get_Info(nsAdvanced, &var); if(var.vt == VT_BOOL && var.bVal == TRUE) return pAdvancedPropMap; } return pNormalPropMap; } // ISupportsErrorInfo STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid); // ISecureShutdownWin public: STDMETHOD(get_Info)(/*[in]*/ NightSecInfo nsItem, /*[out, retval]*/ VARIANT* pvVal); STDMETHOD(DoShutdown)(/*[in]*/ long hParent, /*[in]*/ long lMode); STDMETHOD(SetData)(/*[in]*/ IUnknown* pUnk); protected: CPropertyBag m_Data; CActionEngine m_Engine; bool m_bDisablePassword; IXpyPassUIPtr m_xpyPass; }; #endif //__ENCRYPT_H_