mirror of
https://github.com/hpd840321/craftlabs-authorization-sdk.git
synced 2026-06-10 02:20:28 +08:00
43 lines
875 B
Rust
43 lines
875 B
Rust
// 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()
|
|
}
|