X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDX%2FSearchState.pm;fp=lib%2FDX%2FSearchState.pm;h=415b22ae50ad4fea0d9ce5dbc2bd0f22ffdb1154;hb=ae6f4d03d4db3ce67f1500630cf9d78a5c63dc53;hp=3ab4a66d9a9571ed7db7d130f80d9dbed007613c;hpb=77bc0c6ec624fe585521bff7e9be61b70800d7ea;p=scpubgit%2FDX.git diff --git a/lib/DX/SearchState.pm b/lib/DX/SearchState.pm index 3ab4a66..415b22a 100644 --- a/lib/DX/SearchState.pm +++ b/lib/DX/SearchState.pm @@ -15,6 +15,8 @@ has decisions_taken => (is => 'ro', isa => DecisionList, required => 1); has is_solution_state => (is => 'ro', isa => Bool, required => 1); +has is_exhaustion_state => (is => 'ro', isa => Bool, required => 1); + has on_exhaustion_step => (is => 'ro', isa => Maybe[Step], required => 1); has on_solution_step => (is => 'ro', isa => Maybe[Step], required => 1); @@ -40,9 +42,10 @@ sub new_for { ), is_solution_state => 0, ) - : ( next_step => undef, is_solution_state => 1 ) + : ( next_step => DX::Step::MarkAsExhaustion->new, is_solution_state => 1 ) ), - on_exhaustion_step => undef, + is_exhaustion_state => 0, + on_exhaustion_step => DX::Step::MarkAsExhaustion->new, on_solution_step => DX::Step::MarkAsSolution->new, ); }