luaur_require/methods/
runtime_navigation_context_get_cache_key.rs1use crate::records::runtime_navigation_context::RuntimeNavigationContext;
2use core::ffi::{c_char, c_void};
3
4impl RuntimeNavigationContext {
5 pub fn get_cache_key(&self) -> Option<alloc::string::String> {
6 let config = unsafe { &*self.config };
7 if let Some(writer) = config.get_cache_key {
8 let initial_buffer_size = 256;
9 let safe_writer = unsafe {
10 core::mem::transmute::<unsafe extern "C" fn(*mut c_void, *mut c_void, *mut c_char, usize, *mut usize) -> crate::enums::luarequire_write_result::luarequire_WriteResult, extern "C" fn(*mut c_void, *mut c_void, *mut c_char, usize, *mut usize) -> crate::enums::luarequire_write_result::luarequire_WriteResult>(writer)
11 };
12 self.get_string_from_c_writer(safe_writer, initial_buffer_size)
13 } else {
14 None
15 }
16 }
17}