Index: fxjse/runtime.h |
diff --git a/fxjse/runtime.h b/fxjse/runtime.h |
index e3b4113a50c0bc1ec051d37ae63df3445962c41c..ff3be3a5210945a84a14104d2d3f10c748bd18a5 100644 |
--- a/fxjse/runtime.h |
+++ b/fxjse/runtime.h |
@@ -16,6 +16,8 @@ class CFXJSE_RuntimeList; |
class CFXJSE_RuntimeData { |
public: |
+ ~CFXJSE_RuntimeData(); |
+ |
static CFXJSE_RuntimeData* Get(v8::Isolate* pIsolate); |
v8::Isolate* m_pIsolate; |
@@ -23,22 +25,28 @@ class CFXJSE_RuntimeData { |
v8::Global<v8::Context> m_hRootContext; |
protected: |
+ explicit CFXJSE_RuntimeData(v8::Isolate* pIsolate); |
+ |
static CFXJSE_RuntimeData* Create(v8::Isolate* pIsolate); |
- CFXJSE_RuntimeData(v8::Isolate* pIsolate) : m_pIsolate(pIsolate) {} |
- CFXJSE_RuntimeData(); |
- CFXJSE_RuntimeData(const CFXJSE_RuntimeData&); |
- CFXJSE_RuntimeData& operator=(const CFXJSE_RuntimeData&); |
+ |
+ private: |
+ CFXJSE_RuntimeData(const CFXJSE_RuntimeData&) = delete; |
+ CFXJSE_RuntimeData& operator=(const CFXJSE_RuntimeData&) = delete; |
}; |
class CFXJSE_IsolateTracker { |
public: |
typedef void (*DisposeCallback)(v8::Isolate*, bool bOwnedIsolate); |
- static CFXJSE_IsolateTracker* g_pInstance; |
+ |
+ CFXJSE_IsolateTracker(); |
+ ~CFXJSE_IsolateTracker(); |
void Append(v8::Isolate* pIsolate); |
void Remove(v8::Isolate* pIsolate, DisposeCallback lpfnDisposeCallback); |
void RemoveAll(DisposeCallback lpfnDisposeCallback); |
+ static CFXJSE_IsolateTracker* g_pInstance; |
+ |
protected: |
std::vector<v8::Isolate*> m_OwnedIsolates; |
}; |