new: pve ctrl (#307)

This commit is contained in:
lollipopkit
2024-03-19 01:00:28 -06:00
parent 2597f99571
commit 48fdf4cc84
4 changed files with 331 additions and 123 deletions

View File

@@ -58,12 +58,20 @@ sealed class PveResIface {
}
}
final class PveLxc extends PveResIface {
abstract interface class PveCtrlIface {
String get node;
String get id;
bool get isRunning;
String get summary;
}
final class PveLxc extends PveResIface implements PveCtrlIface {
@override
final String id;
@override
final PveResType type;
final int vmid;
@override
final String node;
final String name;
@override
@@ -122,9 +130,11 @@ final class PveLxc extends PveResIface {
);
}
@override
bool get isRunning => status == 'running';
String get topRight {
@override
String get summary {
if (isRunning) {
return uptime.secondsToDuration().toStr;
}
@@ -132,12 +142,13 @@ final class PveLxc extends PveResIface {
}
}
final class PveQemu extends PveResIface {
final class PveQemu extends PveResIface implements PveCtrlIface {
@override
final String id;
@override
final PveResType type;
final int vmid;
@override
final String node;
final String name;
@override
@@ -196,9 +207,11 @@ final class PveQemu extends PveResIface {
);
}
@override
bool get isRunning => status == 'running';
String get topRight {
@override
String get summary {
if (isRunning) {
return uptime.secondsToDuration().toStr;
}