@@ -53,6 +53,13 @@ void set_reply_to(mail_pop_account& self, const std::string& name) {
53
53
self.reply_to [128 - 1 ] = ' \0 ' ;
54
54
}
55
55
56
+ status_t AddEnclosure_wrapper (BMailMessage& self, const char * MIME_type, py::buffer data, int32 len, bool clobber = false ) {
57
+ py::buffer_info info = data.request ();
58
+ void * buffer = info.ptr ;
59
+ return self.AddEnclosure (MIME_type, buffer, len, clobber);
60
+ }
61
+
62
+
56
63
PYBIND11_MODULE (Email, m)
57
64
{
58
65
py::enum_<read_flags>(m, " read_flags" , " " )
@@ -95,7 +102,8 @@ py::class_<BMailMessage>(m, "BMailMessage")
95
102
.def (" AddContent" , py::overload_cast<const char *, int32, const char *, bool >(&BMailMessage::AddContent), " " , py::arg (" text" ), py::arg (" length" ), py::arg (" encoding" ), py::arg (" clobber" )=false )
96
103
.def (" AddEnclosure" , py::overload_cast<entry_ref *, bool >(&BMailMessage::AddEnclosure), " " , py::arg (" ref" ), py::arg (" clobber" )=false )
97
104
.def (" AddEnclosure" , py::overload_cast<const char *, bool >(&BMailMessage::AddEnclosure), " " , py::arg (" path" ), py::arg (" clobber" )=false )
98
- .def (" AddEnclosure" , py::overload_cast<const char *, void *, int32, bool >(&BMailMessage::AddEnclosure), " " , py::arg (" MIME_type" ), py::arg (" data" ), py::arg (" len" ), py::arg (" clobber" )=false )
105
+ // .def("AddEnclosure", py::overload_cast<const char *, void *, int32, bool>(&BMailMessage::AddEnclosure), "", py::arg("MIME_type"), py::arg("data"), py::arg("len"), py::arg("clobber")=false)
106
+ .def (" AddEnclosure" , &AddEnclosure_wrapper, " " , py::arg (" MIME_type" ), py::arg (" data" ), py::arg (" len" ), py::arg (" clobber" )=false )
99
107
.def (" AddHeaderField" , py::overload_cast<uint32, const char *, const char *, bool >(&BMailMessage::AddHeaderField), " " , py::arg (" encoding" ), py::arg (" field_name" ), py::arg (" str" ), py::arg (" clobber" )=false )
100
108
.def (" AddHeaderField" , py::overload_cast<const char *, const char *, bool >(&BMailMessage::AddHeaderField), " " , py::arg (" field_name" ), py::arg (" str" ), py::arg (" clobber" )=false )
101
109
.def (" Send" , &BMailMessage::Send, " " , py::arg (" sendNow" )=false , py::arg (" removeAfterSending" )=false )
0 commit comments