void GameLauncher::gameLoadCallback(CThread *thread, void *arg) { asynch_params_t *params = (asynch_params_t*)arg; const discHeader *header = params->hdr; int result = loadGameToMemory(header); //! emit signal and disconnected all connected listener if(params->asyncLoadFinished) { sigslot::signal2<const discHeader *, int> & asyncLoadFinished = *params->asyncLoadFinished; asyncLoadFinished(header, result); } delete params; }
void GameLauncher::executeThread() { int result = loadGameToMemory(discHdr); asyncLoadFinished(this, discHdr, result); }