interface
| 1325 | |
| 1326 | // interface |
| 1327 | int asCScriptEngine::SetMessageCallback(const asSFuncPtr &callback, void *obj, asDWORD callConv) |
| 1328 | { |
| 1329 | msgCallback = true; |
| 1330 | msgCallbackObj = obj; |
| 1331 | msgCallbackOriginalFuncPtr = callback; |
| 1332 | msgCallbackOriginalCallConv = callConv; |
| 1333 | bool isObj = false; |
| 1334 | if( (unsigned)callConv == asCALL_GENERIC || (unsigned)callConv == asCALL_THISCALL_OBJFIRST || (unsigned)callConv == asCALL_THISCALL_OBJLAST ) |
| 1335 | { |
| 1336 | msgCallback = false; |
| 1337 | return asNOT_SUPPORTED; |
| 1338 | } |
| 1339 | if( (unsigned)callConv >= asCALL_THISCALL ) |
| 1340 | { |
| 1341 | isObj = true; |
| 1342 | if( obj == 0 ) |
| 1343 | { |
| 1344 | msgCallback = false; |
| 1345 | return asINVALID_ARG; |
| 1346 | } |
| 1347 | } |
| 1348 | int r = DetectCallingConvention(isObj, callback, callConv, 0, &msgCallbackFunc); |
| 1349 | if( r < 0 ) msgCallback = false; |
| 1350 | return r; |
| 1351 | } |
| 1352 | |
| 1353 | // interface |
| 1354 | int asCScriptEngine::ClearMessageCallback() |