Skip to content

Commit 51a1e6a

Browse files
committed
update AddEnclosure in Email.cpp
1 parent 096861a commit 51a1e6a

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

bindings/mail/Email.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,13 @@ void set_reply_to(mail_pop_account& self, const std::string& name) {
5353
self.reply_to[128 - 1] = '\0';
5454
}
5555

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+
5663
PYBIND11_MODULE(Email, m)
5764
{
5865
py::enum_<read_flags>(m, "read_flags", "")
@@ -95,7 +102,8 @@ py::class_<BMailMessage>(m, "BMailMessage")
95102
.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)
96103
.def("AddEnclosure", py::overload_cast<entry_ref *, bool>(&BMailMessage::AddEnclosure), "", py::arg("ref"), py::arg("clobber")=false)
97104
.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)
99107
.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)
100108
.def("AddHeaderField", py::overload_cast<const char *, const char *, bool>(&BMailMessage::AddHeaderField), "", py::arg("field_name"), py::arg("str"), py::arg("clobber")=false)
101109
.def("Send", &BMailMessage::Send, "", py::arg("sendNow")=false, py::arg("removeAfterSending")=false)

0 commit comments

Comments
 (0)