module CTdsConnectionModesEnumVariables ! use CVoidEventHandlerCollection implicit none type:: TdsConnectionModesEnumType integer :: TdsConnectionModes = 0 ! type(VoidEventHandlerCollection) :: OnTdsConnectionModesChange end type TdsConnectionModesEnumType type(TdsConnectionModesEnumType)::TdsConnectionModesEnum enum, bind(c) enumerator TDS_CONNECTION_NOTHING enumerator TDS_CONNECTION_STRING enumerator TDS_CONNECTION_SPINE end enum ! private :: TdsConnectionModesEnum%TdsConnectionModes contains subroutine Set_TdsConnectionModes(v) use CManifolds, Only: KellyConnected, KellyDisconnected implicit none integer , intent(in) :: v #ifdef ExcludeExtraChanges if(TdsConnectionModesEnum%TdsConnectionModes == v) return #endif TdsConnectionModesEnum%TdsConnectionModes = v if(TdsConnectionModesEnum%TdsConnectionModes == TDS_CONNECTION_NOTHING) then call KellyDisconnected() else call KellyConnected() endif #ifdef deb print*, 'TdsConnectionModesEnum%TdsConnectionModes=', TdsConnectionModesEnum%TdsConnectionModes #endif !**call TdsConnectionModesEnum%OnTdsConnectionModesChange%RunAll() end subroutine integer function Get_TdsConnectionModes() implicit none Get_TdsConnectionModes = TdsConnectionModesEnum%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 = TdsConnectionModesEnum%TdsConnectionModes end function end module CTdsConnectionModesEnumVariables