Added #if defined guard for V8_3_14 to allow users from the original SWIG v8 implementation to continue using the new changes. It works similarly to the BUILDING_NODE_EXTENSION in all but two places. This define must be explicitly set by users because there is no way to auto detect. (Perhaps a command line switch can be added to generate this on request?)

This commit is contained in:
Eric Wing 2013-08-07 15:11:49 -07:00 committed by Oliver Buchtala
commit d5df0bb721
2 changed files with 17 additions and 17 deletions

View file

@ -112,14 +112,14 @@ fail:
%fragment ("js_dtor", "templates")
%{
#ifdef BUILDING_NODE_EXTENSION
#if defined(BUILDING_NODE_EXTENSION) || defined(V8_3_14)
void $jswrapper(v8::Persistent< v8::Value > object, void *parameter)
#else
void $jswrapper(v8::Isolate *isolate, v8::Persistent< v8::Object > * object, SWIGV8_Proxy *proxy)
#endif
{
#ifdef BUILDING_NODE_EXTENSION
#if defined(BUILDING_NODE_EXTENSION) || defined(V8_3_14)
SWIGV8_Proxy *proxy = static_cast<SWIGV8_Proxy *>(parameter);
#endif
@ -132,7 +132,7 @@ void $jswrapper(v8::Isolate *isolate, v8::Persistent< v8::Object > * object, SWI
delete proxy;
#ifdef BUILDING_NODE_EXTENSION
#if defined(BUILDING_NODE_EXTENSION) || defined(V8_3_14)
object.Clear();
object.Dispose();
#else
@ -281,7 +281,7 @@ fail:
%fragment("jsv8_define_class_template", "templates")
%{
v8::Handle<v8::FunctionTemplate> $jsmangledname_class = SWIGV8_CreateClassTemplate("$jsmangledname");
#ifdef BUILDING_NODE_EXTENSION
#if defined(BUILDING_NODE_EXTENSION) || defined(V8_3_14)
$jsmangledname_clientData.class_templ = v8::Persistent<v8::FunctionTemplate>::New($jsmangledname_class);
#else
$jsmangledname_clientData.class_templ.Reset(v8::Isolate::GetCurrent(), $jsmangledname_class);
@ -300,7 +300,7 @@ fail:
%{
if (SWIGTYPE_p$jsbaseclass->clientdata && !(static_cast<SWIGV8_ClientData *>(SWIGTYPE_p$jsbaseclass->clientdata)->class_templ.IsEmpty()))
{
#ifdef BUILDING_NODE_EXTENSION
#if defined(BUILDING_NODE_EXTENSION) || defined(V8_3_14)
$jsmangledname_class->Inherit(static_cast<SWIGV8_ClientData *>(SWIGTYPE_p$jsbaseclass->clientdata)->class_templ);
#else
$jsmangledname_class->Inherit(
@ -431,7 +431,7 @@ fail:
%{
extern "C" {
#ifdef BUILDING_NODE_EXTENSION
#if defined(BUILDING_NODE_EXTENSION)
void $jsname_initialize(v8::Handle<v8::Object> global_obj, v8::Handle<v8::Object> /*module*/)
#else
void $jsname_initialize(v8::Handle<v8::Object> global_obj)
@ -443,7 +443,7 @@ void $jsname_initialize(v8::Handle<v8::Object> global_obj)
// a class template for creating proxies of undefined types
#ifdef BUILDING_NODE_EXTENSION
#if defined(BUILDING_NODE_EXTENSION) || defined(V8_3_14)
SWIGV8_SWIGTYPE_Proxy_class_templ = v8::Persistent<v8::FunctionTemplate>::New(SWIGV8_CreateClassTemplate("SwigProxy"));
#else
SWIGV8_SWIGTYPE_Proxy_class_templ.Reset(v8::Isolate::GetCurrent(), SWIGV8_CreateClassTemplate("SwigProxy"));
@ -475,7 +475,7 @@ void $jsname_initialize(v8::Handle<v8::Object> global_obj)
$jsv8registernspaces
}
#ifdef BUILDING_NODE_EXTENSION
#if defined(BUILDING_NODE_EXTENSION)
NODE_MODULE($jsname, $jsname_initialize);
#endif