forked from animatedread/Warrior_EA
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>
21 lines
1.1 KiB
MQL5
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;
|
|
};
|
|
//+------------------------------------------------------------------+
|