spring_ai_rs/ai_interface/callback/
data_dir.rs1use std::{error::Error, ffi::CStr};
2
3use crate::{ai_interface::AIInterface, get_callback};
4
5impl AIInterface {
6 pub fn config_dir(&self) -> Result<String, Box<dyn Error>> {
7 let get_config_dir = get_callback!(self.ai_id, DataDirs_getConfigDir)?;
8 Ok(String::from(
9 unsafe { CStr::from_ptr(get_config_dir(self.ai_id)) }.to_str()?,
10 ))
11 }
12
13 pub fn writeable_dir(&self) -> Result<String, Box<dyn Error>> {
14 let get_writeable_dir = get_callback!(self.ai_id, DataDirs_getWriteableDir)?;
15 Ok(String::from(
16 unsafe { CStr::from_ptr(get_writeable_dir(self.ai_id)) }.to_str()?,
17 ))
18 }
19}