use std::os::raw::c_int;
use objc2::MainThreadMarker;
unsafe extern "C" {
fn waterui_cef_initialize_macos_application() -> c_int;
fn waterui_cef_macos_application_is_active() -> c_int;
}
pub fn initialize_macos_application() {
assert!(
MainThreadMarker::new().is_some(),
"the CEF macOS application must be initialized on the main thread"
);
assert_ne!(
unsafe { waterui_cef_initialize_macos_application() },
0,
"CEF must install its NSApplication subclass before another framework creates NSApplication"
);
}
pub fn assert_macos_application_active() {
assert_ne!(
unsafe { waterui_cef_macos_application_is_active() },
0,
"CEF requires a CefAppProtocol NSApplication subclass before runtime initialization"
);
}