mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 23:34:24 +01:00
38 lines
756 B
Dart
38 lines
756 B
Dart
import 'package:toolbox/data/model/app/shell_func.dart';
|
|
|
|
enum SystemType {
|
|
linux._(linuxSign),
|
|
bsd._(bsdSign),
|
|
;
|
|
|
|
final String value;
|
|
|
|
const SystemType._(this.value);
|
|
|
|
static SystemType parse(String value) {
|
|
switch (value.trim()) {
|
|
case linuxSign:
|
|
return SystemType.linux;
|
|
case bsdSign:
|
|
return SystemType.bsd;
|
|
default:
|
|
// Fallback to linux
|
|
return SystemType.linux;
|
|
}
|
|
}
|
|
|
|
bool isSegmentsLenMatch(int len) => len == segmentsLen;
|
|
|
|
int get segmentsLen {
|
|
switch (this) {
|
|
case SystemType.linux:
|
|
return StatusCmdType.values.length;
|
|
case SystemType.bsd:
|
|
return BSDStatusCmdType.values.length;
|
|
}
|
|
}
|
|
}
|
|
|
|
const linuxSign = 'linux';
|
|
const bsdSign = 'bsd';
|