/** Duplicate generic-header */ static apt_bool_t mrcp_generic_header_duplicate(mrcp_header_accessor_t *accessor, const mrcp_header_accessor_t *src, size_t id, apr_pool_t *pool) { mrcp_generic_header_t *generic_header = accessor->data; const mrcp_generic_header_t *src_generic_header = src->data; apt_bool_t status = TRUE; if(!generic_header || !src_generic_header) { return FALSE; } switch(id) { case GENERIC_HEADER_ACTIVE_REQUEST_ID_LIST: break; case GENERIC_HEADER_PROXY_SYNC_ID: apt_string_copy(&generic_header->proxy_sync_id,&src_generic_header->proxy_sync_id,pool); break; case GENERIC_HEADER_ACCEPT_CHARSET: apt_string_copy(&generic_header->accept_charset,&src_generic_header->accept_charset,pool); break; case GENERIC_HEADER_CONTENT_TYPE: apt_string_copy(&generic_header->content_type,&src_generic_header->content_type,pool); break; case GENERIC_HEADER_CONTENT_ID: apt_string_copy(&generic_header->content_id,&src_generic_header->content_id,pool); break; case GENERIC_HEADER_CONTENT_BASE: apt_string_copy(&generic_header->content_base,&src_generic_header->content_base,pool); break; case GENERIC_HEADER_CONTENT_ENCODING: apt_string_copy(&generic_header->content_encoding,&src_generic_header->content_encoding,pool); break; case GENERIC_HEADER_CONTENT_LOCATION: apt_string_copy(&generic_header->content_location,&src_generic_header->content_location,pool); break; case GENERIC_HEADER_CONTENT_LENGTH: generic_header->content_length = src_generic_header->content_length; break; case GENERIC_HEADER_CACHE_CONTROL: apt_string_copy(&generic_header->cache_control,&src_generic_header->cache_control,pool); break; case GENERIC_HEADER_LOGGING_TAG: apt_string_copy(&generic_header->logging_tag,&src_generic_header->logging_tag,pool); break; case GENERIC_HEADER_VENDOR_SPECIFIC_PARAMS: generic_header->vendor_specific_params = apt_pair_array_copy(src_generic_header->vendor_specific_params,pool); break; default: status = FALSE; } return status; }
/** Duplicate generic-header */ static apt_bool_t mrcp_generic_header_duplicate(mrcp_header_accessor_t *accessor, const mrcp_header_accessor_t *src, apr_size_t id, const apt_str_t *value, apr_pool_t *pool) { mrcp_generic_header_t *generic_header = accessor->data; const mrcp_generic_header_t *src_generic_header = src->data; apt_bool_t status = TRUE; if(!generic_header || !src_generic_header) { return FALSE; } switch(id) { case GENERIC_HEADER_ACTIVE_REQUEST_ID_LIST: break; case GENERIC_HEADER_PROXY_SYNC_ID: generic_header->proxy_sync_id = *value; break; case GENERIC_HEADER_ACCEPT_CHARSET: generic_header->accept_charset = *value; break; case GENERIC_HEADER_CONTENT_TYPE: generic_header->content_type = *value; break; case GENERIC_HEADER_CONTENT_ID: generic_header->content_id = *value; break; case GENERIC_HEADER_CONTENT_BASE: generic_header->content_base = *value; break; case GENERIC_HEADER_CONTENT_ENCODING: generic_header->content_encoding = *value; break; case GENERIC_HEADER_CONTENT_LOCATION: generic_header->content_location = *value; break; case GENERIC_HEADER_CONTENT_LENGTH: generic_header->content_length = src_generic_header->content_length; break; case GENERIC_HEADER_CACHE_CONTROL: generic_header->cache_control = *value; break; case GENERIC_HEADER_LOGGING_TAG: generic_header->logging_tag = *value; break; case GENERIC_HEADER_VENDOR_SPECIFIC_PARAMS: generic_header->vendor_specific_params = apt_pair_array_copy(src_generic_header->vendor_specific_params,pool); break; case GENERIC_HEADER_ACCEPT: generic_header->accept = *value; break; case GENERIC_HEADER_FETCH_TIMEOUT: generic_header->fetch_timeout = src_generic_header->fetch_timeout; break; case GENERIC_HEADER_SET_COOKIE: generic_header->set_cookie = *value; break; case GENERIC_HEADER_SET_COOKIE2: generic_header->set_cookie2 = *value; break; default: status = FALSE; } return status; }