Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/austingebauer/devise.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/nan/nan_object_wrap.h')
-rw-r--r--node_modules/nan/nan_object_wrap.h156
1 files changed, 0 insertions, 156 deletions
diff --git a/node_modules/nan/nan_object_wrap.h b/node_modules/nan/nan_object_wrap.h
deleted file mode 100644
index 78712f9..0000000
--- a/node_modules/nan/nan_object_wrap.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/*********************************************************************
- * NAN - Native Abstractions for Node.js
- *
- * Copyright (c) 2018 NAN contributors
- *
- * MIT License <https://github.com/nodejs/nan/blob/master/LICENSE.md>
- ********************************************************************/
-
-#ifndef NAN_OBJECT_WRAP_H_
-#define NAN_OBJECT_WRAP_H_
-
-class ObjectWrap {
- public:
- ObjectWrap() {
- refs_ = 0;
- }
-
-
- virtual ~ObjectWrap() {
- if (persistent().IsEmpty()) {
- return;
- }
-
- persistent().ClearWeak();
- persistent().Reset();
- }
-
-
- template <class T>
- static inline T* Unwrap(v8::Local<v8::Object> object) {
- assert(!object.IsEmpty());
- assert(object->InternalFieldCount() > 0);
- // Cast to ObjectWrap before casting to T. A direct cast from void
- // to T won't work right when T has more than one base class.
- void* ptr = GetInternalFieldPointer(object, 0);
- ObjectWrap* wrap = static_cast<ObjectWrap*>(ptr);
- return static_cast<T*>(wrap);
- }
-
-
- inline v8::Local<v8::Object> handle() const {
- return New(handle_);
- }
-
-
- inline Persistent<v8::Object>& persistent() {
- return handle_;
- }
-
-
- protected:
- inline void Wrap(v8::Local<v8::Object> object) {
- assert(persistent().IsEmpty());
- assert(object->InternalFieldCount() > 0);
- SetInternalFieldPointer(object, 0, this);
- persistent().Reset(object);
- MakeWeak();
- }
-
-#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \
- (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3))
-
- inline void MakeWeak() {
- persistent().v8::PersistentBase<v8::Object>::SetWeak(
- this, WeakCallback, v8::WeakCallbackType::kParameter);
-#if NODE_MAJOR_VERSION < 10
- // FIXME(bnoordhuis) Probably superfluous in older Node.js versions too.
- persistent().MarkIndependent();
-#endif
- }
-
-#elif NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION
-
- inline void MakeWeak() {
- persistent().v8::PersistentBase<v8::Object>::SetWeak(this, WeakCallback);
- persistent().MarkIndependent();
- }
-
-#else
-
- inline void MakeWeak() {
- persistent().persistent.MakeWeak(this, WeakCallback);
- persistent().MarkIndependent();
- }
-
-#endif
-
- /* Ref() marks the object as being attached to an event loop.
- * Refed objects will not be garbage collected, even if
- * all references are lost.
- */
- virtual void Ref() {
- assert(!persistent().IsEmpty());
- persistent().ClearWeak();
- refs_++;
- }
-
- /* Unref() marks an object as detached from the event loop. This is its
- * default state. When an object with a "weak" reference changes from
- * attached to detached state it will be freed. Be careful not to access
- * the object after making this call as it might be gone!
- * (A "weak reference" means an object that only has a
- * persistent handle.)
- *
- * DO NOT CALL THIS FROM DESTRUCTOR
- */
- virtual void Unref() {
- assert(!persistent().IsEmpty());
- assert(!persistent().IsWeak());
- assert(refs_ > 0);
- if (--refs_ == 0)
- MakeWeak();
- }
-
- int refs_; // ro
-
- private:
- NAN_DISALLOW_ASSIGN_COPY_MOVE(ObjectWrap)
-#if defined(V8_MAJOR_VERSION) && (V8_MAJOR_VERSION > 4 || \
- (V8_MAJOR_VERSION == 4 && defined(V8_MINOR_VERSION) && V8_MINOR_VERSION >= 3))
-
- static void
- WeakCallback(v8::WeakCallbackInfo<ObjectWrap> const& info) {
- ObjectWrap* wrap = info.GetParameter();
- assert(wrap->refs_ == 0);
- wrap->handle_.Reset();
- delete wrap;
- }
-
-#elif NODE_MODULE_VERSION > NODE_0_10_MODULE_VERSION
-
- static void
- WeakCallback(v8::WeakCallbackData<v8::Object, ObjectWrap> const& data) {
- ObjectWrap* wrap = data.GetParameter();
- assert(wrap->refs_ == 0);
- assert(wrap->handle_.IsNearDeath());
- wrap->handle_.Reset();
- delete wrap;
- }
-
-#else
-
- static void WeakCallback(v8::Persistent<v8::Value> value, void *data) {
- ObjectWrap *wrap = static_cast<ObjectWrap*>(data);
- assert(wrap->refs_ == 0);
- assert(wrap->handle_.IsNearDeath());
- wrap->handle_.Reset();
- delete wrap;
- }
-
-#endif
- Persistent<v8::Object> handle_;
-};
-
-
-#endif // NAN_OBJECT_WRAP_H_