aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/java/JavaHTMLRendererTemplateCallback.h
blob: f32ca97a6e5f832b20d2879074851d191347efa2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#ifndef MAILCORE_JAVA_HTML_RENDERER_TEMPLATE_CALLBACK_H

#define MAILCORE_JAVA_HTML_RENDERER_TEMPLATE_CALLBACK_H

#include <jni.h>

#include "MCBaseTypes.h"
#include "MCHTMLRendererCallback.h"

namespace mailcore {

class JavaHTMLRendererTemplateCallback : public Object, public HTMLRendererTemplateCallback {
public:
    JavaHTMLRendererTemplateCallback(JNIEnv * env, jobject listener);
    
    virtual bool canPreviewPart(AbstractPart * part);
    virtual bool shouldShowPart(AbstractPart * part);
    virtual HashMap * templateValuesForHeader(MessageHeader * header);
    virtual HashMap * templateValuesForPart(AbstractPart * part);
    virtual String * templateForMainHeader(MessageHeader * header);
    virtual String * templateForImage(AbstractPart * part);
    virtual String * templateForAttachment(AbstractPart * part);
    virtual String * templateForMessage(AbstractMessage * message);
    virtual String * templateForEmbeddedMessage(AbstractMessagePart * part);
    virtual String * templateForEmbeddedMessageHeader(MessageHeader * header);
    virtual String * templateForAttachmentSeparator();
    virtual String * cleanHTMLForPart(String * html);
    virtual String * filterHTMLForPart(String * html);
    virtual String * filterHTMLForMessage(String * html);
    
private:
    jobject mCallback;
    JNIEnv * mEnv;
};

}

#endif