aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ManaTools/Shared/disk_backend.pm
diff options
context:
space:
mode:
authorMaarten Vanraes <alien@mageia.org>2016-05-15 01:33:13 +0200
committerMaarten Vanraes <alien@mageia.org>2016-05-15 01:33:13 +0200
commit8e837648693d3a807f6adce72eb69f804dbb916d (patch)
treee25f0aa3f125cf51c12d58e8fb4f35b1b8353cf4 /lib/ManaTools/Shared/disk_backend.pm
parent3506a829ca48a2b8cb4c7953fe199ed10ef18424 (diff)
downloadmanatools-8e837648693d3a807f6adce72eb69f804dbb916d.tar
manatools-8e837648693d3a807f6adce72eb69f804dbb916d.tar.gz
manatools-8e837648693d3a807f6adce72eb69f804dbb916d.tar.bz2
manatools-8e837648693d3a807f6adce72eb69f804dbb916d.tar.xz
manatools-8e837648693d3a807f6adce72eb69f804dbb916d.zip
PartitionTable: new system, add changedpart handler, implement diff
Diffstat (limited to 'lib/ManaTools/Shared/disk_backend.pm')
-rw-r--r--lib/ManaTools/Shared/disk_backend.pm34
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/ManaTools/Shared/disk_backend.pm b/lib/ManaTools/Shared/disk_backend.pm
index d42f6499..9491c42f 100644
--- a/lib/ManaTools/Shared/disk_backend.pm
+++ b/lib/ManaTools/Shared/disk_backend.pm
@@ -362,6 +362,40 @@ sub changedpart {
#=============================================================
+=head2 diff
+
+=head3 INPUT
+
+ $from: PartState (L, P, S)
+ $to: PartState (L, P, S)
+
+=head3 OUTPUT
+
+ list of translated strings explaining the differences
+
+=head3 DESCRIPTION
+
+ this method will call diff on all Parts with $from state on their $to counterpart.
+
+=cut
+
+#=============================================================
+sub diff {
+ my $self = shift;
+ my $from = shift;
+ my $to = shift;
+
+ my @res = ();
+ for my $part (grep {$_->is_state($from)} @{$self->parts}) {
+ for my $str ($part->diff($to)) {
+ push @res, $str;
+ }
+ }
+ return @res;
+}
+
+#=============================================================
+
=head2 probeio
=head3 OUTPUT