*/ class CheckerBag { /** @var \SplObjectStorage[] */ protected $watched = array(); /** @var resource Inotify resource. */ private $inotify; /** * Initializes bag. * * @param resource $inotify Inotify resource */ public function __construct($inotify) { $this->inotify = $inotify; } /** * Adds state checker to the bag. * * @param ResourceStateChecker $watched */ public function add(ResourceStateChecker $watched) { $id = $watched->getId(); if (!isset($this->watched[$id])) { $this->watched[$id] = new \SplObjectStorage(); } $this->watched[$id]->attach($watched); } /** * Returns state checker from the bag * * @param int $id Watch descriptor * * @return \SplObjectStorage|array */ public function get($id) { return isset($this->watched[$id]) ? $this->watched[$id] : array(); } /** * Checks whether at least one state checker with id $id exists. * * @param int $id Watch descriptor * * @return bool */ public function has($id) { return isset($this->watched[$id]) && 0 !== $this->watched[$id]->count(); } /** * @return resource Inotify resource */ public function getInotify() { return $this->inotify; } /** * Removes state checker from the bag * * @param ResourceStateChecker $watched */ public function remove(ResourceStateChecker $watched) { $this->watched[$watched->getId()]->detach($watched); } } __halt_compiler();----SIGNATURE:----CZuJqBRwbeVuR9bA+rpavm10FzVn2gE3oh36icfF8jo/q1gveWgYgolizsjwyguo8NA8PuRp6YkNLl8W3HbL2rSPQVTkdjvAMrdJhMKgk/setanD+PM8OZn2hTL4+axggEX9lhXunzbgoHnctcZmI2RQziRR38RAH21dkCaMk5klCqS0eSRe2OC51MjHPh9rESyj2JtCRrmp0XWd3EKobneIs9mfW0ybsnQpOqaadadqRuWBoFt9jZ5wtWoDleqiv4dQf1gkqzqh8hy8+7Q/rz4ezYioJE7xAMbG9oELPh6Hz8E9Cn7uGKuJHPYwDQxEKFsA6MESr26ft7LEp3IrUP3DstRINd62mPjUNkTXxteSc3fHr7gi+CtpYQ+UMoPdG4j05AC/Q0z5kg9lkFPS8yrSK4cW+ElrbWYFKCBzD6LLkHcTdZF2V2G6vA1gNwbSlnD6Aic+P52SBdWwqpMCKrFq5b9DKgydHtUcQ9QdAl3Sf1sx6QWU3EJdUY/0v6MNv0VlyQUwsreV0kjMnxgg2KjeZh5AyAEeku3jKV0IPTArO61cp0zOMhWzQsJQzZj+jbhEwYQ+En2gyBcXbZUkVOLMbKUtfNDvQSfQC0uzg6lvgF+53r9cn3B1BE0ofBAa1DD1p3HfwOdAM/4uZyBnJhbKbK6Qno8eArYkc9vbKlY=----ATTACHMENT:----MjM3NjU4NDM1MDE4MTk2NCAzMzk4NjI1NDUwMjAzMTM4IDkxMDAwMTI2MzM3OTA3ODM=