module CIrIbopPermissionVariables use CVoidEventHandlerCollection implicit none logical :: IrIbopPermission = .false. public type(VoidEventHandlerCollection) :: OnIrIbopPermissionChange private :: IrIbopPermission contains subroutine Set_IrIbopPermission(v) implicit none logical , intent(in) :: v #ifdef ExcludeExtraChanges if(IrIbopPermission == v) return #endif IrIbopPermission = v #ifdef deb print*, 'IrIbopPermission=', IrIbopPermission #endif call OnIrIbopPermissionChange%RunAll() end subroutine logical function Get_IrIbopPermission() implicit none Get_IrIbopPermission = IrIbopPermission end function subroutine Set_IrIbopPermission_WN(v) !DEC$ ATTRIBUTES DLLEXPORT :: Set_IrIbopPermission_WN !DEC$ ATTRIBUTES ALIAS: 'Set_IrIbopPermission_WN' :: Set_IrIbopPermission_WN implicit none logical , intent(in) :: v call Set_IrIbopPermission(v) end subroutine logical function Get_IrIbopPermission_WN() !DEC$ ATTRIBUTES DLLEXPORT :: Get_IrIbopPermission_WN !DEC$ ATTRIBUTES ALIAS: 'Get_IrIbopPermission_WN' :: Get_IrIbopPermission_WN implicit none Get_IrIbopPermission_WN = IrIbopPermission end function end module CIrIbopPermissionVariables