|
@@ -3678,40 +3678,18 @@ public:
|
|
|
};
|
|
|
|
|
|
|
|
|
-
|
|
|
-// Override for when first parameter is const char*
|
|
|
-template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEngineConsoleCallbackHelper
|
|
|
+// Override for when first parameter is presumably a SimObject*, in which case A will be absorbed as the callback
|
|
|
+template<typename P1> struct _EngineConsoleExecCallbackHelper : public _BaseEngineConsoleCallbackHelper
|
|
|
{
|
|
|
- _EngineConsoleExecCallbackHelper( const char *callbackName )
|
|
|
- {
|
|
|
- mThis = NULL;
|
|
|
- mArgc = mInitialArgc = 1;
|
|
|
- mCallbackName = StringTable->insert(callbackName);
|
|
|
- }
|
|
|
+public:
|
|
|
|
|
|
- template< typename R >
|
|
|
- R call()
|
|
|
+ _EngineConsoleExecCallbackHelper( SimObject* pThis )
|
|
|
{
|
|
|
- if (Con::isMainThread())
|
|
|
- {
|
|
|
- ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
- return R( EngineUnmarshallData< R >()( _exec() ) );
|
|
|
- }
|
|
|
- else
|
|
|
- {
|
|
|
- SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc, NULL, false, &cb);
|
|
|
- evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
-
|
|
|
- Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
- return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
- }
|
|
|
+ mThis = pThis;
|
|
|
+ mArgc = mInitialArgc = 2;
|
|
|
+ mCallbackName = NULL;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
|
|
|
template< typename R, typename A >
|
|
|
R call( A a )
|
|
@@ -3719,23 +3697,23 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+1, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ CSTK.reserveValues(mArgc+0, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
+
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( _exec() ) );
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+1, NULL, false, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+0, NULL, true, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
+
|
|
|
|
|
|
- Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -3747,10 +3725,9 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+2, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ CSTK.reserveValues(mArgc+1, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( _exec() ) );
|
|
@@ -3758,14 +3735,13 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+2, NULL, false, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+1, NULL, true, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -3777,10 +3753,9 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+3, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ CSTK.reserveValues(mArgc+2, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
|
|
@@ -3789,15 +3764,14 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+3, NULL, false, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+2, NULL, true, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -3809,10 +3783,9 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+4, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ CSTK.reserveValues(mArgc+3, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -3822,16 +3795,15 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+4, NULL, false, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+3, NULL, true, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -3843,10 +3815,9 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+5, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ CSTK.reserveValues(mArgc+4, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -3857,17 +3828,16 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+5, NULL, false, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+4, NULL, true, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
|
EngineMarshallData( e, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -3879,10 +3849,9 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+6, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ CSTK.reserveValues(mArgc+5, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -3894,18 +3863,17 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+6, NULL, false, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+5, NULL, true, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
|
EngineMarshallData( e, mArgc, mArgv );
|
|
|
EngineMarshallData( f, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -3917,10 +3885,9 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+7, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ CSTK.reserveValues(mArgc+6, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -3933,11 +3900,10 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+7, NULL, false, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+6, NULL, true, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -3945,7 +3911,7 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
EngineMarshallData( f, mArgc, mArgv );
|
|
|
EngineMarshallData( g, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -3957,10 +3923,9 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+8, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ CSTK.reserveValues(mArgc+7, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -3974,11 +3939,10 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+8, NULL, false, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+7, NULL, true, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -3987,7 +3951,7 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
EngineMarshallData( g, mArgc, mArgv );
|
|
|
EngineMarshallData( h, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -3999,10 +3963,9 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+9, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ CSTK.reserveValues(mArgc+8, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4017,11 +3980,10 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+9, NULL, false, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+8, NULL, true, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4031,7 +3993,7 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
EngineMarshallData( h, mArgc, mArgv );
|
|
|
EngineMarshallData( i, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -4043,10 +4005,9 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+10, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ CSTK.reserveValues(mArgc+9, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4062,11 +4023,10 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+10, NULL, false, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+9, NULL, true, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4077,7 +4037,7 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
EngineMarshallData( i, mArgc, mArgv );
|
|
|
EngineMarshallData( j, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -4089,10 +4049,9 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+11, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ CSTK.reserveValues(mArgc+10, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4109,11 +4068,10 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+11, NULL, false, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+10, NULL, true, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4125,7 +4083,7 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
EngineMarshallData( j, mArgc, mArgv );
|
|
|
EngineMarshallData( k, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -4137,10 +4095,9 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+12, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ CSTK.reserveValues(mArgc+11, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4158,11 +4115,10 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+12, NULL, false, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+11, NULL, true, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
|
|
|
- EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4175,7 +4131,7 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
EngineMarshallData( k, mArgc, mArgv );
|
|
|
EngineMarshallData( l, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -4183,20 +4139,39 @@ template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEn
|
|
|
|
|
|
};
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-// Override for when first parameter is presumably a SimObject*, in which case A will be absorbed as the callback
|
|
|
-template<typename P1> struct _EngineConsoleExecCallbackHelper : public _BaseEngineConsoleCallbackHelper
|
|
|
+// Override for when first parameter is const char*
|
|
|
+template<> struct _EngineConsoleExecCallbackHelper<const char*> : public _BaseEngineConsoleCallbackHelper
|
|
|
{
|
|
|
-public:
|
|
|
+ _EngineConsoleExecCallbackHelper( const char *callbackName )
|
|
|
+ {
|
|
|
+ mThis = NULL;
|
|
|
+ mArgc = mInitialArgc = 1;
|
|
|
+ mCallbackName = StringTable->insert(callbackName);
|
|
|
+ }
|
|
|
|
|
|
- _EngineConsoleExecCallbackHelper( SimObject* pThis )
|
|
|
+ template< typename R >
|
|
|
+ R call()
|
|
|
{
|
|
|
- mThis = pThis;
|
|
|
- mArgc = mInitialArgc = 2;
|
|
|
- mCallbackName = NULL;
|
|
|
+ if (Con::isMainThread())
|
|
|
+ {
|
|
|
+ ConsoleStackFrameSaver sav; sav.save();
|
|
|
+ CSTK.reserveValues(mArgc, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+ return R( EngineUnmarshallData< R >()( _exec() ) );
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ SimConsoleThreadExecCallback cb;
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc, NULL, false, &cb);
|
|
|
+ evt->populateArgs(mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
+
|
|
|
+ Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
+ return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+
|
|
|
|
|
|
template< typename R, typename A >
|
|
|
R call( A a )
|
|
@@ -4204,23 +4179,23 @@ public:
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+0, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ CSTK.reserveValues(mArgc+1, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
-
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( _exec() ) );
|
|
|
}
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+0, NULL, true, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+1, NULL, false, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
-
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -4232,9 +4207,10 @@ public:
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+1, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ CSTK.reserveValues(mArgc+2, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( _exec() ) );
|
|
@@ -4242,13 +4218,14 @@ public:
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+1, NULL, true, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+2, NULL, false, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -4260,9 +4237,10 @@ public:
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+2, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ CSTK.reserveValues(mArgc+3, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
|
|
@@ -4271,14 +4249,15 @@ public:
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+2, NULL, true, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+3, NULL, false, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -4290,9 +4269,10 @@ public:
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+3, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ CSTK.reserveValues(mArgc+4, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4302,15 +4282,16 @@ public:
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+3, NULL, true, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+4, NULL, false, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -4322,9 +4303,10 @@ public:
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+4, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ CSTK.reserveValues(mArgc+5, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4335,16 +4317,17 @@ public:
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+4, NULL, true, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+5, NULL, false, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
|
EngineMarshallData( e, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -4356,9 +4339,10 @@ public:
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+5, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ CSTK.reserveValues(mArgc+6, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4370,17 +4354,18 @@ public:
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+5, NULL, true, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+6, NULL, false, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
|
EngineMarshallData( e, mArgc, mArgv );
|
|
|
EngineMarshallData( f, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -4392,9 +4377,10 @@ public:
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+6, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ CSTK.reserveValues(mArgc+7, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4407,10 +4393,11 @@ public:
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+6, NULL, true, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+7, NULL, false, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4418,7 +4405,7 @@ public:
|
|
|
EngineMarshallData( f, mArgc, mArgv );
|
|
|
EngineMarshallData( g, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -4430,9 +4417,10 @@ public:
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+7, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ CSTK.reserveValues(mArgc+8, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4446,10 +4434,11 @@ public:
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+7, NULL, true, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+8, NULL, false, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4458,7 +4447,7 @@ public:
|
|
|
EngineMarshallData( g, mArgc, mArgv );
|
|
|
EngineMarshallData( h, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -4470,9 +4459,10 @@ public:
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+8, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ CSTK.reserveValues(mArgc+9, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4487,10 +4477,11 @@ public:
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+8, NULL, true, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+9, NULL, false, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4500,7 +4491,7 @@ public:
|
|
|
EngineMarshallData( h, mArgc, mArgv );
|
|
|
EngineMarshallData( i, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -4512,9 +4503,10 @@ public:
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+9, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ CSTK.reserveValues(mArgc+10, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4530,10 +4522,11 @@ public:
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+9, NULL, true, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+10, NULL, false, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4544,7 +4537,7 @@ public:
|
|
|
EngineMarshallData( i, mArgc, mArgv );
|
|
|
EngineMarshallData( j, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -4556,9 +4549,10 @@ public:
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+10, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ CSTK.reserveValues(mArgc+11, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4575,10 +4569,11 @@ public:
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+10, NULL, true, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+11, NULL, false, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4590,7 +4585,7 @@ public:
|
|
|
EngineMarshallData( j, mArgc, mArgv );
|
|
|
EngineMarshallData( k, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -4602,9 +4597,10 @@ public:
|
|
|
if (Con::isMainThread())
|
|
|
{
|
|
|
ConsoleStackFrameSaver sav; sav.save();
|
|
|
- CSTK.reserveValues(mArgc+11, mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ CSTK.reserveValues(mArgc+12, mArgv);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4622,10 +4618,11 @@ public:
|
|
|
else
|
|
|
{
|
|
|
SimConsoleThreadExecCallback cb;
|
|
|
- SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+11, NULL, true, &cb);
|
|
|
+ SimConsoleThreadExecEvent *evt = new SimConsoleThreadExecEvent(mArgc+12, NULL, false, &cb);
|
|
|
evt->populateArgs(mArgv);
|
|
|
- mArgv[ 0 ].value->setStackStringValue(a);
|
|
|
+ mArgv[ 0 ].value->setStackStringValue(mCallbackName);
|
|
|
|
|
|
+ EngineMarshallData( a, mArgc, mArgv );
|
|
|
EngineMarshallData( b, mArgc, mArgv );
|
|
|
EngineMarshallData( c, mArgc, mArgv );
|
|
|
EngineMarshallData( d, mArgc, mArgv );
|
|
@@ -4638,7 +4635,7 @@ public:
|
|
|
EngineMarshallData( k, mArgc, mArgv );
|
|
|
EngineMarshallData( l, mArgc, mArgv );
|
|
|
|
|
|
- Sim::postEvent(mThis, evt, Sim::getCurrentTime());
|
|
|
+ Sim::postEvent(Sim::getRootGroup(), evt, Sim::getCurrentTime());
|
|
|
|
|
|
return R( EngineUnmarshallData< R >()( cb.waitForResult() ) );
|
|
|
}
|
|
@@ -4649,4 +4646,4 @@ public:
|
|
|
// Re-enable some VC warnings we disabled for this file.
|
|
|
#pragma warning( pop ) // 4510 and 4610
|
|
|
|
|
|
-#endif // !_ENGINEAPI_H_
|
|
|
+#endif // !_ENGINEAPI_H_
|