use rialo_s_instruction::error::InstructionError;
use rialo_s_program_error::{PrintProgramError, ProgramError};
#[derive(Debug, Clone, PartialEq, Eq)]
#[repr(u32)]
pub enum FeatureManagementError {
Unauthorized = 0,
InvalidFeatureName = 1,
FeatureNotFound = 2,
InvalidTimeRange = 3,
SerializationError = 4,
DeserializationError = 5,
InvalidInstructionData = 6,
InternalError = 7,
DuplicateFeature = 8,
InvalidStorageAccount = 9,
AlreadyInitialized = 10,
NotInitialized = 11,
TimeOutOfRange = 12,
StickyCannotBecomeWindowed = 13,
StickyStartTimeBackward = 14,
EntryFrozen = 15,
StickyEntryNotRemovable = 16,
MaxFeatureCountExceeded = 17,
}
impl From<FeatureManagementError> for ProgramError {
fn from(e: FeatureManagementError) -> Self {
ProgramError::Custom(e as u32)
}
}
impl From<FeatureManagementError> for InstructionError {
fn from(e: FeatureManagementError) -> Self {
InstructionError::Custom(e as u32)
}
}
impl PrintProgramError for FeatureManagementError {
fn print<E>(&self) {}
}