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.

109 lines
2.8 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1991 - 1994.
  5. //
  6. // File: SKREP.HXX
  7. //
  8. // Contents: Search Key Repository
  9. //
  10. // Classes: CSearchKeyRepository
  11. //
  12. // History: 23-Sep-94 BartoszM Created.
  13. //
  14. //----------------------------------------------------------------------------
  15. #pragma once
  16. #include <plang.hxx>
  17. class CSourceMapper;
  18. class CRecognizer;
  19. //+---------------------------------------------------------------------------
  20. //
  21. // Class: CSearchKeyRepository
  22. //
  23. // Purpose: Key repository for the Search Engine
  24. //
  25. // History: 23-Sep-94 BartoszM Created.
  26. //
  27. //----------------------------------------------------------------------------
  28. class CSearchKeyRepository: public PKeyRepository
  29. {
  30. DECLARE_UNWIND;
  31. public:
  32. CSearchKeyRepository( CRecognizer& recog );
  33. ~CSearchKeyRepository() {}
  34. inline BOOL PutPropId ( PROPID pid );
  35. void PutKey( ULONG cNoiseWordsSkipped = 0 );
  36. void NextChunk (CSourceMapper& srcMapper);
  37. void GetBuffers( UINT** ppcbWordBuf,
  38. BYTE** ppbWordBuf, OCCURRENCE** ppocc );
  39. void GetSourcePosBuffers( ULONG** ppSrcPos, ULONG** ppSrcLen);
  40. void GetFlags ( BOOL** ppRange, CI_RANK** ppRank );
  41. inline void PutWorkId ( WORKID wid );
  42. virtual const ULONG GetFilteredBlockCount() const { return 0; }
  43. private:
  44. CKeyBuf _key;
  45. OCCURRENCE _occ;
  46. ULONG _srcPos;
  47. ULONG _srcLen;
  48. CSourceMapper* _pMapper;
  49. CRecognizer& _recog;
  50. };
  51. //+---------------------------------------------------------------------------
  52. //
  53. // Member: CSearchKeyRepository::NextChunk
  54. //
  55. // Synopsis: Advances to the next filter chunk
  56. //
  57. // History: 23-Sep-94 BartoszM Created.
  58. //
  59. //----------------------------------------------------------------------------
  60. inline void CSearchKeyRepository::NextChunk (CSourceMapper& srcMapper)
  61. {
  62. _pMapper = &srcMapper;
  63. }
  64. //+---------------------------------------------------------------------------
  65. //
  66. // Member: CSearchKeyRepository::PutPropID
  67. //
  68. // Arguments: [pid] -- Property ID
  69. //
  70. // History: 23-Sep-94 BartoszM Created.
  71. //
  72. //----------------------------------------------------------------------------
  73. inline BOOL CSearchKeyRepository::PutPropId( PROPID pid )
  74. {
  75. _key.SetPid( pid );
  76. return TRUE;
  77. }
  78. //+---------------------------------------------------------------------------
  79. //
  80. // Member: CSearchKeyRepository::PutWorkId
  81. //
  82. // Arguments: [wid] -- Work ID
  83. //
  84. // History: 23-Sep-94 BartoszM Created.
  85. //
  86. //----------------------------------------------------------------------------
  87. void CSearchKeyRepository::PutWorkId( WORKID wid )
  88. {
  89. }