2
0

ScriptContextBase.h 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. //////////////////////////////////////////////////////////
  6. // Should we remove this??
  7. // ScriptContextBase.h is used by static lib shared between host and chakra. We need to keep
  8. // the size consistent and try not to change its size. We need to have matching mshtml.dll
  9. // if the size changed here.
  10. /////////////////////////////////////////////////////////
  11. #pragma once
  12. interface IActiveScriptDirect;
  13. namespace Js
  14. {
  15. class GlobalObject;
  16. class JavascriptLibrary;
  17. class ScriptContextBase
  18. {
  19. public:
  20. ScriptContextBase():
  21. javascriptLibrary(nullptr),
  22. globalObject(nullptr),
  23. isClosed(false),
  24. pActiveScriptDirect(nullptr) {}
  25. JavascriptLibrary* GetLibrary() const { return javascriptLibrary; }
  26. void SetLibrary(JavascriptLibrary* library) { javascriptLibrary = library;}
  27. void SetGlobalObject(GlobalObject *globalObject);
  28. GlobalObject* GetGlobalObject() const { return globalObject; }
  29. IActiveScriptDirect* GetActiveScriptDirect()
  30. {
  31. return this->pActiveScriptDirect;
  32. }
  33. void SetActiveScriptDirect(IActiveScriptDirect* pActiveScriptDirect)
  34. {
  35. this->pActiveScriptDirect = pActiveScriptDirect;
  36. }
  37. protected:
  38. JavascriptLibrary* javascriptLibrary;
  39. GlobalObject* globalObject;
  40. bool isClosed;
  41. IActiveScriptDirect* pActiveScriptDirect;
  42. };
  43. }