W przypadku, gdy wykonanie któregoś plugina nie powiedzie się
(metoda execute zwróci numer błędu inny od
$ERRNO{'OK'}) AddUser-NG przerwie wykonywanie
kolejnych pluginów i zacznie uruchamiać metodę
rollback dla wszystkich
wykonanych (włącznie z tym który zwrócił błąd). Jej zadaniem
jest cofnięcie wszystkich zmian jakie wprowadziła dana wtyczka.
Przykład 2.4. Szkielet metody rollback
sub rollback {
my $self = shift;
# ... code follows here :)
return $ERRNO{'OK'};
}
W momencie wywołania metody rollback
przekazywany jest niejawnie argument będący referencją do
samej wtyczki, który zawiera całe jej API.
W obecnej wersji wartość zwracana przez tę metodę nie jest brana pod uwagę, ale może to ulec zmianie w kolejnych wersjach, dlatego zalecamy zwracać warotść informującą o powodzeniu (bądź też niepowodzeniu) wykonania.