|
- module CIbopEnumVariables
- use CVoidEventHandlerCollection
- implicit none
- integer :: Ibop = 0
-
- public
-
- type(VoidEventHandlerCollection) :: OnIbopChange
-
- enum, bind(c)
- !enumerator IBOP_NEUTRAL
- enumerator IBOP_REMOVE
- enumerator IBOP_INSTALL
- end enum
-
- private :: Ibop
-
- contains
-
- subroutine Set_Ibop(v)
- implicit none
- integer , intent(in) :: v
- #ifdef ExcludeExtraChanges
- if(Ibop == v) return
- #endif
- Ibop = v
- #ifdef deb
- print*, 'Ibop=', Ibop
- #endif
- call OnIbopChange%RunAll()
- end subroutine
-
- integer function Get_Ibop()
- implicit none
- Get_Ibop = Ibop
- end function
-
-
-
-
- subroutine Set_Ibop_WN(v)
- !DEC$ ATTRIBUTES DLLEXPORT :: Set_Ibop_WN
- !DEC$ ATTRIBUTES ALIAS: 'Set_Ibop_WN' :: Set_Ibop_WN
- implicit none
- integer , intent(in) :: v
- call Set_Ibop(v)
- end subroutine
-
- integer function Get_Ibop_WN()
- !DEC$ ATTRIBUTES DLLEXPORT :: Get_Ibop_WN
- !DEC$ ATTRIBUTES ALIAS: 'Get_Ibop_WN' :: Get_Ibop_WN
- implicit none
- Get_Ibop_WN = Ibop
- end function
-
-
-
- subroutine Set_Ibop_Install()
- implicit none
- call Set_Ibop(IBOP_INSTALL)
- end subroutine
-
- subroutine Set_Ibop_Remove()
- implicit none
- call Set_Ibop(IBOP_REMOVE)
- end subroutine
-
-
-
-
- logical function Get_RemoveIbop()
- !DEC$ ATTRIBUTES DLLEXPORT :: Get_RemoveIbop
- !DEC$ ATTRIBUTES ALIAS: 'Get_RemoveIbop' :: Get_RemoveIbop
- implicit none
- Get_RemoveIBop = .false. ! Ibop == REMOVE_IBOP
- end function
-
- logical function Get_InstallIbop()
- !DEC$ ATTRIBUTES DLLEXPORT :: Get_InstallIbop
- !DEC$ ATTRIBUTES ALIAS: 'Get_InstallIbop' :: Get_InstallIbop
- implicit none
- Get_InstallIbop = .false. ! Ibop == INSTALL_IBOP
- end function
-
- end module CIbopEnumVariables
|