Warrior_EA/Expert/ConfigLock/AIBaseConfigLockView.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

26 lines
1.2 KiB
MQL5

//+------------------------------------------------------------------+
//| Warrior_EA |
//| AnimateDread |
//| |
//| CAIBaseConfigLockView - declarations only, bodies in |
//| AIBaseConfigLockViewImpl.mqh (needs the full signal declared). |
//| Same shape as BarrierHorizon\AIBaseBarrierHorizonView.mqh. |
//+------------------------------------------------------------------+
#ifndef WARRIOR_CONFIGLOCK_AIBASECONFIGLOCKVIEW_MQH
#define WARRIOR_CONFIGLOCK_AIBASECONFIGLOCKVIEW_MQH
#include "IConfigLockView.mqh"
class CExpertSignalAIBase;
class CAIBaseConfigLockView : public CConfigLockView
{
private:
CExpertSignalAIBase *m_owner;
public:
CAIBaseConfigLockView(void) : m_owner(NULL) { }
void Bind(CExpertSignalAIBase *owner) { m_owner = owner; }
virtual string Id(void) override;
virtual string ActiveFileName(void) override;
virtual string ShortId(void) override;
};
#endif // WARRIOR_CONFIGLOCK_AIBASECONFIGLOCKVIEW_MQH
//+------------------------------------------------------------------+