/* ** (c) COPYRIGHT MIT 1995. ** Please first read the full copyright statement in the file COPYRIGH. */This module is a part of the W3C Sample Code Library.
#ifndef HTMULPAR_H
#define HTMULPAR_H
#include "HTStream.h"
#include "HTList.h"
#ifdef __cplusplus
extern "C" {
#endif
The MIME multipart stream is used to parse MIME multipart messages. It
works a bit like a structured stream in that it has some methods to
begin and end MIME body just as a structured stream has methods for
beginning and ending tags.
The HTMultipart stream is a subclass of a Generic Stream Object. As always, we don't
have classes in basic C so we have to do this by hand!
typedef struct _HTMultipart HTMultipart;
typedef struct _HTMultipartClass {
char * name;
int (*flush) (HTMultipart * me);
int (*_free) (HTMultipart * me);
int (*abort) (HTMultipart * me, HTList * errorlist);
int (*put_character)(HTMultipart * me, char ch);
int (*put_string) (HTMultipart * me, const char * str);
int (*put_block) (HTMultipart * me, const char * str, int len);
See the Generic Stream Definition for an
explanation of these methods. Note that they all have a
HTMultipart object a the parameter, not a generic
stream. This is to avoid incompatible pointer warnings
int (*begin_part) (HTMultipart * me, const char * boundary);
int (*end_part) (HTMultipart * me);
int (*preamble) (HTMultipart * me, const char * pre);
int (*epilogue) (HTMultipart * me, const char * epi);
} HTMultipartClass;
#ifdef __cplusplus
}
#endif
#endif /* HTMULPAR_H */