#include "MAPL_ErrLog.h" submodule (mapl3g_ComponentSpecParser) parse_setservices_smod contains module function parse_setservices(config, rc) result(user_ss) type(DSOSetServices) :: user_ss type(ESMF_HConfig), target, intent(in) :: config integer, optional, intent(out) :: rc character(:), allocatable :: sharedObj, userRoutine integer :: status sharedObj = ESMF_HConfigAsString(config,keyString='sharedObj',rc=status) _ASSERT(status == 0, 'setServices spec does not specify sharedObj') if (ESMF_HConfigIsDefined(config,keyString='userRoutine')) then userRoutine = ESMF_HConfigAsString(config,keyString='userRoutine',_RC) else userRoutine = 'setservices_' end if user_ss = user_setservices(sharedObj, userRoutine) _RETURN(_SUCCESS) end function parse_setservices end submodule parse_setservices_smod