165e4d302SPatrick Williams /** Get value of ${property.name} 265e4d302SPatrick Williams * ${property.description.strip()} 365e4d302SPatrick Williams */ 465e4d302SPatrick Williams auto ${property.camelCase}() 565e4d302SPatrick Williams { 665e4d302SPatrick Williams return proxy.template get_property<\ 765e4d302SPatrick Williams${property.cppTypeParam(interface.name)}>(ctx, "${property.name}"); 865e4d302SPatrick Williams } 965e4d302SPatrick Williams 10*5bc767aaSPatrick 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 */ 1465e4d302SPatrick Williams auto ${property.camelCase}(auto value) 1565e4d302SPatrick Williams { 1665e4d302SPatrick Williams return proxy.template set_property<\ 1765e4d302SPatrick Williams${property.cppTypeParam(interface.name)}>( 1865e4d302SPatrick Williams ctx, "${property.name}", std::forward<decltype(value)>(value)); 1965e4d302SPatrick Williams } 20*5bc767aaSPatrick Williams% endif 21