Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
2.2 KiB

  1. // ftuMain.H: Definition of CITIndexBuild
  2. #ifndef __FTUMAIN_H__
  3. #define __FTUMAIN_H__
  4. #include <verinfo.h>
  5. #include <itcc.h>
  6. #include <bfnew.h>
  7. class CITIndexBuild :
  8. public IITBuildCollect,
  9. public IPersistStreamInit,
  10. public IPersistFile,
  11. public CComObjectRoot,
  12. public CComCoClass<CITIndexBuild,&CLSID_IITIndexBuild>
  13. {
  14. public:
  15. CITIndexBuild();
  16. ~CITIndexBuild();
  17. BEGIN_COM_MAP(CITIndexBuild)
  18. COM_INTERFACE_ENTRY(IITBuildCollect)
  19. COM_INTERFACE_ENTRY(IPersistStreamInit)
  20. END_COM_MAP()
  21. DECLARE_REGISTRY (CLSID_IITIndexBuild,
  22. "ITIR.FTIBuild.4", "ITIR.FTIBuild", 0, THREADFLAGS_APARTMENT )
  23. public:
  24. STDMETHOD(SetConfigInfo)(IITDatabase *piitdb, VARARG vaParams);
  25. STDMETHOD(InitHelperInstance)(DWORD dwHelperObjInstance,
  26. IITDatabase *pITDatabase, DWORD dwCodePage,
  27. LCID lcid, VARARG vaDword, VARARG vaString);
  28. STDMETHOD(SetEntry)(LPCWSTR szDest, IITPropList *pPropList);
  29. STDMETHOD(Close)(void);
  30. STDMETHOD(GetTypeString)(LPWSTR pPrefix, DWORD *pLength);
  31. STDMETHOD(SetBuildStats)(ITBuildObjectControlInfo &itboci)
  32. { return E_NOTIMPL;}
  33. // IPersistStreamInit methods
  34. STDMETHOD(GetClassID)(CLSID *pClsID);
  35. STDMETHOD(IsDirty)(void);
  36. STDMETHOD(Load)(IStream *pStm);
  37. STDMETHOD(Save)(IStream *pStm, BOOL fClearDirty);
  38. STDMETHOD(InitNew)(void);
  39. STDMETHOD(GetSizeMax)(ULARGE_INTEGER *pcbSize);
  40. // IPersistFile methods
  41. STDMETHOD(Load)(LPCWSTR pszFileName, DWORD dwMode);
  42. STDMETHOD(Save)(LPCWSTR pszFileName, BOOL fRemember);
  43. STDMETHOD(SaveCompleted)(LPCWSTR pszFileName);
  44. STDMETHOD(GetCurFile)(LPWSTR *ppszFileName);
  45. private:
  46. STDMETHOD(SendTextToBreaker)(void);
  47. IWordSink *m_piWordSink;
  48. IWordBreaker *m_piwb;
  49. IWordBreakerConfig *m_piwbConfig;
  50. void *m_lpipb;
  51. BOOL m_fInitialized, m_fIsDirty;
  52. DWORD m_dwUID, m_dwVFLD, m_dwDType, m_dwWordCount, m_dwCodePage;
  53. DWORD m_dwOccFlags;
  54. LPBF m_lpbfText; // Index text buffer
  55. }; /* class CITIndexBuild */
  56. // Defines ********************************************************************
  57. // Type Definitions ***********************************************************
  58. // Function Prototypes ********************************************************
  59. #endif /* __FTUMAIN_H__ */