qdr_terminus_t *qdr_terminus(pn_terminus_t *pn) { qdr_terminus_t *term = new_qdr_terminus_t(); ZERO(term); term->properties = pn_data(0); term->filter = pn_data(0); term->outcomes = pn_data(0); term->capabilities = pn_data(0); if (pn) { const char *addr = pn_terminus_get_address(pn); if (addr && *addr) term->address = qdr_field(addr); term->durability = pn_terminus_get_durability(pn); term->expiry_policy = pn_terminus_get_expiry_policy(pn); term->timeout = pn_terminus_get_timeout(pn); term->dynamic = pn_terminus_is_dynamic(pn); term->distribution_mode = pn_terminus_get_distribution_mode(pn); pn_data_copy(term->properties, pn_terminus_properties(pn)); pn_data_copy(term->filter, pn_terminus_filter(pn)); pn_data_copy(term->outcomes, pn_terminus_outcomes(pn)); pn_data_copy(term->capabilities, pn_terminus_capabilities(pn)); } return term; }
enum terminus::expiry_policy terminus::expiry_policy() const { return (enum expiry_policy)pn_terminus_get_expiry_policy(object_); }