use error::{ErrorKind, Result};
use odpi::externs;
use odpi::opaque::ODPIObjectAttr;
use odpi::structs::ODPIObjectAttrInfo;
#[derive(Clone, Debug)]
pub struct ObjectAttr {
inner: *mut ODPIObjectAttr,
}
impl ObjectAttr {
#[doc(hidden)]
pub fn inner(&self) -> *mut ODPIObjectAttr {
self.inner
}
pub fn get_info(&self) -> Result<ODPIObjectAttrInfo> {
let mut object_attr_info: ODPIObjectAttrInfo = Default::default();
try_dpi!(
externs::dpiObjectAttr_getInfo(self.inner, &mut object_attr_info),
Ok(object_attr_info),
ErrorKind::ObjectType("dpiObjectAttr_getInfo".to_string())
)
}
pub fn release(&self) -> Result<()> {
try_dpi!(
externs::dpiObjectAttr_release(self.inner),
Ok(()),
ErrorKind::ObjectType("dpiObjectAttr_release".to_string())
)
}
}
impl From<*mut ODPIObjectAttr> for ObjectAttr {
fn from(oot: *mut ODPIObjectAttr) -> Self {
Self { inner: oot }
}
}