* @copyright 2014 Fabian Grutschus. All rights reserved. * @license BSD * @link http://github.com/fabiang/xmpp */ namespace Fabiang\Xmpp\Protocol; use Fabiang\Xmpp\OptionsAwareInterface; use Fabiang\Xmpp\EventListener\EventListenerInterface; use Fabiang\Xmpp\Event\EventManagerAwareInterface; /** * Protocol implementation interface. * * @package Xmpp\Protocol */ interface ImplementationInterface extends OptionsAwareInterface, EventManagerAwareInterface { /** * Register listeners that implement xmpp protocol. * * @return void */ public function register(); /** * Register a listener. * * @param EventListenerInterface $eventListener Event listener * @return $this */ public function registerListener(EventListenerInterface $eventListener); }