Connection.F90 Source File


Files dependent on this one

sourcefile~~connection.f90~~AfferentGraph sourcefile~connection.f90 Connection.F90 sourcefile~componentspec.f90 ComponentSpec.F90 sourcefile~componentspec.f90->sourcefile~connection.f90 sourcefile~componentspecparser.f90 ComponentSpecParser.F90 sourcefile~componentspecparser.f90->sourcefile~connection.f90 sourcefile~connectionvector.f90 ConnectionVector.F90 sourcefile~connectionvector.f90->sourcefile~connection.f90 sourcefile~matchconnection.f90 MatchConnection.F90 sourcefile~matchconnection.f90->sourcefile~connection.f90 sourcefile~outermetacomponent.f90 OuterMetaComponent.F90 sourcefile~outermetacomponent.f90->sourcefile~connection.f90 sourcefile~reexportconnection.f90 ReexportConnection.F90 sourcefile~reexportconnection.f90->sourcefile~connection.f90 sourcefile~simpleconnection.f90 SimpleConnection.F90 sourcefile~simpleconnection.f90->sourcefile~connection.f90

Source Code

module mapl3g_Connection
   implicit none
   private

   public :: Connection


   type, abstract :: Connection
   contains
      procedure(I_get), deferred :: get_source
      procedure(I_get), deferred :: get_destination
      procedure(I_connect), deferred :: activate
      procedure(I_connect), deferred :: connect
   end type Connection


   abstract interface

      function I_get(this) result(source)
         use mapl3g_ConnectionPt
         import Connection
         type(ConnectionPt) :: source
         class(Connection), intent(in) :: this
      end function I_get

      subroutine I_connect(this, registry, rc)
         use mapl3g_StateRegistry
         import Connection
         class(Connection), intent(in) :: this
         type(StateRegistry), target, intent(inout) :: registry
         integer, optional, intent(out) :: rc
      end subroutine I_connect

   end interface


end module mapl3g_Connection