module CTdsConnectionModesEnumVariables use CVoidEventHandlerCollection implicit none integer :: TdsConnectionModes = 0 public type(VoidEventHandlerCollection) :: OnTdsConnectionModesChange enum, bind(c) enumerator TDS_CONNECTION_NOTHING enumerator TDS_CONNECTION_STRING enumerator TDS_CONNECTION_SPINE end enum private :: TdsConnectionModes contains subroutine Set_TdsConnectionModes(v) use CManifolds, Only: KellyConnected, KellyDisconnected implicit none integer , intent(in) :: v #ifdef ExcludeExtraChanges if(TdsConnectionModes == v) return #endif TdsConnectionModes = v if(TdsConnectionModes == TDS_CONNECTION_NOTHING) then call KellyDisconnected() else call KellyConnected() endif #ifdef deb print*, 'TdsConnectionModes=', TdsConnectionModes #endif call OnTdsConnectionModesChange%RunAll() end subroutine integer function Get_TdsConnectionModes() implicit none Get_TdsConnectionModes = TdsConnectionModes end function subroutine Set_TdsConnectionModes_WN(v) !DEC$ ATTRIBUTES DLLEXPORT :: Set_TdsConnectionModes_WN !DEC$ ATTRIBUTES ALIAS: 'Set_TdsConnectionModes_WN' :: Set_TdsConnectionModes_WN implicit none integer , intent(in) :: v call Set_TdsConnectionModes(v) end subroutine integer function Get_TdsConnectionModes_WN() !DEC$ ATTRIBUTES DLLEXPORT :: Get_TdsConnectionModes_WN !DEC$ ATTRIBUTES ALIAS: 'Get_TdsConnectionModes_WN' :: Get_TdsConnectionModes_WN implicit none Get_TdsConnectionModes_WN = TdsConnectionModes end function end module CTdsConnectionModesEnumVariables