diff options
author | Brenda Wallace <shiny@cpan.org> | 2010-01-18 11:48:11 +1300 |
---|---|---|
committer | Brenda Wallace <shiny@cpan.org> | 2010-01-18 11:48:11 +1300 |
commit | 02a6006bafd663443b512c5c283b64c7dacfbbb1 (patch) | |
tree | 6d2ac830a8be8330df124da3056f891a2065eedb /lib/pluginqueuehandler.php | |
parent | c1f1d712bd4d775b24ce99b44f469ec7dcd2342e (diff) | |
parent | 4978810c81c8d7ba75daa795d66965d6b43331f3 (diff) |
Merge commit 'mainline/0.9.x' into 0.9.x
Diffstat (limited to 'lib/pluginqueuehandler.php')
-rw-r--r-- | lib/pluginqueuehandler.php | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/lib/pluginqueuehandler.php b/lib/pluginqueuehandler.php new file mode 100644 index 000000000..24d504699 --- /dev/null +++ b/lib/pluginqueuehandler.php @@ -0,0 +1,50 @@ +<?php +/* + * StatusNet - the distributed open-source microblogging tool + * Copyright (C) 2008, 2009, StatusNet, Inc. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +if (!defined('STATUSNET') && !defined('LACONICA')) { + exit(1); +} + +/** + * Queue handler for letting plugins handle stuff. + * + * The plugin queue handler accepts notices over the "plugin" queue + * and simply passes them through the "HandleQueuedNotice" event. + * + * This gives plugins a chance to do background processing without + * actually registering their own queue and ensuring that things + * are queued into it. + * + * Fancier plugins may wish to instead hook the 'GetQueueHandlerClass' + * event with their own class, in which case they must ensure that + * their notices get enqueued when they need them. + */ +class PluginQueueHandler extends QueueHandler +{ + function transport() + { + return 'plugin'; + } + + function handle_notice($notice) + { + Event::handle('HandleQueuedNotice', array(&$notice)); + return true; + } +} |