From c0c336500955a23e344651e5412c9d9d441ef4ee Mon Sep 17 00:00:00 2001 From: Ash Wolf Date: Wed, 28 Jun 2023 22:22:32 +0100 Subject: first pass of T2DLL --- src/T2DLL/T2OptionPluginList.cpp | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) (limited to 'src/T2DLL/T2OptionPluginList.cpp') 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; } -- cgit v1.2.3