Simulation Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

CIrIbopPermissionVariables.f90 1.4 KiB

1 year ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. module CIrIbopPermissionVariables
  2. use CVoidEventHandlerCollection
  3. implicit none
  4. logical :: IrIbopPermission = .false.
  5. public
  6. type(VoidEventHandlerCollection) :: OnIrIbopPermissionChange
  7. private :: IrIbopPermission
  8. contains
  9. subroutine Set_IrIbopPermission(v)
  10. implicit none
  11. logical , intent(in) :: v
  12. #ifdef ExcludeExtraChanges
  13. if(IrIbopPermission == v) return
  14. #endif
  15. IrIbopPermission = v
  16. #ifdef deb
  17. print*, 'IrIbopPermission=', IrIbopPermission
  18. #endif
  19. call OnIrIbopPermissionChange%RunAll()
  20. end subroutine
  21. logical function Get_IrIbopPermission()
  22. implicit none
  23. Get_IrIbopPermission = IrIbopPermission
  24. end function
  25. subroutine Set_IrIbopPermission_WN(v)
  26. !DEC$ ATTRIBUTES DLLEXPORT :: Set_IrIbopPermission_WN
  27. !DEC$ ATTRIBUTES ALIAS: 'Set_IrIbopPermission_WN' :: Set_IrIbopPermission_WN
  28. implicit none
  29. logical , intent(in) :: v
  30. call Set_IrIbopPermission(v)
  31. end subroutine
  32. logical function Get_IrIbopPermission_WN()
  33. !DEC$ ATTRIBUTES DLLEXPORT :: Get_IrIbopPermission_WN
  34. !DEC$ ATTRIBUTES ALIAS: 'Get_IrIbopPermission_WN' :: Get_IrIbopPermission_WN
  35. implicit none
  36. Get_IrIbopPermission_WN = IrIbopPermission
  37. end function
  38. end module CIrIbopPermissionVariables