<?php
/**
 * Base Firewall Exception
 *
 * @package VMPFence
 * @since 2.0.0
 */

// Prevent direct access
if (!defined('ABSPATH')) {
    exit;
}

/**
 * Base exception for firewall operations
 */
class VMPFence_Firewall_Exception extends Exception {
    
    /**
     * Array of violated rules
     *
     * @var array
     */
    protected $violated_rules = array();
    
    /**
     * Request data
     *
     * @var array
     */
    protected $request_data = array();
    
    /**
     * Set violated rules
     *
     * @param array $rules Array of violated rule IDs and data
     */
    public function set_violated_rules($rules) {
        $this->violated_rules = $rules;
    }
    
    /**
     * Get violated rules
     *
     * @return array
     */
    public function get_violated_rules() {
        return $this->violated_rules;
    }
    
    /**
     * Set request data
     *
     * @param array $data Request data
     */
    public function set_request_data($data) {
        $this->request_data = $data;
    }
    
    /**
     * Get request data
     *
     * @return array
     */
    public function get_request_data() {
        return $this->request_data;
    }
}
