add protobuff auto generate func