| 6 | namespace skr::gui |
| 7 | { |
| 8 | void SkrResourceDevice::init() |
| 9 | { |
| 10 | // initialize services |
| 11 | { |
| 12 | std::error_code ec = {}; |
| 13 | auto resourceRoot = (skr::filesystem::current_path(ec) / "../resources"); |
| 14 | auto u8ResourceRoot = resourceRoot.u8string(); |
| 15 | skr_vfs_desc_t vfs_desc = {}; |
| 16 | vfs_desc.mount_type = SKR_MOUNT_TYPE_CONTENT; |
| 17 | vfs_desc.override_mount_dir = u8ResourceRoot.c_str(); |
| 18 | _vfs = skr_create_vfs(&vfs_desc); |
| 19 | } |
| 20 | { |
| 21 | auto ioServiceDesc = make_zeroed<skr_ram_io_service_desc_t>(); |
| 22 | ioServiceDesc.name = SKR_UTF8("GUI-IRAMService"); |
| 23 | ioServiceDesc.sleep_time = 1000 / 60; |
| 24 | _ram_service = skr_io_ram_service_t::create(&ioServiceDesc); |
| 25 | _ram_service->run(); |
| 26 | } |
| 27 | { |
| 28 | auto jqDesc = make_zeroed<skr::JobQueueDesc>(); |
| 29 | jqDesc.thread_count = 2; |
| 30 | jqDesc.priority = SKR_THREAD_NORMAL; |
| 31 | jqDesc.name = u8"GDIApp-JobQueue"; |
| 32 | _job_queue = SkrNew<skr::JobQueue>(jqDesc); |
| 33 | _future_launcher = SkrNew<FutureLauncher<bool>>(_job_queue); |
| 34 | } |
| 35 | } |
| 36 | void SkrResourceDevice::shutdown() |
| 37 | { |
| 38 | if (_future_launcher) SkrDelete(_future_launcher); |
nothing calls this directly
no test coverage detected