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.

57 lines
1.5 KiB

  1. /*
  2. * S C R P T M P S . H
  3. *
  4. * Scriptmaps cacheing
  5. *
  6. * Copyright 1986-1997 Microsoft Corporation, All Rights Reserved
  7. */
  8. #ifndef _SCRPTMPS_H_
  9. #define _SCRPTMPS_H_
  10. // CLASS IScriptMap ----------------------------------------------------------
  11. //
  12. // NOTE: This interface must be "pure" -- can't use anything that is private
  13. // to DAVEX because ExINET re-implements this class on LocalStore installs.
  14. // For that reason, we pass in two pieces from CMethUtil, not the CMethUtil itself.
  15. //
  16. class IScriptMap : public IRefCounted
  17. {
  18. // NOT IMPLEMENTED
  19. //
  20. IScriptMap(const IScriptMap&);
  21. IScriptMap& operator=(IScriptMap&);
  22. protected:
  23. // CREATORS
  24. // Only create this object through it's descendents!
  25. //
  26. IScriptMap()
  27. {
  28. };
  29. public:
  30. // ScMatched
  31. // This is the workhorse of the scriptmap matching.
  32. // There are three possible returns here:
  33. // S_OK -- there was NO match in the scriptmaps
  34. // W_DAV_SCRIPTMAP_MATCH_FOUND -- There was a match.
  35. // W_DAV_SCRIPTMAP_MATCH_EXCLUDED -- There was a match,
  36. // but the current method is excluded.
  37. // This is important, because the ExINET metabase-replacement code
  38. // re-implements this function, and so the semantics must match!
  39. //
  40. virtual SCODE ScMatched (LPCWSTR pwszMethod,
  41. METHOD_ID midMethod,
  42. LPCWSTR pwszMap,
  43. DWORD dwAccess,
  44. BOOL * pfCGI) const = 0;
  45. virtual BOOL FSameStarScriptmapping (const IScriptMap *) const = 0;
  46. };
  47. IScriptMap *
  48. NewScriptMap( LPWSTR pwszScriptMaps );
  49. #endif // _SCRPTMPS_H_