module CFillMouseHoleLedNotificationVariables use CVoidEventHandlerCollection implicit none logical :: FillMouseHoleLed = .false. public type(VoidEventHandlerCollection) :: OnFillMouseHoleLedChange private :: FillMouseHoleLed contains subroutine Set_FillMouseHoleLed(v) use CDrillingConsoleVariables, only: FillMouseHoleLedHw => FillMouseHoleLed use CMouseHoleEnumVariables implicit none logical , intent(in) :: v #ifdef ExcludeExtraChanges if(FillMouseHoleLed == v) return #endif FillMouseHoleLed = v if(FillMouseHoleLed) then FillMouseHoleLedHw = 1 !call Set_MouseHole(MOUSE_HOLE_FILL) else FillMouseHoleLedHw = 0 !call Set_MouseHole(MOUSE_HOLE_EMPTY) endif call OnFillMouseHoleLedChange%RunAll() end subroutine logical function Get_FillMouseHoleLed() implicit none Get_FillMouseHoleLed = FillMouseHoleLed end function subroutine Set_FillMouseHoleLed_WN(v) !DEC$ ATTRIBUTES DLLEXPORT :: Set_FillMouseHoleLed_WN !DEC$ ATTRIBUTES ALIAS: 'Set_FillMouseHoleLed_WN' :: Set_FillMouseHoleLed_WN implicit none logical , intent(in) :: v call Set_FillMouseHoleLed(v) end subroutine logical function Get_FillMouseHoleLed_WN() !DEC$ ATTRIBUTES DLLEXPORT :: Get_FillMouseHoleLed_WN !DEC$ ATTRIBUTES ALIAS: 'Get_FillMouseHoleLed_WN' :: Get_FillMouseHoleLed_WN implicit none Get_FillMouseHoleLed_WN = FillMouseHoleLed end function end module CFillMouseHoleLedNotificationVariables