| 1426 | } static g_compilationQueue; |
| 1427 | |
| 1428 | static void setupCallbacks() { |
| 1429 | Emu.SetCallbacks({ |
| 1430 | .call_from_main_thread = |
| 1431 | [](std::function<void()> cb, atomic_t<u32> *wake_up) { |
| 1432 | cb(); |
| 1433 | if (wake_up) { |
| 1434 | *wake_up = true; |
| 1435 | } |
| 1436 | }, |
| 1437 | .on_run = [](auto...) {}, |
| 1438 | .on_pause = [](auto...) {}, |
| 1439 | .on_resume = [](auto...) {}, |
| 1440 | .on_stop = [](auto...) {}, |
| 1441 | .on_ready = [](auto...) {}, |
| 1442 | .on_missing_fw = [](auto...) {}, |
| 1443 | .on_emulation_stop_no_response = [](auto...) {}, |
| 1444 | .on_save_state_progress = [](auto...) {}, |
| 1445 | .enable_disc_eject = [](auto...) {}, |
| 1446 | .enable_disc_insert = [](auto...) {}, |
| 1447 | .handle_taskbar_progress = [](auto...) {}, |
| 1448 | .init_kb_handler = |
| 1449 | [](auto...) { |
| 1450 | ensure(g_fxo->init<KeyboardHandlerBase, NullKeyboardHandler>( |
| 1451 | Emu.DeserialManager())); |
| 1452 | }, |
| 1453 | .init_mouse_handler = |
| 1454 | [](auto...) { |
| 1455 | ensure(g_fxo->init<MouseHandlerBase, NullMouseHandler>( |
| 1456 | Emu.DeserialManager())); |
| 1457 | }, |
| 1458 | .init_pad_handler = |
| 1459 | [](auto...) { |
| 1460 | ensure(g_fxo->init<named_thread<pad_thread>>(nullptr, nullptr, "")); |
| 1461 | }, |
| 1462 | .update_emu_settings = [](auto...) {}, |
| 1463 | .save_emu_settings = |
| 1464 | [](auto...) { |
| 1465 | Emulator::SaveSettings(g_cfg.to_string(), Emu.GetTitleID()); |
| 1466 | }, |
| 1467 | .close_gs_frame = [](auto...) {}, |
| 1468 | .get_gs_frame = [] { return std::make_unique<GraphicsFrame>(); }, |
| 1469 | .get_camera_handler = |
| 1470 | [](auto...) { return std::make_shared<null_camera_handler>(); }, |
| 1471 | .get_music_handler = |
| 1472 | [](auto...) { return std::make_shared<null_music_handler>(); }, |
| 1473 | .create_pad_handler = [](pad_handler type, void *thread, void *window) |
| 1474 | -> std::shared_ptr<PadHandlerBase> { |
| 1475 | switch (type) { |
| 1476 | case pad_handler::keyboard: |
| 1477 | case pad_handler::null: |
| 1478 | break; |
| 1479 | case pad_handler::ds3: |
| 1480 | return std::make_shared<ds3_pad_handler>(); |
| 1481 | case pad_handler::ds4: |
| 1482 | return std::make_shared<ds4_pad_handler>(); |
| 1483 | case pad_handler::dualsense: |
| 1484 | return std::make_shared<dualsense_pad_handler>(); |
| 1485 | case pad_handler::skateboard: |
no test coverage detected