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.

38 lines
983 B

  1. //******************************************************************************
  2. //
  3. // CLSCACHE.H
  4. //
  5. // Copyright (C) 1996-1999 Microsoft Corporation
  6. //
  7. //******************************************************************************
  8. #ifndef __WMI_ESS_CLASS_CACHE__H_
  9. #define __WMI_ESS_CLASS_CACHE__H_
  10. #include <parmdefs.h>
  11. #include <wbemcomn.h>
  12. #include <wbemint.h>
  13. #include <map>
  14. #include <wstlallc.h>
  15. class CEssNamespace;
  16. class CEssClassCache
  17. {
  18. protected:
  19. typedef std::map<WString,_IWmiObject*, WSiless, wbem_allocator<_IWmiObject*> > TClassMap;
  20. typedef TClassMap::iterator TIterator;
  21. TClassMap m_mapClasses;
  22. CEssNamespace* m_pNamespace;
  23. CCritSec m_cs;
  24. public:
  25. CEssClassCache(CEssNamespace* pNamespace) : m_pNamespace(pNamespace){}
  26. ~CEssClassCache();
  27. HRESULT GetClass( LPCWSTR wszClassName, IWbemContext* pContext,
  28. _IWmiObject** ppClass );
  29. HRESULT Clear();
  30. };
  31. #endif