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.

49 lines
1.6 KiB

  1. #pragma once
  2. #include "stressharness.h"
  3. class CWfpJobManager;
  4. typedef enum {
  5. eWfpChangeDeleteFile, // Delete a single file
  6. eWfpChangeTouchFile, // Edit a single file
  7. eWfpChangeDeleteDirectory, // Delete entire directory
  8. eWfpChangeDeleteManifest, // Delete a manifest
  9. eWfpChangeDeleteCatalog, // Delete a catalog
  10. eWfpChangeCompleteHavoc // Wreck havoc!
  11. } eWfpChangeMode;
  12. class CWfpJobEntry : public CStressJobEntry
  13. {
  14. PRIVATIZE_COPY_CONSTRUCTORS(CWfpJobEntry);
  15. CSmallStringBuffer m_buffVictimAssemblyIdentity;
  16. CSmallStringBuffer m_buffManifestToInstall;
  17. eWfpChangeMode m_eChangeMode;
  18. DWORD m_dwPauseBetweenTwiddleAndUninstall;
  19. BOOL m_fUseShortnameDirectory;
  20. BOOL m_fUseShortnameFile;
  21. BOOL GenFileListFrom( PCWSTR pcwszPath, CFusionArray<CStringBuffer> &tgt );
  22. public:
  23. CWfpJobEntry( CStressJobManager *pManager ) : CStressJobEntry(pManager) { }
  24. virtual ~CWfpJobEntry();
  25. virtual BOOL LoadFromSettingsFile(PCWSTR pcwszSettingsFile);
  26. virtual BOOL RunTest( bool &rfTestPasses );
  27. virtual BOOL SetupSelfForRun();
  28. virtual BOOL Cleanup();
  29. };
  30. class CWfpJobManager : public CStressJobManager
  31. {
  32. PRIVATIZE_COPY_CONSTRUCTORS(CWfpJobManager);
  33. public:
  34. CWfpJobManager();
  35. ~CWfpJobManager();
  36. virtual PCWSTR GetGroupName() { return L"wfp"; }
  37. virtual PCWSTR GetIniFileName() { return L"wfp.ini"; }
  38. virtual BOOL CreateJobEntry( CStressJobEntry* &rpJobEntry );
  39. };