void ProjectLoaderHooks::CallHooks(cbProject* project, TiXmlElement* elem, bool isLoading) { for (HookFunctorsMap::iterator it = s_HookFunctorsMap.begin(); it != s_HookFunctorsMap.end(); ++it) { ProjectLoaderHooks::HookFunctorBase* functor = it->second; if (functor) functor->Call(project, elem, isLoading); } }
void EditorHooks::CallHooks(cbEditor* editor, wxScintillaEvent& event) { for (HookFunctorsMap::iterator it = s_HookFunctorsMap.begin(); it != s_HookFunctorsMap.end(); ++it) { EditorHooks::HookFunctorBase* functor = it->second; if (functor) functor->Call(editor, event); } }
int ProjectLoaderHooks::RegisterHook(ProjectLoaderHooks::HookFunctorBase* functor) { for (HookFunctorsMap::iterator it = s_HookFunctorsMap.begin(); it != s_HookFunctorsMap.end(); ++it) { if (it->second == functor) return it->first; } s_HookFunctorsMap[s_UniqueID] = functor; return s_UniqueID++; }