diff options
author | Ansariel <ansariel.hiller@phoenixviewer.com> | 2024-05-22 19:04:52 +0200 |
---|---|---|
committer | Ansariel <ansariel.hiller@phoenixviewer.com> | 2024-05-22 19:04:52 +0200 |
commit | 1b67dd855c41f5a0cda7ec2a68d98071986ca703 (patch) | |
tree | ab243607f74f78200787bba5b9b88f07ef1b966f /indra/llui/llfunctorregistry.h | |
parent | 6d6eabca44d08d5b97bfe3e941d2b9687c2246ea (diff) | |
parent | e1623bb276f83a43ce7a197e388720c05bdefe61 (diff) |
Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# Conflicts:
# autobuild.xml
# indra/cmake/CMakeLists.txt
# indra/cmake/GoogleMock.cmake
# indra/llaudio/llaudioengine_fmodstudio.cpp
# indra/llaudio/llaudioengine_fmodstudio.h
# indra/llaudio/lllistener_fmodstudio.cpp
# indra/llaudio/lllistener_fmodstudio.h
# indra/llaudio/llstreamingaudio_fmodstudio.cpp
# indra/llaudio/llstreamingaudio_fmodstudio.h
# indra/llcharacter/llmultigesture.cpp
# indra/llcharacter/llmultigesture.h
# indra/llimage/llimage.cpp
# indra/llimage/llimagepng.cpp
# indra/llimage/llimageworker.cpp
# indra/llimage/tests/llimageworker_test.cpp
# indra/llmessage/tests/llmockhttpclient.h
# indra/llprimitive/llgltfmaterial.h
# indra/llrender/llfontfreetype.cpp
# indra/llui/llcombobox.cpp
# indra/llui/llfolderview.cpp
# indra/llui/llfolderviewmodel.h
# indra/llui/lllineeditor.cpp
# indra/llui/lllineeditor.h
# indra/llui/lltextbase.cpp
# indra/llui/lltextbase.h
# indra/llui/lltexteditor.cpp
# indra/llui/lltextvalidate.cpp
# indra/llui/lltextvalidate.h
# indra/llui/lluictrl.h
# indra/llui/llview.cpp
# indra/llwindow/llwindowmacosx.cpp
# indra/newview/app_settings/settings.xml
# indra/newview/llappearancemgr.cpp
# indra/newview/llappearancemgr.h
# indra/newview/llavatarpropertiesprocessor.cpp
# indra/newview/llavatarpropertiesprocessor.h
# indra/newview/llbreadcrumbview.cpp
# indra/newview/llbreadcrumbview.h
# indra/newview/llbreastmotion.cpp
# indra/newview/llbreastmotion.h
# indra/newview/llconversationmodel.h
# indra/newview/lldensityctrl.cpp
# indra/newview/lldensityctrl.h
# indra/newview/llface.inl
# indra/newview/llfloatereditsky.cpp
# indra/newview/llfloatereditwater.cpp
# indra/newview/llfloateremojipicker.h
# indra/newview/llfloaterimsessiontab.cpp
# indra/newview/llfloaterprofiletexture.cpp
# indra/newview/llfloaterprofiletexture.h
# indra/newview/llgesturemgr.cpp
# indra/newview/llgesturemgr.h
# indra/newview/llimpanel.cpp
# indra/newview/llimpanel.h
# indra/newview/llinventorybridge.cpp
# indra/newview/llinventorybridge.h
# indra/newview/llinventoryclipboard.cpp
# indra/newview/llinventoryclipboard.h
# indra/newview/llinventoryfunctions.cpp
# indra/newview/llinventoryfunctions.h
# indra/newview/llinventorygallery.cpp
# indra/newview/lllistbrowser.cpp
# indra/newview/lllistbrowser.h
# indra/newview/llpanelobjectinventory.cpp
# indra/newview/llpanelprofile.cpp
# indra/newview/llpanelprofile.h
# indra/newview/llpreviewgesture.cpp
# indra/newview/llsavedsettingsglue.cpp
# indra/newview/llsavedsettingsglue.h
# indra/newview/lltooldraganddrop.cpp
# indra/newview/llurllineeditorctrl.cpp
# indra/newview/llvectorperfoptions.cpp
# indra/newview/llvectorperfoptions.h
# indra/newview/llviewerparceloverlay.cpp
# indra/newview/llviewertexlayer.cpp
# indra/newview/llviewertexturelist.cpp
# indra/newview/macmain.h
# indra/test/test.cpp
Diffstat (limited to 'indra/llui/llfunctorregistry.h')
-rw-r--r-- | indra/llui/llfunctorregistry.h | 138 |
1 files changed, 69 insertions, 69 deletions
diff --git a/indra/llui/llfunctorregistry.h b/indra/llui/llfunctorregistry.h index e43974bc52..da5570d922 100644 --- a/indra/llui/llfunctorregistry.h +++ b/indra/llui/llfunctorregistry.h @@ -6,21 +6,21 @@ * $LicenseInfo:firstyear=2008&license=viewerlgpl$ * Second Life Viewer Source Code * Copyright (C) 2010, Linden Research, Inc. - * + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; * version 2.1 of the License only. - * + * * This library 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 * Lesser General Public License for more details. - * + * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * + * * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA * $/LicenseInfo$ */ @@ -47,93 +47,93 @@ * across restarts of the viewer; we couldn't store functors that way. * Using this registry, systems that require a functor to be maintained * long term can register it at system startup, and then pass in the - * functor by name. + * functor by name. */ template <typename FUNCTOR_TYPE> class LLFunctorRegistry : public LLSingleton<LLFunctorRegistry<FUNCTOR_TYPE> > { - LLSINGLETON(LLFunctorRegistry); - LOG_CLASS(LLFunctorRegistry); + LLSINGLETON(LLFunctorRegistry); + LOG_CLASS(LLFunctorRegistry); public: - typedef FUNCTOR_TYPE ResponseFunctor; - typedef typename std::map<std::string, FUNCTOR_TYPE> FunctorMap; - - bool registerFunctor(const std::string& name, ResponseFunctor f) - { - bool retval = true; - if (mMap.count(name) == 0) - { - mMap[name] = f; - } - else - { - LL_ERRS() << "attempt to store duplicate name '" << name << "' in LLFunctorRegistry. NOT ADDED." << LL_ENDL; - retval = false; - } - - return retval; - } - - bool unregisterFunctor(const std::string& name) - { - if (mMap.count(name) == 0) - { - LL_WARNS() << "trying to remove '" << name << "' from LLFunctorRegistry but it's not there." << LL_ENDL; - return false; - } - mMap.erase(name); - return true; - } - - FUNCTOR_TYPE getFunctor(const std::string& name) - { - if (mMap.count(name) != 0) - { - return mMap[name]; - } - else - { - LL_DEBUGS() << "tried to find '" << name << "' in LLFunctorRegistry, but it wasn't there." << LL_ENDL; - return mMap[LOGFUNCTOR]; - } - } - - const std::string LOGFUNCTOR; - const std::string DONOTHING; - + typedef FUNCTOR_TYPE ResponseFunctor; + typedef typename std::map<std::string, FUNCTOR_TYPE> FunctorMap; + + bool registerFunctor(const std::string& name, ResponseFunctor f) + { + bool retval = true; + if (mMap.count(name) == 0) + { + mMap[name] = f; + } + else + { + LL_ERRS() << "attempt to store duplicate name '" << name << "' in LLFunctorRegistry. NOT ADDED." << LL_ENDL; + retval = false; + } + + return retval; + } + + bool unregisterFunctor(const std::string& name) + { + if (mMap.count(name) == 0) + { + LL_WARNS() << "trying to remove '" << name << "' from LLFunctorRegistry but it's not there." << LL_ENDL; + return false; + } + mMap.erase(name); + return true; + } + + FUNCTOR_TYPE getFunctor(const std::string& name) + { + if (mMap.count(name) != 0) + { + return mMap[name]; + } + else + { + LL_DEBUGS() << "tried to find '" << name << "' in LLFunctorRegistry, but it wasn't there." << LL_ENDL; + return mMap[LOGFUNCTOR]; + } + } + + const std::string LOGFUNCTOR; + const std::string DONOTHING; + private: - static void log_functor(const LLSD& notification, const LLSD& payload) - { - LL_DEBUGS() << "log_functor called with payload: " << payload << LL_ENDL; - } + static void log_functor(const LLSD& notification, const LLSD& payload) + { + LL_DEBUGS() << "log_functor called with payload: " << payload << LL_ENDL; + } - static void do_nothing(const LLSD& notification, const LLSD& payload) - { - // what the sign sez - } + static void do_nothing(const LLSD& notification, const LLSD& payload) + { + // what the sign sez + } - FunctorMap mMap; + FunctorMap mMap; }; template <typename FUNCTOR_TYPE> LLFunctorRegistry<FUNCTOR_TYPE>::LLFunctorRegistry() : - LOGFUNCTOR("LogFunctor"), DONOTHING("DoNothing") + LOGFUNCTOR("LogFunctor"), DONOTHING("DoNothing") { - mMap[LOGFUNCTOR] = log_functor; - mMap[DONOTHING] = do_nothing; + mMap[LOGFUNCTOR] = log_functor; + mMap[DONOTHING] = do_nothing; } template <typename FUNCTOR_TYPE> class LLFunctorRegistration { public: - LLFunctorRegistration(const std::string& name, FUNCTOR_TYPE functor) - { - LLFunctorRegistry<FUNCTOR_TYPE>::instance().registerFunctor(name, functor); - } + LLFunctorRegistration(const std::string& name, FUNCTOR_TYPE functor) + { + LLFunctorRegistry<FUNCTOR_TYPE>::instance().registerFunctor(name, functor); + } }; #endif//LL_LLFUNCTORREGISTRY_H |