module CUnlatchLedNotificationVariables use CVoidEventHandlerCollection implicit none logical :: UnlatchLed = .false. public type(VoidEventHandlerCollection) :: OnUnlatchLedChange private :: UnlatchLed contains subroutine Set_UnlatchLed(v) use CDrillingConsoleVariables!, only: DrillingConsole%UnlatchPipeLED !use CLatchLedNotification implicit none logical , intent(in) :: v #ifdef ExcludeExtraChanges if(UnlatchLed == v) return #endif UnlatchLed = v if(UnlatchLed) then DrillingConsole%UnlatchPipeLED = 1 !call Set_LatchLed(.false.) else DrillingConsole%UnlatchPipeLED = 0 endif call OnUnlatchLedChange%RunAll() end subroutine logical function Get_UnlatchLed() implicit none Get_UnlatchLed = UnlatchLed end function subroutine Set_UnlatchLed_WN(v) !DEC$ ATTRIBUTES DLLEXPORT :: Set_UnlatchLed_WN !DEC$ ATTRIBUTES ALIAS: 'Set_UnlatchLed_WN' :: Set_UnlatchLed_WN implicit none logical , intent(in) :: v call Set_UnlatchLed(v) end subroutine logical function Get_UnlatchLed_WN() !DEC$ ATTRIBUTES DLLEXPORT :: Get_UnlatchLed_WN !DEC$ ATTRIBUTES ALIAS: 'Get_UnlatchLed_WN' :: Get_UnlatchLed_WN implicit none Get_UnlatchLed_WN = UnlatchLed end function end module CUnlatchLedNotificationVariables