Counter Strike : Global Offensive Source Code
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.

61 lines
1.3 KiB

  1. //========== Copyright � Valve Corporation, All rights reserved. ========
  2. #ifndef VJOBSINTERFACE_HDR
  3. #define VJOBSINTERFACE_HDR
  4. #include "appframework/iappsystem.h"
  5. #define VJOBS_INTERFACE_VERSION "VJobs01"
  6. #ifdef _PS3
  7. #define VJOBS_ON_SPURS 1
  8. #endif
  9. enum RunTargetEnum
  10. {
  11. RUN_TARGET_MAIN_CPU,
  12. RUN_TARGET_SATELLITE_CPU,
  13. RUN_TARGET_GPU
  14. };
  15. class VjobChain3;
  16. class VjobChain4;
  17. namespace job_fpcpatch
  18. {
  19. struct FpcPatchState_t;
  20. }
  21. namespace job_fpcpatch2
  22. {
  23. struct FpHeader_t;
  24. }
  25. struct VJobsRoot;
  26. struct VJobInstance
  27. {
  28. VJobInstance(): m_pRoot( NULL ){}
  29. VJobsRoot* m_pRoot;
  30. int m_nIncrementalVectorIndex; // this instance will be part of incremental vector
  31. virtual void OnVjobsInit() {} // gets called after m_pRoot was created and assigned
  32. virtual void OnVjobsShutdown() {} // gets called before m_pRoot is about to be destructed and NULL'ed
  33. };
  34. struct IVJobs: public IAppSystem
  35. {
  36. // this must be called right before unloading PRX for the purpose of immediately reloading it
  37. virtual void BeforeReload() = 0;
  38. virtual void AfterReload() = 0;
  39. virtual void SetRunTarget( RunTargetEnum nRunTarget ) = 0;
  40. // virtual void StartTest() = 0;
  41. virtual void Register( VJobInstance * pInstance ) = 0;
  42. virtual void Unregister( VJobInstance * pInstance ) = 0;
  43. virtual void DoNothing() = 0;
  44. };
  45. #endif