diff options
author | Ash Wolf <ninji@wuffs.org> | 2023-06-28 22:22:32 +0100 |
---|---|---|
committer | Ash Wolf <ninji@wuffs.org> | 2023-06-28 22:22:32 +0100 |
commit | c0c336500955a23e344651e5412c9d9d441ef4ee (patch) | |
tree | 790769c748db307cf3314f6e896e2f61c68561a2 /src/T2DLL/T2OptionPluginList.cpp | |
parent | 37e364b2c6cc7487a1c888d256a73e5337bb7189 (diff) | |
download | t2win-c0c336500955a23e344651e5412c9d9d441ef4ee.tar.gz t2win-c0c336500955a23e344651e5412c9d9d441ef4ee.zip |
first pass of T2DLL
Diffstat (limited to 'src/T2DLL/T2OptionPluginList.cpp')
-rw-r--r-- | src/T2DLL/T2OptionPluginList.cpp | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/src/T2DLL/T2OptionPluginList.cpp b/src/T2DLL/T2OptionPluginList.cpp index b8d49d6..d060b95 100644 --- a/src/T2DLL/T2OptionPluginList.cpp +++ b/src/T2DLL/T2OptionPluginList.cpp @@ -1,16 +1,33 @@ +#include "T2OptionPlugin.h" #include "T2OptionPluginList.h" -T2OptionPluginList::T2OptionPluginList() { +T2OptionPluginList::T2OptionPluginList() + : LArray(sizeof(T2OptionPlugin *)) +{ } /*virtual*/ T2OptionPluginList::~T2OptionPluginList() { } -void T2OptionPluginList::Add(T2OptionPlugin*) { +void T2OptionPluginList::Add(T2OptionPlugin* plugin) { + if (!plugin) + return; + + InsertItemsAt(1, mItemCount + 1, &plugin); } -void T2OptionPluginList::OnIdle(T2TowerDoc*) { +void T2OptionPluginList::OnIdle(T2TowerDoc* towerDoc) { + DispatchEvent(OptionEventType_0, towerDoc, NULL); } -int T2OptionPluginList::DispatchEvent(OPTIONEVENTTYPE, T2TowerDoc*, void*) { +BOOL T2OptionPluginList::DispatchEvent(OPTIONEVENTTYPE eventType, T2TowerDoc* towerDoc, void* data) { + LArrayIterator iterator(*this); + T2OptionPlugin *plugin; + BOOL result = true; + + while (iterator.Next(&plugin)) { + result = result && plugin->OnEvent(eventType, towerDoc, data); + } + + return result; } |