yaze 0.3.2
Link to the Past ROM Editor
 
Loading...
Searching...
No Matches
yaze::cli::PolicyEvaluator Class Reference

#include <policy_evaluator.h>

Classes

struct  PolicyConfig
 

Public Member Functions

absl::Status LoadPolicies (absl::string_view policy_dir=".yaze/policies")
 
absl::StatusOr< PolicyResultEvaluateProposal (absl::string_view proposal_id)
 
absl::Status ReloadPolicies ()
 
bool IsEnabled () const
 
std::string GetPolicyPath () const
 
std::string GetStatusString () const
 

Static Public Member Functions

static PolicyEvaluatorGetInstance ()
 

Private Member Functions

 PolicyEvaluator ()=default
 
 ~PolicyEvaluator ()=default
 
 PolicyEvaluator (const PolicyEvaluator &)=delete
 
PolicyEvaluatoroperator= (const PolicyEvaluator &)=delete
 
absl::Status ParsePolicyFile (absl::string_view yaml_content)
 
void EvaluateTestRequirements (absl::string_view proposal_id, PolicyResult *result)
 
void EvaluateChangeConstraints (absl::string_view proposal_id, PolicyResult *result)
 
void EvaluateForbiddenRanges (absl::string_view proposal_id, PolicyResult *result)
 
void EvaluateReviewRequirements (absl::string_view proposal_id, PolicyResult *result)
 
void CategorizeViolations (PolicyResult *result)
 

Private Attributes

bool enabled_ = false
 
std::string policy_path_
 
std::string policy_dir_
 
std::unique_ptr< PolicyConfigconfig_
 

Detailed Description

Definition at line 49 of file policy_evaluator.h.

Constructor & Destructor Documentation

◆ PolicyEvaluator() [1/2]

yaze::cli::PolicyEvaluator::PolicyEvaluator ( )
privatedefault

◆ ~PolicyEvaluator()

yaze::cli::PolicyEvaluator::~PolicyEvaluator ( )
privatedefault

◆ PolicyEvaluator() [2/2]

yaze::cli::PolicyEvaluator::PolicyEvaluator ( const PolicyEvaluator )
privatedelete

Member Function Documentation

◆ GetInstance()

PolicyEvaluator & yaze::cli::PolicyEvaluator::GetInstance ( )
static

◆ LoadPolicies()

absl::Status yaze::cli::PolicyEvaluator::LoadPolicies ( absl::string_view  policy_dir = ".yaze/policies")

Definition at line 74 of file policy_evaluator.cc.

References enabled_, ParsePolicyFile(), policy_dir_, and policy_path_.

Referenced by ReloadPolicies().

Here is the call graph for this function:

◆ EvaluateProposal()

◆ ReloadPolicies()

absl::Status yaze::cli::PolicyEvaluator::ReloadPolicies ( )

Definition at line 94 of file policy_evaluator.cc.

References LoadPolicies(), and policy_dir_.

Here is the call graph for this function:

◆ IsEnabled()

bool yaze::cli::PolicyEvaluator::IsEnabled ( ) const
inline

Definition at line 65 of file policy_evaluator.h.

References enabled_.

◆ GetPolicyPath()

std::string yaze::cli::PolicyEvaluator::GetPolicyPath ( ) const
inline

Definition at line 68 of file policy_evaluator.h.

References policy_path_.

◆ GetStatusString()

std::string yaze::cli::PolicyEvaluator::GetStatusString ( ) const

Definition at line 102 of file policy_evaluator.cc.

References config_, enabled_, and policy_path_.

◆ operator=()

PolicyEvaluator & yaze::cli::PolicyEvaluator::operator= ( const PolicyEvaluator )
privatedelete

◆ ParsePolicyFile()

◆ EvaluateTestRequirements()

void yaze::cli::PolicyEvaluator::EvaluateTestRequirements ( absl::string_view  proposal_id,
PolicyResult result 
)
private
Todo:
Implement test requirement evaluation

Definition at line 230 of file policy_evaluator.cc.

References config_.

Referenced by EvaluateProposal().

◆ EvaluateChangeConstraints()

void yaze::cli::PolicyEvaluator::EvaluateChangeConstraints ( absl::string_view  proposal_id,
PolicyResult result 
)
private

◆ EvaluateForbiddenRanges()

void yaze::cli::PolicyEvaluator::EvaluateForbiddenRanges ( absl::string_view  proposal_id,
PolicyResult result 
)
private
Todo:
Implement forbidden range checking

Definition at line 287 of file policy_evaluator.cc.

References config_.

Referenced by EvaluateProposal().

◆ EvaluateReviewRequirements()

void yaze::cli::PolicyEvaluator::EvaluateReviewRequirements ( absl::string_view  proposal_id,
PolicyResult result 
)
private

◆ CategorizeViolations()

Member Data Documentation

◆ enabled_

bool yaze::cli::PolicyEvaluator::enabled_ = false
private

◆ policy_path_

std::string yaze::cli::PolicyEvaluator::policy_path_
private

Definition at line 98 of file policy_evaluator.h.

Referenced by GetPolicyPath(), GetStatusString(), and LoadPolicies().

◆ policy_dir_

std::string yaze::cli::PolicyEvaluator::policy_dir_
private

Definition at line 99 of file policy_evaluator.h.

Referenced by LoadPolicies(), and ReloadPolicies().

◆ config_


The documentation for this class was generated from the following files: