module CFillupHeadPermissionVariables use CVoidEventHandlerCollection implicit none logical :: FillupHeadPermission = .false. public type(VoidEventHandlerCollection) :: OnFillupHeadPermissionChange private :: FillupHeadPermission contains subroutine Set_FillupHeadPermission(v) implicit none logical , intent(in) :: v #ifdef ExcludeExtraChanges if(FillupHeadPermission == v) return #endif FillupHeadPermission = v #ifdef deb print*, 'FillupHeadPermission=', FillupHeadPermission #endif call OnFillupHeadPermissionChange%RunAll() end subroutine logical function Get_FillupHeadPermission() implicit none Get_FillupHeadPermission = FillupHeadPermission end function subroutine Set_FillupHeadPermission_WN(v) !DEC$ ATTRIBUTES DLLEXPORT :: Set_FillupHeadPermission_WN !DEC$ ATTRIBUTES ALIAS: 'Set_FillupHeadPermission_WN' :: Set_FillupHeadPermission_WN implicit none logical , intent(in) :: v call Set_FillupHeadPermission(v) end subroutine logical function Get_FillupHeadPermission_WN() !DEC$ ATTRIBUTES DLLEXPORT :: Get_FillupHeadPermission_WN !DEC$ ATTRIBUTES ALIAS: 'Get_FillupHeadPermission_WN' :: Get_FillupHeadPermission_WN implicit none Get_FillupHeadPermission_WN = FillupHeadPermission end function end module CFillupHeadPermissionVariables