Thanks for comments. My macroses:
_MEMBER_GET(name,name,const Glib::ustring&,const gchar*)
_MEMBER_SET(name,name,Glib::ustring,gchar*)
the generated code :
const Glib::ustring& DsnInfo::get_name() const
{
return Glib::convert_const_gchar_ptr_to_ustring(gobj()->name); // This is my concern. it looks like we return ref for temp object
}