module CLatchLedNotificationVariables use CVoidEventHandlerCollection implicit none logical :: LatchLed = .false. public type(VoidEventHandlerCollection) :: OnLatchLedChange private :: LatchLed contains subroutine Set_LatchLed(v) use CDrillingConsoleVariables!, only: DrillingConsole%LatchPipeLED !use CUnlatchLedNotification implicit none logical , intent(in) :: v #ifdef ExcludeExtraChanges if(LatchLed == v) return #endif LatchLed = v if(LatchLed) then DrillingConsole%LatchPipeLED = 1 !call Set_UnlatchLed(.false.) else DrillingConsole%LatchPipeLED = 0 endif call OnLatchLedChange%RunAll() end subroutine logical function Get_LatchLed() implicit none Get_LatchLed = LatchLed end function subroutine Set_LatchLed_WN(v) !DEC$ ATTRIBUTES DLLEXPORT :: Set_LatchLed_WN !DEC$ ATTRIBUTES ALIAS: 'Set_LatchLed_WN' :: Set_LatchLed_WN implicit none logical , intent(in) :: v call Set_LatchLed(v) end subroutine logical function Get_LatchLed_WN() !DEC$ ATTRIBUTES DLLEXPORT :: Get_LatchLed_WN !DEC$ ATTRIBUTES ALIAS: 'Get_LatchLed_WN' :: Get_LatchLed_WN implicit none Get_LatchLed_WN = LatchLed end function end module CLatchLedNotificationVariables