. * * @author Daniil Gentili * @copyright 2016-2020 Daniil Gentili * @license https://opensource.org/licenses/AGPL-3.0 AGPLv3 * * @link https://docs.madelineproto.xyz MadelineProto documentation */ namespace danog\MadelineProto; /** * Light state. * * @internal */ final class LightState { /** * Event handler class name. * * @var null|class-string */ private ?string $eventHandler = null; public function __construct(MTProto $API) { if ($API->hasEventHandler()) { $this->eventHandler = \get_class($API->getEventHandler()); } } /** * Check whether we can start IPC. * * @return boolean */ public function canStartIpc(): bool { return !$this->eventHandler || \class_exists($this->eventHandler); } /** * Get event handler class name. * * @return null|class-string */ public function getEventHandler(): ?string { return $this->eventHandler; } }