/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef COMM_MAILNEWS_MIME_SRC_MIMEMALT_H_ #define COMM_MAILNEWS_MIME_SRC_MIMEMALT_H_ #include "mimemult.h" #include "mimepbuf.h" /* The MimeMultipartAlternative class implements the multipart/alternative MIME container, which displays only one (the `best') of a set of enclosed documents. */ typedef struct MimeMultipartAlternativeClass MimeMultipartAlternativeClass; typedef struct MimeMultipartAlternative MimeMultipartAlternative; struct MimeMultipartAlternativeClass { MimeMultipartClass multipart; }; extern "C" MimeMultipartAlternativeClass mimeMultipartAlternativeClass; enum priority_t { PRIORITY_UNDISPLAYABLE, PRIORITY_LOW, PRIORITY_TEXT_UNKNOWN, PRIORITY_TEXT_PLAIN, PRIORITY_NORMAL, PRIORITY_HIGH, PRIORITY_HIGHEST }; struct MimeMultipartAlternative { MimeMultipart multipart; /* superclass variables */ MimeHeaders** buffered_hdrs; /* The headers of pending parts */ MimePartBufferData** part_buffers; /* The data of pending parts (see mimepbuf.h) */ int32_t pending_parts; int32_t max_parts; priority_t buffered_priority; /* Priority of head of pending parts */ }; #define MimeMultipartAlternativeClassInitializer(ITYPE, CSUPER) \ {MimeMultipartClassInitializer(ITYPE, CSUPER)} #endif // COMM_MAILNEWS_MIME_SRC_MIMEMALT_H_