X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Fyoink;a=blobdiff_plain;f=src%2FMoof%2FDispatch.cc;h=52f28f88327e2591378819308cb3a832c44e1512;hp=8ad29fd7b14ebfb53cdfacb659526d11b4801091;hb=837bae9f2bf7b25e1d3d2625eeaf39c1d2f48827;hpb=2d77fb5fb3480f522658f30af6addd5146530517 diff --git a/src/Moof/Dispatch.cc b/src/Moof/Dispatch.cc index 8ad29fd..52f28f8 100644 --- a/src/Moof/Dispatch.cc +++ b/src/Moof/Dispatch.cc @@ -1,30 +1,13 @@ -/******************************************************************************* - - Copyright (c) 2009, Charles McGarvey - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation - and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR - SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER - CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, - OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -*******************************************************************************/ +/*] Copyright (c) 2009-2010, Charles McGarvey [************************** +**] All rights reserved. +* +* vi:ts=4 sw=4 tw=75 +* +* Distributable under the terms and conditions of the 2-clause BSD license; +* see the file COPYING for a complete text of the license. +* +**************************************************************************/ #include @@ -58,10 +41,10 @@ public: inline Handler addHandler(const std::string& event, - const Function& callback, Handler handler) + const Function& callback, Handler handler) { mCallbacks.insert(std::make_pair(event, - std::make_pair(handler.getId(), callback))); + std::make_pair(handler.getId(), callback))); mHandlers.insert(std::make_pair(handler.getId(), event)); return handler; @@ -69,7 +52,8 @@ public: inline void removeHandler(unsigned id) { - std::pair matching(mHandlers.equal_range(id)); + std::pair + matching(mHandlers.equal_range(id)); for (HandlerIter it = matching.first; it != matching.second; ++it) { @@ -94,7 +78,8 @@ public: std::pair callbacks(mCallbacks.equal_range(event)); - for (CallbackIter it = callbacks.first; it != callbacks.second; ++it) + for (CallbackIter it = callbacks.first; it != callbacks.second; + ++it) { Function callback = (*it).second.second; callback(message); @@ -122,21 +107,15 @@ Dispatch::Dispatch() : mImpl(new Dispatch::Impl) {} -Dispatch& Dispatch::getInstance() -{ - static Dispatch dispatch; - return dispatch; -} - - Dispatch::Handler Dispatch::addHandler(const std::string& event, - const Function& callback) + const Function& callback) { return addHandler(event, callback, mImpl->getNewHandler()); } Dispatch::Handler Dispatch::addHandler(const std::string& event, - const Function& callback, Handler handler) + const Function& callback, + Handler handler) { // pass through return mImpl->addHandler(event, callback, handler); @@ -159,5 +138,3 @@ void Dispatch::dispatch(const std::string& event, const Message* message) } // namespace Mf -/** vim: set ts=4 sw=4 tw=80: *************************************************/ -