# Copyright 2007 Robert ("Bob") Igo of StormLogic, LLC and mythic.tv. # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . package Tweaker::Definitions; use List::Member; use Log::Log4perl qw(:easy); # To install the above modules: # -- # sudo cpan install List::Member # Recommendation Levels my $bottom = -200; # a reserved value, under which no recommendationlevel can go my $not_available = -100; my $unsupported = -99; my $inadvisable = -50; my $optional = 0; my $recommended = 100; # Interactivity Levels my $guided = "guided"; my $minimal = "minimal"; # Special variables my $null = "null"; # reserved as the script name for special Tweaks that define Tweaker behavior my %global_variable_hash = ( "bottom" => $bottom, "not available" => $not_available, "unsupported" => $unsupported, "inadvisable" => $inadvisable, "optional" => $optional, "recommended" => $recommended, "guided" => $guided, "minimal" => $minimal, "null" => $null ); sub get_global_variable_value { my ($variable) = @_; my @known_variables = keys %global_variable_hash; if (member($variable, @known_variables) + 1) { if ($global_variable_hash{$variable}) { return $global_variable_hash{$variable}; } } else { my $logger = get_logger(); $logger->error("No Tweaker Definition for variable named $variable"); return $bottom; } } 1;