<?php

/**
 *
 * @author Peter Csubak (chuby)
 * @copyright Peter Csubak (chuby)
 */
class PeaMethod{

	public $name = "";
	public $params = array();
	public $object = null;

	/**
	 * A megadott objektumon meghívja a megnevezett metódust, a megadott paraméterezéssel.
	 *
	 * @return mixed A meghívott metódus visszatérési értéke.
	 */
	public function invoke(){
		if (SecureSession::getInstance()->checkIfInvokable($this)){
			$ref = new ReflectionClass(get_class($this->object));
			$meth = $ref->getMethod($this->name);
			return $meth->invokeArgs($this->object, $this->params);
		}else{
			throw new SecurityException("Jogosultsági hiba: Az aktív felhasználónak nincs joga meghívni a metódust!", null, 850);
		}
	}

}
?>