spring_ai_rs/ai_interface/callback/
data_dir.rs

1use 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}