Leaked source code of windows server 2003
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.

65 lines
1.1 KiB

  1. #ifndef _CACHEMANAGER_HXX_
  2. #define _CACHEMANAGER_HXX_
  3. #define MAX_CACHE_COUNT 10
  4. class CACHE_MANAGER
  5. {
  6. public:
  7. CACHE_MANAGER();
  8. ~CACHE_MANAGER();
  9. HRESULT
  10. Initialize(
  11. IMSAdminBase * pAdminBase
  12. );
  13. VOID
  14. Terminate(
  15. VOID
  16. );
  17. HRESULT
  18. AddNewCache(
  19. OBJECT_CACHE * pCache
  20. );
  21. HRESULT
  22. RemoveCache(
  23. OBJECT_CACHE * pCache
  24. );
  25. VOID
  26. FlushAllCaches(
  27. VOID
  28. );
  29. HRESULT
  30. MonitorDirectory(
  31. DIRMON_CONFIG * pDirmonConfig,
  32. CDirMonitorEntry ** ppDME
  33. );
  34. HRESULT
  35. HandleDirMonitorInvalidation(
  36. WCHAR * pszFilePath,
  37. BOOL fFlushAll
  38. );
  39. HRESULT
  40. HandleMetadataInvalidation(
  41. WCHAR * pszMetabasePath
  42. );
  43. private:
  44. CDirMonitor * _pDirMonitor;
  45. IMSAdminBase * _pAdminBase;
  46. OBJECT_CACHE * _Caches[ 10 ];
  47. };
  48. extern CACHE_MANAGER * g_pCacheManager;
  49. #endif