public function register($name) { if (!$this->base) { throw new Exception("need to set an event base"); } elseif (!is_callable($this->callback)) { throw new Exception("need to set a callback"); } $this->name = $name; $this->dispatcher->getListeners()->add($name, $this); $this->event = new \Event($this->base, $this->fd, $this->what, $this->callback, $this); $this->event->setPriority($this->priority); return $this; }
<?php //run using: // php -d enable_dl=On -dextension=/usr/local/lib/php/modules/kolabshared.so -dextension=/usr/local/lib/php/modules/kolabformat.so -dextension=/usr/local/lib/php/modules/kolabobject.so test.php include "kolabformat.php"; include "kolabobject.php"; /////// Test Event $e = new Event(); $e->setCreated(new cDateTime(2012, 3, 14, 9, 5, 30, true)); $e->setStart(new cDateTime(2012, 7, 31)); $e->setUid("uid"); $e->setPriority(1); $xo = new XMLObject(); print $xo->writeEvent($e, kolabobject::KolabV2, "test.php"); print $xo->writeEvent($e, kolabobject::KolabV3, "test.php"); ////// Test Contact $c = new Contact(); $nc = new NameComponents(); $sn = new vectors(); $sn->push("Contact"); $nc->setSurnames($sn); $gn = new vectors(); $gn->push("Sample"); $nc->setGiven($gn); $c->setNameComponents($nc); $c->setName("Sample Contact"); $em = new vectors(); $em->push("sample.v2@localhost"); $c->setEmailAddresses($em); $xo = new XMLObject(); print $xo->writeContact($c, kolabobject::KolabV2, "test.php");
public function declare($callback, $priority = 0) { $event = new \Event($this->base, -1, \Event::TIMEOUT, $callback); $event->setPriority($priority); $event->add(0); $this->declares[] = $event; }