void register_handlers () { mu_registrar_record (mu_mbox_record); mu_registrar_record (mu_sendmail_record); mu_registrar_record (mu_smtp_record); mu_registrar_set_default_record (mu_mbox_record); }
void _mu_py_attach_registrar () { _mu_py_attach_module (PY_MODULE, methods); mu_registrar_record (MU_DEFAULT_RECORD); mu_registrar_set_default_record (MU_DEFAULT_RECORD); }
static int register_format (const char *name) { int status = 0; if (!name) { struct format_record *table; for (table = format_table; table->name; table++) mu_registrar_record (*table->record); } else { mu_record_t *record = find_format (format_table, name); if (record) status = mu_registrar_record (*record); else status = EINVAL; } return status; }
int main (int argc, char **argv) { mu_mailbox_t mbox = NULL; size_t i; size_t count = 0; char *mailbox_name; int debug = 0; for (i = 1; i < argc; i++) { if (strcmp (argv[i], "-d") == 0) debug = 1; else if (strcmp (argv[i], "-p") == 0) print_attachments = 1; else if (strcmp (argv[i], "-i") == 0) { if (++i == argc) { mu_error ("-i requires argument"); exit (1); } indent_level = strtoul (argv[i], NULL, 0); } else if (strcmp (argv[i], "-c") == 0) { if (++i == argc) { mu_error ("-c requires argument"); exit (1); } charset = argv[i]; } else break; } mailbox_name = argv[i]; /* Registration. */ mu_registrar_record (mu_imap_record); mu_registrar_record (mu_pop_record); mu_registrar_record (mu_mbox_record); mu_registrar_set_default_record (mu_mbox_record); MU_ASSERT (mu_mailbox_create_default (&mbox, mailbox_name)); /* Debugging trace. */ if (debug) { mu_debug_set_category_level (MU_DEBCAT_MAILBOX, MU_DEBUG_LEVEL_UPTO (MU_DEBUG_PROT)); } /* Open the mailbox for reading only. */ MU_ASSERT (mu_mailbox_open (mbox, MU_STREAM_READ)); /* Iterate through the entire message set. */ MU_ASSERT (mu_mailbox_messages_count (mbox, &count)); for (i = 1; i <= count; ++i) { mu_message_t msg; mu_header_t hdr; size_t nparts; size_t msize, nlines; MU_ASSERT (mu_mailbox_get_message (mbox, i, &msg)); MU_ASSERT (mu_message_size (msg, &msize)); MU_ASSERT (mu_message_lines (msg, &nlines)); MU_ASSERT (mu_message_get_header (msg, &hdr)); if (mu_header_sget_value (hdr, MU_HEADER_FROM, &from)) from = ""; if (mu_header_sget_value (hdr, MU_HEADER_SUBJECT, &subject)) subject = ""; printf ("Message: %lu\n", (unsigned long) i); printf ("From: %s\n", from); printf ("Subject: %s\n", subject); MU_ASSERT (mu_message_get_num_parts (msg, &nparts)); printf ("Number of parts in message - %lu\n", (unsigned long) nparts); printf ("Total message size - %lu/%lu\n", (unsigned long) msize, (unsigned long) nlines); message_display_parts (msg, 0); } mu_mailbox_close (mbox); mu_mailbox_destroy (&mbox); return 0; }
int main (int argc, char **argv) { int i; int rc; mu_folder_t folder; char *fname = NULL; mu_set_program_name (argv[0]); mu_registrar_record (mu_imap_record); mu_registrar_record (mu_imaps_record); if (argc == 1) { usage (); exit (0); } for (i = 1; i < argc; i++) { if (strncmp (argv[i], "debug=", 6) == 0) mu_debug_parse_spec (argv[i] + 6); else if (strncmp (argv[i], "url=", 4) == 0) fname = argv[i] + 4; else break; } if (!fname) { mu_error ("URL not specified"); exit (1); } rc = mu_folder_create (&folder, fname); if (rc) { mu_diag_funcall (MU_DIAG_ERROR, "mu_folder_create", fname, rc); return 1; } rc = mu_folder_open (folder, MU_STREAM_READ); if (rc) { mu_diag_funcall (MU_DIAG_ERROR, "mu_folder_open", fname, rc); return 1; } while (i < argc) { char *comargs[2]; struct command *cmd; cmd = find_command (argv[i]); if (!cmd) { mu_error ("unknown command %s\n", argv[i]); break; } i++; if (i + cmd->nargs > argc) { mu_error ("not enough arguments for %s", cmd->verb); break; } memcpy (comargs, argv + i, cmd->nargs * sizeof (comargs[0])); i += cmd->nargs; cmd->handler (folder, comargs); } mu_folder_close (folder); mu_folder_destroy (&folder); return 0; }