730 |
} |
} |
731 |
#undef FUNC_NAME |
#undef FUNC_NAME |
732 |
|
|
733 |
|
SCM_DEFINE (mu_message_multipart_p, "mu-message-multipart?", 1, 0, 0, |
734 |
|
(SCM MESG), |
735 |
|
"Returns #t if MESG is a multipart MIME message.") |
736 |
|
#define FUNC_NAME s_mu_message_multipart_p |
737 |
|
{ |
738 |
|
message_t msg; |
739 |
|
int ismime = 0; |
740 |
|
|
741 |
|
SCM_ASSERT (mu_scm_is_message (MESG), MESG, SCM_ARG1, FUNC_NAME); |
742 |
|
msg = mu_scm_message_get (MESG); |
743 |
|
message_is_multipart (msg, &ismime); |
744 |
|
return ismime ? SCM_BOOL_T : SCM_BOOL_F; |
745 |
|
} |
746 |
|
#undef FUNC_NAME |
747 |
|
|
748 |
|
SCM_DEFINE (mu_message_get_num_parts, "mu-message-get-num-parts", 1, 0, 0, |
749 |
|
(SCM MESG), |
750 |
|
"Returns number of parts in a multipart MIME message. Returns\n" |
751 |
|
"#f if the argument is not a multipart message.") |
752 |
|
#define FUNC_NAME s_mu_message_get_num_parts |
753 |
|
{ |
754 |
|
message_t msg; |
755 |
|
int ismime = 0; |
756 |
|
size_t nparts = 0; |
757 |
|
|
758 |
|
SCM_ASSERT (mu_scm_is_message (MESG), MESG, SCM_ARG1, FUNC_NAME); |
759 |
|
msg = mu_scm_message_get (MESG); |
760 |
|
message_is_multipart (msg, &ismime); |
761 |
|
if (!ismime) |
762 |
|
return SCM_BOOL_F; |
763 |
|
|
764 |
|
message_get_num_parts (msg, &nparts); |
765 |
|
return scm_makenum (nparts); |
766 |
|
} |
767 |
|
#undef FUNC_NAME |
768 |
|
|
769 |
|
SCM_DEFINE (mu_message_get_part, "mu-message-get-part", 2, 0, 0, |
770 |
|
(SCM MESG, SCM PART), |
771 |
|
"Returns part number PART from a multipart MIME message.") |
772 |
|
#define FUNC_NAME s_mu_message_get_part |
773 |
|
{ |
774 |
|
message_t msg, submsg; |
775 |
|
int ismime = 0; |
776 |
|
|
777 |
|
SCM_ASSERT (mu_scm_is_message (MESG), MESG, SCM_ARG1, FUNC_NAME); |
778 |
|
SCM_ASSERT (SCM_IMP (PART) && SCM_INUMP (PART), PART, SCM_ARG2, FUNC_NAME); |
779 |
|
|
780 |
|
msg = mu_scm_message_get (MESG); |
781 |
|
message_is_multipart (msg, &ismime); |
782 |
|
if (!ismime) |
783 |
|
return SCM_BOOL_F; |
784 |
|
|
785 |
|
if (message_get_part (msg, SCM_INUM (PART), &submsg)) |
786 |
|
return SCM_BOOL_F; |
787 |
|
return mu_scm_message_create (MESG, submsg); |
788 |
|
} |
789 |
|
#undef FUNC_NAME |
790 |
|
|
791 |
SCM_DEFINE (mu_message_send, "mu-message-send", 1, 3, 0, |
SCM_DEFINE (mu_message_send, "mu-message-send", 1, 3, 0, |
792 |
(SCM MESG, SCM MAILER, SCM FROM, SCM TO), |
(SCM MESG, SCM MAILER, SCM FROM, SCM TO), |
793 |
"Sends the message MESG. Optional MAILER overrides default\n" |
"Sends the message MESG. Optional MAILER overrides default\n" |