Cofanie zmian (rollback)

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.