wdext 0.1.0

A DbgEng wrapper framework
// SPDX-FileCopyrightText: 2026 takubokudori
// SPDX-License-Identifier: MIT OR Apache-2.0
use crate::{
    dbgeng::WinResult,
    dbgmodel::{data_model_manager::DataModelManager, host::DebugHost},
    *,
};
use windows::Win32::System::Diagnostics::Debug::Extensions::IHostDataModelAccess;

impl_debug_interface!(
    HostDataModelAccess,
    HostDataModelAccessRef,
    IHostDataModelAccess
);

impl HostDataModelAccess {
    pub fn get_data_model(&self) -> WinResult<(DataModelManager, DebugHost)> {
        unsafe {
            let mut manager = None;
            let mut host = None;
            self.0.GetDataModel(&mut manager, &mut host)?;

            Ok((manager.unwrap().into(), host.unwrap().into()))
        }
    }
}