|
- module CIrIBopLedNotificationVariables
- use CVoidEventHandlerCollection
- implicit none
- logical :: IrIBopLed = .false.
-
- public
-
- type(VoidEventHandlerCollection) :: OnIrIBopLedChange
-
- private :: IrIBopLed
-
- contains
-
- subroutine Set_IrIBopLed(v)
- use CDrillingConsoleVariables, only: IRIBopLedHw => IRIBopLed
- use CManifolds, only: InstallIBop, RemoveIBop
- use CIbopEnumVariables, only: Set_Ibop_Install, Set_Ibop_Remove
- implicit none
- logical , intent(in) :: v
- #ifdef ExcludeExtraChanges
- if(IrIBopLed == v) return
- #endif
- IrIBopLed = v
- if(IrIBopLed) then
- IRIBopLedHw = 1
- call InstallIBop()
- call Set_Ibop_Install()
- else
- IRIBopLedHw = 0
- call RemoveIBop()
- call Set_Ibop_Remove()
- endif
- call OnIrIBopLedChange%RunAll()
- end subroutine
-
- logical function Get_IrIBopLed()
- implicit none
- Get_IrIBopLed = IrIBopLed
- end function
-
-
-
-
-
- subroutine Set_IrIBopLed_WN(v)
- !DEC$ ATTRIBUTES DLLEXPORT :: Set_IrIBopLed_WN
- !DEC$ ATTRIBUTES ALIAS: 'Set_IrIBopLed_WN' :: Set_IrIBopLed_WN
- implicit none
- logical , intent(in) :: v
- call Set_IrIBopLed(v)
- end subroutine
-
-
- logical function Get_IrIBopLed_WN()
- !DEC$ ATTRIBUTES DLLEXPORT :: Get_IrIBopLed_WN
- !DEC$ ATTRIBUTES ALIAS: 'Get_IrIBopLed_WN' :: Get_IrIBopLed_WN
- implicit none
- Get_IrIBopLed_WN = IrIBopLed
- end function
-
-
-
- end module CIrIBopLedNotificationVariables
|