X-Git-Url: http://www.aleph1.co.uk/gitweb/?a=blobdiff_plain;ds=sidebyside;f=vendor%2Fgabordemooij%2Fredbean%2FRedBeanPHP%2FObservable.php;fp=vendor%2Fgabordemooij%2Fredbean%2FRedBeanPHP%2FObservable.php;h=8e3e6c727c3074356bf22d9febca9868bb14d163;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hp=0000000000000000000000000000000000000000;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad;p=yaffs-website diff --git a/vendor/gabordemooij/redbean/RedBeanPHP/Observable.php b/vendor/gabordemooij/redbean/RedBeanPHP/Observable.php new file mode 100755 index 000000000..8e3e6c727 --- /dev/null +++ b/vendor/gabordemooij/redbean/RedBeanPHP/Observable.php @@ -0,0 +1,75 @@ +observers[$eventname] ) ) { + $this->observers[$eventname] = array(); + } + + foreach ( $this->observers[$eventname] as $o ) { + if ( $o == $observer ) { + return; + } + } + + $this->observers[$eventname][] = $observer; + } + + /** + * Notifies listeners. + * Sends the signal $eventname, the event identifier and a message object + * to all observers that have been registered to receive notification for + * this event. Part of the observer pattern implementation in RedBeanPHP. + * + * @param string $eventname event you want signal + * @param mixed $info message object to send along + * + * @return void + */ + public function signal( $eventname, $info ) + { + if ( !isset( $this->observers[$eventname] ) ) { + $this->observers[$eventname] = array(); + } + + foreach ( $this->observers[$eventname] as $observer ) { + $observer->onEvent( $eventname, $info ); + } + } +}