// TestITN_CHS.h : Declaration of the CTestITN_CHS #ifndef __TESTITN_CHS_H_ #define __TESTITN_CHS_H_ #include "resource.h" // main symbols #include // for swprintf() ///////////////////////////////////////////////////////////////////////////// // CTestITN_CHS class ATL_NO_VTABLE CTestITN_CHS : public CComObjectRootEx, public CComCoClass, public ISpCFGInterpreter { public: CTestITN_CHS() : m_pSite( NULL ) { } DECLARE_REGISTRY_RESOURCEID(IDR_TESTITN_CHS) DECLARE_PROTECT_FINAL_CONSTRUCT() BEGIN_COM_MAP(CTestITN_CHS) COM_INTERFACE_ENTRY(ISpCFGInterpreter) END_COM_MAP() // ISpCFGInterptreter public: STDMETHODIMP InitGrammar(const WCHAR * pszGrammarName, const void ** pvGrammarData); STDMETHODIMP Interpret(ISpPhraseBuilder * pInterpretRule, const ULONG ulFirstElement, const ULONG ulCountOfElements, ISpCFGInterpreterSite * pSite); private: ISpCFGInterpreterSite *m_pSite; HRESULT AddPropertyAndReplacement( const WCHAR *szBuff, const DOUBLE dblValue, const ULONG ulMinPos, const ULONG ulMaxPos, const ULONG ulFirstElement, const ULONG ulCountOfElements); public: CComPtr m_cpPhrase; // Decalred as a member to prevent repeated construct/destroy }; #endif //__TESTITN_CHS_H_