use std::collections::HashMap;
use num_complex::Complex64;
use super::api::VecInfoAll;
#[allow(unused)]
pub trait NgSpiceSharedCallback {
fn send_char(&self, message: &str, ngspice_id: i32) -> i32;
fn send_stat(&self, message: &str, ngspice_id: i32) -> i32;
fn send_data(&self, actual_vector_values: HashMap<String, Complex64>, number_of_vectors: i32, ngspice_id: i32) -> i32;
fn send_init_data(&self, data: &VecInfoAll, ngspice_id: i32) -> i32;
fn get_vsrc_data(&self, voltage: &mut f64, time: f64, node: String, ngspice_id: i32) -> i32;
fn get_isrc_data(&self, current: &mut f64, time: f64, node: String, ngspice_id: i32) -> i32;
}
pub struct DefaultNgSpiceSharedCallback;
#[allow(unused)]
impl NgSpiceSharedCallback for DefaultNgSpiceSharedCallback {
fn send_char(&self, message: &str, ngspice_id: i32) -> i32 {
0
}
fn send_stat(&self, message: &str, ngspice_id: i32) -> i32 {
0
}
fn send_data(&self, actual_vector_values: HashMap<String, Complex64>, number_of_vectors: i32, ngspice_id: i32) -> i32 {
0
}
fn send_init_data(&self, data: &VecInfoAll, ngspice_id: i32) -> i32 {
0
}
fn get_vsrc_data(&self, voltage: &mut f64, time: f64, node: String, ngspice_id: i32) -> i32 {
0
}
fn get_isrc_data(&self, current: &mut f64, time: f64, node: String, ngspice_id: i32) -> i32 {
0
}
}