summaryrefslogtreecommitdiff
path: root/fxjse/runtime.h
diff options
context:
space:
mode:
Diffstat (limited to 'fxjse/runtime.h')
-rw-r--r--fxjse/runtime.h18
1 files changed, 13 insertions, 5 deletions
diff --git a/fxjse/runtime.h b/fxjse/runtime.h
index e3b4113a50..ff3be3a521 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;
};