// License state management use crate::{CraftContext, CraftResult, LicenseInfo}; use std::ptr; /// License state machine #[derive(Debug, PartialEq)] pub enum LicenseState { Uninitialized, Active, Expired, Released, } impl CraftContext { pub fn new() -> Self { CraftContext { dummy: 1 } } } pub fn check_license(_ctx: &CraftContext) -> CraftResult { crate::ok_result() } pub fn get_license_info(_ctx: &CraftContext) -> *mut LicenseInfo { let info = Box::new(LicenseInfo { is_licensed: 1, expiration_date: 0, feature_names: ptr::null(), feature_values: ptr::null(), feature_count: 0, }); Box::into_raw(info) } pub fn has_feature(_ctx: &CraftContext, _feature_name: &str) -> bool { true } pub fn release_license(_ctx: &mut CraftContext) -> CraftResult { crate::ok_result() }