MAPL_AdvertiseService Subroutine

public subroutine MAPL_AdvertiseService(GC, SERVICE, BUNDLE, RC)

Arguments

Type IntentOptional Attributes Name
type(ESMF_GridComp), intent(inout) :: GC
character(len=*), intent(in) :: SERVICE
character(len=*), intent(in) :: BUNDLE
integer, intent(out), optional :: RC

Calls

proc~~mapl_advertiseservice~~CallsGraph proc~mapl_advertiseservice MAPL_AdvertiseService none~push_back~55 providedServiceItemVector%push_back proc~mapl_advertiseservice->none~push_back~55 proc~mapl_internalstateretrieve MAPL_InternalStateRetrieve proc~mapl_advertiseservice->proc~mapl_internalstateretrieve proc~mapl_return MAPL_Return proc~mapl_advertiseservice->proc~mapl_return proc~mapl_verify MAPL_Verify proc~mapl_advertiseservice->proc~mapl_verify none~capacity~325 providedServiceItemVector%capacity none~push_back~55->none~capacity~325 none~resize~110 providedServiceItemVector%resize none~push_back~55->none~resize~110 proc~mapl_internalstateretrieve->proc~mapl_return proc~mapl_internalstateretrieve->proc~mapl_verify ESMF_GridCompGet ESMF_GridCompGet proc~mapl_internalstateretrieve->ESMF_GridCompGet ESMF_UserCompGetInternalState ESMF_UserCompGetInternalState proc~mapl_internalstateretrieve->ESMF_UserCompGetInternalState proc~mapl_internalstatecreate MAPL_InternalStateCreate proc~mapl_internalstateretrieve->proc~mapl_internalstatecreate at at proc~mapl_return->at insert insert proc~mapl_return->insert proc~mapl_throw_exception MAPL_throw_exception proc~mapl_return->proc~mapl_throw_exception proc~mapl_verify->proc~mapl_throw_exception none~resize_32~51 providedServiceItemVector%resize_32 none~resize~110->none~resize_32~51 proc~mapl_internalstatecreate->proc~mapl_return proc~mapl_internalstatecreate->proc~mapl_verify proc~mapl_internalstatecreate->ESMF_GridCompGet ESMF_UserCompSetInternalState ESMF_UserCompSetInternalState proc~mapl_internalstatecreate->ESMF_UserCompSetInternalState none~get_component~2 ConcreteComposite%get_component proc~mapl_internalstatecreate->none~get_component~2 none~initialize~15 ConcreteComposite%initialize proc~mapl_internalstatecreate->none~initialize~15 none~set_composite~2 CompositeComponent%set_composite proc~mapl_internalstatecreate->none~set_composite~2 none~resize_32~51->none~resize~110

Source Code

   subroutine MAPL_AdvertiseService(GC, SERVICE, BUNDLE, RC)
      type(ESMF_GridComp),            intent(INOUT) :: GC ! Gridded component
      character (len=*),              intent(IN   ) :: SERVICE
      character (len=*),              intent(IN   ) :: BUNDLE
      integer,              optional, intent(  OUT) :: RC     ! Error code:

      integer :: status
      type (MAPL_MetaComp), pointer     :: MAPLOBJ

      !get MAPL
      call MAPL_InternalStateRetrieve ( GC, MAPLOBJ, RC=status )
      _VERIFY(status)

      call maplobj%provided_services%push_back( &
           ProvidedServiceType( &
           SERVICE=SERVICE, &
           BUNDLE=BUNDLE))

      _RETURN(ESMF_SUCCESS)
   end subroutine MAPL_AdvertiseService