module CTdsPowerLedNotificationVariables use CVoidEventHandlerCollection implicit none logical :: PowerLed = .false. public type(VoidEventHandlerCollection) :: OnPowerLedChange private :: PowerLed contains subroutine Set_PowerLed(v) use CTopDrivePanelVariables!, only: TopDrivePanel%TopDriveTdsPowerLed !use CLatchLedNotification implicit none logical , intent(in) :: v #ifdef ExcludeExtraChanges if(PowerLed == v) return #endif PowerLed = v if(PowerLed) then TopDrivePanel%TopDriveTdsPowerLed = 1 !call Set_LatchLed(.false.) else TopDrivePanel%TopDriveTdsPowerLed = 0 endif call OnPowerLedChange%RunAll() end subroutine logical function Get_PowerLed() implicit none Get_PowerLed = PowerLed end function subroutine Set_PowerLed_WN(v) !DEC$ ATTRIBUTES DLLEXPORT :: Set_PowerLed_WN !DEC$ ATTRIBUTES ALIAS: 'Set_PowerLed_WN' :: Set_PowerLed_WN implicit none logical , intent(in) :: v call Set_PowerLed(v) end subroutine logical function Get_PowerLed_WN() !DEC$ ATTRIBUTES DLLEXPORT :: Get_PowerLed_WN !DEC$ ATTRIBUTES ALIAS: 'Get_PowerLed_WN' :: Get_PowerLed_WN implicit none Get_PowerLed_WN = PowerLed end function end module CTdsPowerLedNotificationVariables