| 140 | } |
| 141 | |
| 142 | bmf_sdk::Packet packet_init(py::object &obj) { |
| 143 | if (obj.is_none()) { |
| 144 | return bmf_sdk::Packet(); |
| 145 | } |
| 146 | |
| 147 | auto cls_name = get_py_class_name(obj.attr("__class__")); |
| 148 | if (s_packet_casters.find(cls_name) == s_packet_casters.end()) { |
| 149 | return bmf_sdk::Packet( |
| 150 | bmf_sdk::PythonObject(obj)); // support python types |
| 151 | } else { |
| 152 | return s_packet_casters.at(cls_name).to(obj); |
| 153 | } |
| 154 | } |
| 155 | |
| 156 | #define PACKET_REGISTER_TYPE(name, T) \ |
| 157 | register_packet_caster( \ |
no test coverage detected