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>
18 lines
1.2 KiB
MQL5
18 lines
1.2 KiB
MQL5
//+------------------------------------------------------------------+
|
|
//| Warrior_EA |
|
|
//| AnimateDread |
|
|
//| |
|
|
//| CAIBaseConfigLockView bodies - needs the full signal declaration. |
|
|
//| Same doctrine as BarrierHorizon\AIBaseBarrierHorizonViewImpl.mqh -|
|
|
//| every method is a forward, borrowed pointer checked on every call.|
|
|
//+------------------------------------------------------------------+
|
|
#ifndef WARRIOR_CONFIGLOCK_AIBASECONFIGLOCKVIEWIMPL_MQH
|
|
#define WARRIOR_CONFIGLOCK_AIBASECONFIGLOCKVIEWIMPL_MQH
|
|
string CAIBaseConfigLockView::Id(void)
|
|
{ return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.DataId() : ""; }
|
|
string CAIBaseConfigLockView::ActiveFileName(void)
|
|
{ return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.OnlineActiveFileName() : ""; }
|
|
string CAIBaseConfigLockView::ShortId(void)
|
|
{ return (CheckPointer(m_owner) != POINTER_INVALID) ? m_owner.ConfigLockShortId() : ""; }
|
|
#endif // WARRIOR_CONFIGLOCK_AIBASECONFIGLOCKVIEWIMPL_MQH
|
|
//+------------------------------------------------------------------+
|