Files
iTop/sources/Application/Service/EventData.php
2022-03-15 17:50:13 +01:00

91 lines
1.5 KiB
PHP

<?php
/**
* @copyright Copyright (C) 2010-2020 Combodo SARL
* @license http://opensource.org/licenses/AGPL-3.0
*/
namespace Combodo\iTop\Service;
/**
* Data given to the Event Service callbacks
* Class EventServiceData
*
* @package Combodo\iTop\Service
*/
class EventData
{
private $sEvent;
private $mEventSource;
private $aEventData;
private $aCallbackData;
/**
* EventServiceData constructor.
*
* @param string $sEvent
* @param string|array|null $mEventSource
* @param array $aEventData
*/
public function __construct(string $sEvent, $mEventSource = null, array $aEventData = [])
{
$this->sEvent = $sEvent;
$this->aEventData = $aEventData;
$this->mEventSource = $mEventSource;
$this->aCallbackData = [];
}
/**
* @return string
*/
public function GetEvent()
{
return $this->sEvent;
}
public function Get($sParam)
{
if (is_array($this->aEventData) && isset($this->aEventData[$sParam])) {
return $this->aEventData[$sParam];
}
if (is_array($this->aCallbackData) && isset($this->aCallbackData[$sParam])) {
return $this->aCallbackData[$sParam];
}
return null;
}
/**
* @return mixed
*/
public function GetEventSource()
{
return $this->mEventSource;
}
/**
* @return array
*/
public function GetEventData(): array
{
return $this->aEventData;
}
/**
* @param mixed $aCallbackData
*/
public function SetCallbackData($aCallbackData)
{
$this->aCallbackData = $aCallbackData;
}
/**
* @return mixed
*/
public function GetCallbackData()
{
return $this->aCallbackData;
}
}