From: <asf...@us...> - 2013-05-23 15:53:09
|
Revision: 58102 http://sourceforge.net/p/firebird/code/58102 Author: asfernandes Date: 2013-05-23 15:53:06 +0000 (Thu, 23 May 2013) Log Message: ----------- Make the master interface available in UDR. Modified Paths: -------------- firebird/trunk/examples/udr/UdrCppExample.cpp firebird/trunk/src/include/firebird/UdrCppEngine.h Modified: firebird/trunk/examples/udr/UdrCppExample.cpp =================================================================== --- firebird/trunk/examples/udr/UdrCppExample.cpp 2013-05-23 11:55:18 UTC (rev 58101) +++ firebird/trunk/examples/udr/UdrCppExample.cpp 2013-05-23 15:53:06 UTC (rev 58102) @@ -111,9 +111,6 @@ } -static IMaster* master = fb_get_master_interface(); - - //------------------------------------------------------------------------------ Modified: firebird/trunk/src/include/firebird/UdrCppEngine.h =================================================================== --- firebird/trunk/src/include/firebird/UdrCppEngine.h 2013-05-23 11:55:18 UTC (rev 58101) +++ firebird/trunk/src/include/firebird/UdrCppEngine.h 2013-05-23 15:53:06 UTC (rev 58102) @@ -515,9 +515,10 @@ { } - void* operator new(size_t size, const IRoutineMetadata* metadata) + void* operator new(size_t size, IMaster* master, const IRoutineMetadata* metadata) { Function* p = reinterpret_cast<Function*>(::new char[size]); + p->master = master; p->metadata = metadata; return p; } @@ -528,6 +529,7 @@ } public: + IMaster* master; const IRoutineMetadata* metadata; }; @@ -556,9 +558,10 @@ { } - void* operator new(size_t size, const IRoutineMetadata* metadata) + void* operator new(size_t size, IMaster* master, const IRoutineMetadata* metadata) { Procedure* p = reinterpret_cast<Procedure*>(::new char[size]); + p->master = master; p->metadata = metadata; return p; } @@ -569,6 +572,7 @@ } public: + IMaster* master; const IRoutineMetadata* metadata; }; @@ -597,9 +601,10 @@ { } - void* operator new(size_t size, const IRoutineMetadata* metadata) + void* operator new(size_t size, IMaster* master, const IRoutineMetadata* metadata) { Trigger* p = reinterpret_cast<Trigger*>(::new char[size]); + p->master = master; p->metadata = metadata; return p; } @@ -610,6 +615,7 @@ } public: + IMaster* master; const IRoutineMetadata* metadata; }; @@ -632,7 +638,7 @@ virtual ExternalFunction* FB_CARG newItem(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata) { - T* obj = new(metadata) Routine<T>; + T* obj = new(context->getMaster(), metadata) Routine<T>; obj->initialize(status, context); return obj; } @@ -657,7 +663,7 @@ virtual ExternalProcedure* FB_CARG newItem(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata) { - T* obj = new(metadata) Routine<T>; + T* obj = new(context->getMaster(), metadata) Routine<T>; obj->initialize(status, context); return obj; } @@ -681,7 +687,7 @@ virtual ExternalTrigger* FB_CARG newItem(IStatus* status, ExternalContext* context, const IRoutineMetadata* metadata) { - T* obj = new(metadata) Routine<T>; + T* obj = new(context->getMaster(), metadata) Routine<T>; obj->initialize(status, context); return obj; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |