use crate::session::Session;
use crate::utility::macros::macros::get_function_result_pointer;
use crate::virtualbox::VirtualBox;
use crate::virtualbox_client::VirtualBoxClient;
use crate::VboxError;
use vbox_raw::sys_lib::{ISession, IVirtualBox};
impl VirtualBoxClient {
pub fn get_virtualbox(&self) -> Result<VirtualBox, VboxError> {
let vbox = get_function_result_pointer!(self.object, GetVirtualBox, *mut IVirtualBox)?;
Ok(VirtualBox::new(vbox))
}
pub fn get_session(&self) -> Result<Session, VboxError> {
let session = get_function_result_pointer!(self.object, GetSession, *mut ISession)?;
Ok(Session::new(session))
}
}