- Eliminated the concept of list hooks.
- Eliminated unnecessary API functions.
This commit is contained in:
Paul Beckingham
2011-04-13 23:20:55 -04:00
parent dbb556bce9
commit 17d1e59e29
4 changed files with 13 additions and 248 deletions

View File

@@ -90,9 +90,21 @@ Hooks::Hooks ()
// Obsolete 1.x hooks.
validProgramEvents.push_back ("post-start");
validProgramEvents.push_back ("pre-exit");
validProgramEvents.push_back ("pre-file-read");
validProgramEvents.push_back ("post-file-read");
validProgramEvents.push_back ("pre-file-write");
validProgramEvents.push_back ("post-file-write");
validProgramEvents.push_back ("pre-gc");
validProgramEvents.push_back ("post-gc");
validProgramEvents.push_back ("post-commit");
validProgramEvents.push_back ("pre-fatal-error");
validProgramEvents.push_back ("pre-exit");
validProgramEvents.push_back ("pre-command-line");
validProgramEvents.push_back ("post-command-line");
validProgramEvents.push_back ("pre-command-line-override");
@@ -109,10 +121,6 @@ Hooks::Hooks ()
validProgramEvents.push_back ("post-file-lock");
validProgramEvents.push_back ("pre-file-unlock");
validProgramEvents.push_back ("post-file-unlock");
validProgramEvents.push_back ("pre-file-read");
validProgramEvents.push_back ("post-file-read");
validProgramEvents.push_back ("pre-file-write");
validProgramEvents.push_back ("post-file-write");
validProgramEvents.push_back ("pre-output");
validProgramEvents.push_back ("post-output");
validProgramEvents.push_back ("pre-debug");
@@ -123,8 +131,6 @@ Hooks::Hooks ()
validProgramEvents.push_back ("post-footnote");
validProgramEvents.push_back ("pre-dispatch");
validProgramEvents.push_back ("post-dispatch");
validProgramEvents.push_back ("pre-gc");
validProgramEvents.push_back ("post-gc");
validProgramEvents.push_back ("pre-archive");
validProgramEvents.push_back ("post-archive");
validProgramEvents.push_back ("pre-purge");
@@ -212,9 +218,6 @@ Hooks::Hooks ()
validProgramEvents.push_back ("pre-version-command");
validProgramEvents.push_back ("post-version-command");
validListEvents.push_back ("pre-filter");
validListEvents.push_back ("post-filter");
validTaskEvents.push_back ("pre-display");
validTaskEvents.push_back ("pre-modification");
validTaskEvents.push_back ("post-modification");
@@ -365,33 +368,6 @@ bool Hooks::trigger (const std::string& event)
return true;
}
////////////////////////////////////////////////////////////////////////////////
// List hooks.
bool Hooks::trigger (const std::string& event, std::vector <Task>& tasks)
{
#ifdef HAVE_LIBLUA
std::vector <Hook>::iterator it;
for (it = all.begin (); it != all.end (); ++it)
{
if (it->event == event)
{
Timer timer (std::string ("Hooks::trigger ") + event);
if (validListEvent (event))
{
context.debug (std::string ("Event ") + event + " triggered");
if (! api.callListHook (it->file, it->function, tasks))
return false;
}
else
throw std::string ("Unrecognized hook event '") + event + "'.";
}
}
#endif
return true;
}
////////////////////////////////////////////////////////////////////////////////
// Task hooks.
bool Hooks::trigger (const std::string& event, Task& task)
@@ -458,14 +434,6 @@ bool Hooks::validProgramEvent (const std::string& event)
return false;
}
bool Hooks::validListEvent (const std::string& event)
{
if (std::find (validListEvents.begin (), validListEvents.end (), event) != validListEvents.end ())
return true;
return false;
}
bool Hooks::validTaskEvent (const std::string& event)
{
if (std::find (validTaskEvents.begin (), validTaskEvents.end (), event) != validTaskEvents.end ())