use std::os::raw::{c_char, c_void};
use libc::{ptrdiff_t, size_t};
use crate::{Error, Result, core, sys, types};
use crate::core::{_InputArray, _OutputArray};
pub fn debug_mode() -> Result<bool> {
unsafe { sys::cvv_debugMode() }.into_result()
}
pub fn final_show() -> Result<()> {
unsafe { sys::cvv_finalShow() }.into_result()
}
pub fn final_show_1() -> Result<()> {
unsafe { sys::cvv_impl_finalShow() }.into_result()
}
pub fn get_debug_flag() -> Result<bool> {
unsafe { sys::cvv_impl_getDebugFlag() }.into_result()
}
pub fn set_debug_flag(active: bool) -> Result<()> {
unsafe { sys::cvv_setDebugFlag_bool(active) }.into_result()
}
pub struct FinalShowCaller {
#[doc(hidden)] pub(crate) ptr: *mut c_void
}
impl Drop for crate::cvv::FinalShowCaller {
fn drop(&mut self) {
unsafe { sys::cv_FinalShowCaller_delete(self.ptr) };
}
}
impl crate::cvv::FinalShowCaller {
#[inline(always)] pub fn as_raw_FinalShowCaller(&self) -> *mut c_void { self.ptr }
pub unsafe fn from_raw_ptr(ptr: *mut c_void) -> Self {
Self { ptr }
}
}
unsafe impl Send for FinalShowCaller {}
pub struct CallMetaData {
#[doc(hidden)] pub(crate) ptr: *mut c_void
}
impl Drop for crate::cvv::CallMetaData {
fn drop(&mut self) {
unsafe { sys::cv_CallMetaData_delete(self.ptr) };
}
}
impl crate::cvv::CallMetaData {
#[inline(always)] pub fn as_raw_CallMetaData(&self) -> *mut c_void { self.ptr }
pub unsafe fn from_raw_ptr(ptr: *mut c_void) -> Self {
Self { ptr }
}
}
unsafe impl Send for CallMetaData {}
impl CallMetaData {
pub fn default() -> Result<crate::cvv::CallMetaData> {
unsafe { sys::cvv_impl_CallMetaData_CallMetaData() }.into_result().map(|ptr| crate::cvv::CallMetaData { ptr })
}
pub fn new(file: &str, line: size_t, function: &str) -> Result<crate::cvv::CallMetaData> {
string_arg!(file);
string_arg!(function);
unsafe { sys::cvv_impl_CallMetaData_CallMetaData_const_char_X_size_t_const_char_X(file.as_ptr(), line, function.as_ptr()) }.into_result().map(|ptr| crate::cvv::CallMetaData { ptr })
}
pub fn to_bool(&mut self) -> Result<bool> {
unsafe { sys::cvv_impl_CallMetaData_operator_bool(self.as_raw_CallMetaData()) }.into_result()
}
}