diff options
author | Maarten Vanraes <alien@mageia.org> | 2016-05-14 17:43:10 +0200 |
---|---|---|
committer | Maarten Vanraes <alien@mageia.org> | 2016-05-14 17:43:10 +0200 |
commit | 3506a829ca48a2b8cb4c7953fe199ed10ef18424 (patch) | |
tree | 2543dc83d6c6e905b4775affcf48900bd0dd2017 /lib | |
parent | a10b2a1f511e0389c8a3a63220410b942dde4e96 (diff) | |
download | manatools-3506a829ca48a2b8cb4c7953fe199ed10ef18424.tar manatools-3506a829ca48a2b8cb4c7953fe199ed10ef18424.tar.gz manatools-3506a829ca48a2b8cb4c7953fe199ed10ef18424.tar.bz2 manatools-3506a829ca48a2b8cb4c7953fe199ed10ef18424.tar.xz manatools-3506a829ca48a2b8cb4c7953fe199ed10ef18424.zip |
make a changedpart trigger for loading/probing/saving a part
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ManaTools/Shared/disk_backend.pm | 26 | ||||
-rw-r--r-- | lib/ManaTools/Shared/disk_backend/Part.pm | 7 | ||||
-rw-r--r-- | lib/ManaTools/Shared/disk_backend/Plugin.pm | 24 |
3 files changed, 57 insertions, 0 deletions
diff --git a/lib/ManaTools/Shared/disk_backend.pm b/lib/ManaTools/Shared/disk_backend.pm index 223d8082..d42f6499 100644 --- a/lib/ManaTools/Shared/disk_backend.pm +++ b/lib/ManaTools/Shared/disk_backend.pm @@ -336,6 +336,32 @@ sub probe { #============================================================= +=head2 changedpart + +=head3 INPUT + + $part: ManaTools::Shared::disk_backend::Part + $state: PartState (L, P, S) + +=head3 DESCRIPTION + + this method will call changedpart for all plugins, should only be called when a module is done with the changed part + +=cut + +#============================================================= +sub changedpart { + my $self = shift; + my $part = shift; + my $state = shift; + + for my $plugin (@{$self->plugins}) { + $plugin->changedpart($part, $state); + } +} + +#============================================================= + =head2 probeio =head3 OUTPUT diff --git a/lib/ManaTools/Shared/disk_backend/Part.pm b/lib/ManaTools/Shared/disk_backend/Part.pm index 4c293493..c88328ba 100644 --- a/lib/ManaTools/Shared/disk_backend/Part.pm +++ b/lib/ManaTools/Shared/disk_backend/Part.pm @@ -411,6 +411,13 @@ sub mkpart { return $part; } +sub changedpart { + my $self = shift; + my $partstate = shift; + my $db = $self->db(); + return $db->changedpart($self, $partstate); +} + has 'ins' => ( is => 'ro', isa => 'ManaTools::Shared::disk_backend::IOs', diff --git a/lib/ManaTools/Shared/disk_backend/Plugin.pm b/lib/ManaTools/Shared/disk_backend/Plugin.pm index ebd4a02f..7fb3155f 100644 --- a/lib/ManaTools/Shared/disk_backend/Plugin.pm +++ b/lib/ManaTools/Shared/disk_backend/Plugin.pm @@ -189,6 +189,30 @@ sub probe { #============================================================= +=head2 changedpart + +=head3 INPUT + + $part: ManaTools::Shared::disk_backend::Part + $state: PartState (L, P, S) + +=head3 DESCRIPTION + + this is a default method for announcing a changed Part, the idea is to override it if needed + +=cut + +#============================================================= +sub changedpart { + my $self = shift; + my $part = shift; + my $state = shift; + + 1; +} + +#============================================================= + =head2 loadio =head3 INPUT |