diff options
author | Stephen Hemminger <stephen.hemminger@vyatta.com> | 2009-06-02 14:22:15 -0700 |
---|---|---|
committer | An-Cheng Huang <ancheng@vyatta.com> | 2009-07-17 14:30:20 -0700 |
commit | ba60053e94147f401efd298fe1bd4d38cf9f34f7 (patch) | |
tree | 0a52ff1572e9a8f7d6ff55c5297a719f60721726 /scripts/system | |
parent | 6859b8c8e408817161a1723a19396c880ae6e889 (diff) | |
download | vyatta-cfg-quagga-ba60053e94147f401efd298fe1bd4d38cf9f34f7.tar.gz vyatta-cfg-quagga-ba60053e94147f401efd298fe1bd4d38cf9f34f7.zip |
Change API for login modules
The login modules aren't really objects (if Perl really had objects), so
just use dynamic invoke of update routine.
(cherry picked from commit 37ba59896d4c9ac5c914d1901d86ed7e7d844871)
Diffstat (limited to 'scripts/system')
-rw-r--r-- | scripts/system/vyatta_update_login.pl | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/scripts/system/vyatta_update_login.pl b/scripts/system/vyatta_update_login.pl index b854427b..94e88ed1 100644 --- a/scripts/system/vyatta_update_login.pl +++ b/scripts/system/vyatta_update_login.pl @@ -30,13 +30,10 @@ foreach my $type ($config->listNodes()) { my $kind = ucfirst $type; $kind =~ s/-server/Server/; - my $location = "Vyatta/Login/$kind.pm"; - my $class = "Vyatta::Login::$kind"; - - require $location; + # Dynamically load the module to handle that login method + require "Vyatta/Login/$kind.pm"; - my $obj = $class->new(); - die "Don't understand $type" unless $obj; - - $obj->update(); + # Dynamically invoke update for this type + my $login = "Vyatta::Login::$kind"; + $login->update(); } |