@@ -34,35 +34,35 @@ PYBIND11_EMBEDDED_MODULE(aiges_embed, module) {
3434 r.len = size;
3535
3636 })
37- .def_readwrite (" key" , &ResponseData::key, py::return_value_policy::copy )
38- .def_readwrite (" data" , &ResponseData::data, py::return_value_policy::copy )
39- .def_readwrite (" status" , &ResponseData::status, py::return_value_policy::copy )
40- .def_readwrite (" len" , &ResponseData::len, py::return_value_policy::copy )
41- .def_readwrite (" type" , &ResponseData::type, py::return_value_policy::copy );
37+ .def_readwrite (" key" , &ResponseData::key, py::return_value_policy::automatic_reference )
38+ .def_readwrite (" data" , &ResponseData::data, py::return_value_policy::automatic_reference )
39+ .def_readwrite (" status" , &ResponseData::status, py::return_value_policy::automatic_reference )
40+ .def_readwrite (" len" , &ResponseData::len, py::return_value_policy::automatic_reference )
41+ .def_readwrite (" type" , &ResponseData::type, py::return_value_policy::automatic_reference );
4242
4343 py::class_<Response> response (module , " Response" );
4444 response.def (py::init<>())
45- .def_readwrite (" list" , &Response::list, py::return_value_policy::copy )
46- .def_readwrite (" error_code" , &Response::errCode, py::return_value_policy::copy )
47- .def (" response_err" , &Response::responseErr, py::return_value_policy::copy );
45+ .def_readwrite (" list" , &Response::list, py::return_value_policy::automatic_reference )
46+ .def_readwrite (" error_code" , &Response::errCode, py::return_value_policy::automatic_reference )
47+ .def (" response_err" , &Response::responseErr, py::return_value_policy::automatic_reference );
4848
4949 py::class_<DataListNode> dataListNode (module , " DataListNode" );
5050 dataListNode.def (py::init<>())
51- .def_property_readonly (" key" , &DataListNode::get_key , py::return_value_policy::reference )
52- .def_property_readonly (" data" , &DataListNode::get_data , py::return_value_policy::reference )
53- .def_property_readonly (" len" , &DataListNode::get_len , py::return_value_policy::reference )
54- .def_property_readonly (" status" , &DataListNode::get_status , py::return_value_policy::reference )
55- .def_property_readonly (" type" , &DataListNode::get_type , py::return_value_policy::reference )
51+ .def_readwrite (" key" , &DataListNode::key , py::return_value_policy::automatic_reference )
52+ .def_readwrite (" data" , &DataListNode::data , py::return_value_policy::automatic_reference )
53+ .def_readwrite (" len" , &DataListNode::len , py::return_value_policy::automatic_reference )
54+ .def_readwrite (" status" , &DataListNode::status , py::return_value_policy::automatic_reference )
55+ .def_readwrite (" type" , &DataListNode::type , py::return_value_policy::automatic_reference )
5656 .def (" get_data" , &DataListNode::get_data, py::return_value_policy::reference);
5757
5858 py::class_<DataListCls> dataListCls (module , " DataListCls" );
5959 dataListCls.def (py::init<>())
60- .def_property_readonly (" list" , &DataListCls::get_list , py::return_value_policy::reference )
60+ .def_readwrite (" list" , &DataListCls::list , py::return_value_policy::automatic_reference )
6161 .def (" get" , &DataListCls::get, py::return_value_policy::reference);
6262
6363 py::class_<SessionCreateResponse> sessionCreateResponse (module , " SessionCreateResponse" );
6464 sessionCreateResponse.def (py::init<>())
65- .def_readwrite (" handle" , &SessionCreateResponse::handle, py::return_value_policy::copy )
65+ .def_readwrite (" handle" , &SessionCreateResponse::handle, py::return_value_policy::automatic_reference )
6666 .def_readwrite (" error_code" , &SessionCreateResponse::errCode, py::return_value_policy::reference);
6767}
6868
@@ -90,21 +90,6 @@ py::bytes DataListNode::get_data() {
9090 return data;
9191}
9292
93- std::string DataListNode::get_key () {
94- return key;
95- }
96-
97- unsigned int DataListNode::get_len () {
98- return len;
99- }
100-
101- int DataListNode::get_status () {
102- return status;
103- }
104-
105- int DataListNode::get_type () {
106- return type;
107- }
10893DataListNode *DataListCls::get (std::string key) {
10994 for (int idx = 0 ; idx < list.size (); idx++) {
11095 DataListNode *node = &list[idx];
@@ -114,10 +99,6 @@ DataListNode *DataListCls::get(std::string key) {
11499 }
115100 return nullptr ;
116101}
117- std::vector <DataListNode> DataListCls::get_list () {
118- return list;
119- }
120-
121102
122103PyWrapper::PyWrapper () {
123104 // 仅仅为了 加载下python lib库使 其部分函数可被导出使用
0 commit comments