extern crate self as lingxia;
pub use host_addon::{HostAddon, register_host_addon};
pub use lingxia_native_macros::native;
pub use lxapp::host;
pub use lxapp::host::{ChannelContext, ChannelMessage, StreamContext};
pub use lxapp::{LxApp, LxAppSecurityPrivilege};
pub mod app;
pub use app::{lingxia_id, product_version};
mod applink;
mod bootstrap;
mod capabilities;
#[cfg(feature = "devtool")]
pub mod dev {
pub use crate::devtool::{
LxAppDevConfig, LxAppDevIdentity, LxAppDevPageInfo, install_lxapp_dev_config,
install_lxapp_dev_config_from_env, lxapp_dev_page_back, lxapp_dev_page_click,
lxapp_dev_page_current, lxapp_dev_page_eval, lxapp_dev_page_fill, lxapp_dev_page_info,
lxapp_dev_page_input_supported, lxapp_dev_page_list, lxapp_dev_page_press,
lxapp_dev_page_query, lxapp_dev_page_type,
};
}
#[cfg(feature = "devtool")]
mod devtool;
mod error;
pub mod file;
mod host_addon;
#[cfg(feature = "standard")]
pub mod js;
mod logging;
pub mod media;
pub mod provider;
pub mod task;
#[cfg(feature = "terminal-runtime")]
pub mod terminal {
pub use lingxia_terminal::{
BackendStatus, TerminalBackend, ghostty_available, ghostty_status, ghostty_status_json,
terminal_close, terminal_create, terminal_exited, terminal_read, terminal_resize,
terminal_snapshot, terminal_write,
};
}
pub mod update;
pub use error::{Error, Result};
pub mod log {
pub use crate::logging::{DownstreamLoggerError, register_downstream_logger};
pub use ::log::{debug, error, info, trace, warn};
pub use lingxia_log::{
AttachedLogStream, LogLevel, LogMessage, LogStreamError, LogTag, attach_log_stream,
attach_log_stream_default,
};
}
#[cfg(target_os = "android")]
#[path = "ffi/android.rs"]
pub mod android;
#[cfg(any(target_os = "ios", target_os = "macos"))]
#[path = "ffi/apple.rs"]
pub mod apple;
#[cfg(target_env = "ohos")]
#[path = "ffi/harmony.rs"]
pub mod harmony;
pub(crate) mod browser;
pub(crate) mod push;
pub(crate) use bootstrap::init_with_platform;