pub enum XbkuError {
HardwareNotSupported,
OperatingSystemNotSupported,
InvalidSourceList,
InvalidSource,
InvalidNetworkConnection,
InvalidNetworkConfiguration,
InvalidArguments,
NoError
}
pub enum XbkuCommand {
Help,
CheckForXbkuUpdates,
CheckForKernelUpdates,
CheckForKernelUpdatesAndNotifyCurrentUser,
ListOfAvailableMainlineKernels,
ListOfInstalledKernels,
InstallLatestMainlineKernel,
InstallLatestKernelUpdateForPointSeries,
InstallSpecificMainlineKernel,
RemoveSpecifiedKernel,
PurgeOlderDownloads,
DownloadPackageForSpecifiedKernel,
CleanApplicationCache,
Undefined,
InvalidCommand
}
impl XbkuCommand {
pub fn convert_string_to_enum(input: &str) -> XbkuCommand {
return match input{
"-h" | "--help" | "--h" => XbkuCommand::Help,
"--check-app-updates" | "--check-updates" | "--check-xbku-updates" | "--update-xbku" => XbkuCommand::CheckForXbkuUpdates,
"--check-kernel-update" | "--check-kernel" | "--kernel-check" | "-kc" | "--kc" => XbkuCommand::CheckForKernelUpdates,
"--check-kernel-updates-notify-current-user" | "--kernel-check-notify" | "--check-kernel-notify" => XbkuCommand::CheckForKernelUpdatesAndNotifyCurrentUser,
"--clean-application-cache" | "--clean-app-cache" | "--clean-cache" | "--clear-app-cache" | "--clear-cache" => XbkuCommand::CleanApplicationCache,
"--download-package" | "--download" | "--download-specific" => XbkuCommand::DownloadPackageForSpecifiedKernel,
"--install-latest-mainline" | "--install-latest-kernel" | "--install-latest" => XbkuCommand::InstallLatestMainlineKernel,
"--install-latest-point-update" | "--install-point-update" => XbkuCommand::InstallLatestKernelUpdateForPointSeries,
"--install-specific-kernel" | "--install-specific" => XbkuCommand::InstallSpecificMainlineKernel,
"--list-available-kernels" | "--list-available" | "--list-available-mainline" | "--list-mainline" => XbkuCommand::ListOfAvailableMainlineKernels,
"--list-installed-kernels" => XbkuCommand::ListOfInstalledKernels,
"--purge-old-kernels" | "--purge-legacy-kernels" | "--purge-older-kernels" | "--purge-downloads" => XbkuCommand::PurgeOlderDownloads,
"--remove" | "--remove-kernel" | "--purge-kernel" => XbkuCommand::RemoveSpecifiedKernel,
_=> XbkuCommand::Undefined
}
}
}
pub enum XbkuKernelVariants {
LowLatency,
Generic,
GenericLPAE,
Snapdragon,
Custom,
Undefined,
InvalidKernelVariant
}
impl XbkuKernelVariants{
pub fn convert_string_to_enum(input: &str) -> XbkuKernelVariants {
return match input {
"generic" => XbkuKernelVariants::Generic,
"lowlatency" => XbkuKernelVariants::LowLatency,
"lpae" => XbkuKernelVariants::GenericLPAE,
"qualcomm" | "snapdragon" => XbkuKernelVariants::Snapdragon,
_=> XbkuKernelVariants::Undefined
}
}
}