Warrior_EA/Expert/ConfigLock/IConfigLockView.mqh
AnimateDread e366bb74ad refactor(config-lock): CConfigLock is a real collaborator, not a raw-include partial
AcquireConfigLock/ReleaseConfigLock moved off CExpertSignalAIBase into
Expert/ConfigLock/CConfigLock, same view+adapter shape as BarrierHorizon/ExcursionHead.
Stateful: m_configLockName is exclusive (grep-verified, nothing outside Lifecycle.mqh's
old body touched it). Pure relocation - same FNV-1a hash, same owner-liveness check,
same log wording. Left uncommitted mid-campaign; independently compile-verified in
isolation now (0 errors/0 warnings) before this commit.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-24 04:39:17 -04:00

21 lines
1.1 KiB
MQL5

//+------------------------------------------------------------------+
//| Warrior_EA |
//| AnimateDread |
//| |
//| The read surface CConfigLock needs from the signal. Same shape |
//| as BarrierHorizon\IBarrierHorizonView.mqh - abstract, no signal |
//| include. Read-only: this collaborator never writes back into the |
//| signal's own state. |
//+------------------------------------------------------------------+
class CConfigLockView
{
public:
virtual ~CConfigLockView(void) { }
//--- AcquireConfigLock()'s log lines and the WarriorAI_<id>_<hash> global-variable name - adapter
//--- forwards to the signal's existing DataId()/OnlineActiveFileName().
virtual string Id(void) = 0;
virtual string ActiveFileName(void) = 0;
//--- The one field this collaborator needs that had no existing getter.
virtual string ShortId(void) = 0;
};
//+------------------------------------------------------------------+