mirror of
https://github.com/hpd840321/craftlabs-authorization-sdk.git
synced 2026-06-09 18:10:30 +08:00
feat(rust): split core library into activate/license/heartbeat modules with build.rs and C ABI tests
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
// 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()
|
||||
}
|
||||
Reference in New Issue
Block a user