From f9f5271a4477f573b04ba5092dd09843f3c73ec9 Mon Sep 17 00:00:00 2001 From: Maarten Vanraes Date: Sat, 6 Aug 2016 13:44:42 +0200 Subject: disk_backend: find a specific plugin --- lib/ManaTools/Shared/disk_backend.pm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/lib/ManaTools/Shared/disk_backend.pm b/lib/ManaTools/Shared/disk_backend.pm index 199f76af..5be11fc9 100644 --- a/lib/ManaTools/Shared/disk_backend.pm +++ b/lib/ManaTools/Shared/disk_backend.pm @@ -589,6 +589,36 @@ sub walkplugins { #============================================================= +=head2 findplugin + +=head3 INPUT + + $name: Str + ... + +=head3 OUTPUT + + a Plugin or undef + +=head3 DESCRIPTION + + this method will return the first matching Plugin + +=cut + +#============================================================= +sub findplugin { + my $self = shift; + my $name = shift; + my $plugins = $self->plugins; + for my $plugin (@{$plugins}) { + return $plugin if ($plugin->isa('ManaTools::Shared::disk_backend::Plugin::'. $name)); + } + return undef; +} + +#============================================================= + =head2 findpartprop =head3 OUTPUT -- cgit v1.2.1