165e4d302SPatrick Williams /** Get value of ${property.name} 265e4d302SPatrick Williams * ${property.description.strip()} 365e4d302SPatrick Williams */ 4*b736e075SPatrick Williams auto ${property.snake_case}() 565e4d302SPatrick Williams { 665e4d302SPatrick Williams return proxy.template get_property<\ 7351f8cd5SPatrick Williams${property.cppTypeParam(interface.name)}>(context(), "${property.name}"); 865e4d302SPatrick Williams } 965e4d302SPatrick Williams 105bc767aaSPatrick Williams% if 'const' not in property.flags and 'readonly' not in property.flags: 1165e4d302SPatrick Williams /** Set value of ${property.name} 1265e4d302SPatrick Williams * ${property.description.strip()} 1365e4d302SPatrick Williams */ 14*b736e075SPatrick Williams auto ${property.snake_case}(auto value) 1565e4d302SPatrick Williams { 1665e4d302SPatrick Williams return proxy.template set_property<\ 1765e4d302SPatrick Williams${property.cppTypeParam(interface.name)}>( 18351f8cd5SPatrick Williams context(), "${property.name}", std::forward<decltype(value)>(value)); 1965e4d302SPatrick Williams } 205bc767aaSPatrick Williams% endif 21