122416566331d60bbef3e835cd7ab34d74e85525
[modest] / src / modest-tny-attachment.h
1 /* modest-tny-attachment.h */
2 /* insert (c)/licensing information) */
3
4 #ifndef __MODEST_TNY_ATTACHMENT_H__
5 #define __MODEST_TNY_ATTACHMENT_H__
6
7 #include <glib-object.h>
8 #include <tny-stream-iface.h>
9 #include <tny-msg-iface.h>
10 #include <tny-msg-mime-part-iface.h>
11 /* other include files */
12
13 G_BEGIN_DECLS
14
15 /* convenience macros */
16 #define MODEST_TYPE_TNY_ATTACHMENT             (modest_tny_attachment_get_type())
17 #define MODEST_TNY_ATTACHMENT(obj)             (G_TYPE_CHECK_INSTANCE_CAST((obj),MODEST_TYPE_TNY_ATTACHMENT,ModestTnyAttachment))
18 #define MODEST_TNY_ATTACHMENT_CLASS(klass)     (G_TYPE_CHECK_CLASS_CAST((klass),MODEST_TYPE_TNY_ATTACHMENT,GObject))
19 #define MODEST_IS_TNY_ATTACHMENT(obj)          (G_TYPE_CHECK_INSTANCE_TYPE((obj),MODEST_TYPE_TNY_ATTACHMENT))
20 #define MODEST_IS_TNY_ATTACHMENT_CLASS(klass)  (G_TYPE_CHECK_CLASS_TYPE((klass),MODEST_TYPE_TNY_ATTACHMENT))
21 #define MODEST_TNY_ATTACHMENT_GET_CLASS(obj)   (G_TYPE_INSTANCE_GET_CLASS((obj),MODEST_TYPE_TNY_ATTACHMENT,ModestTnyAttachmentClass))
22
23 typedef struct _ModestTnyAttachment      ModestTnyAttachment;
24 typedef struct _ModestTnyAttachmentClass ModestTnyAttachmentClass;
25
26 struct _ModestTnyAttachment {
27          GObject parent;
28         /* insert public members, if any */
29 };
30
31 struct _ModestTnyAttachmentClass {
32         GObjectClass parent_class;
33         /* insert signal callback declarations, eg. */
34         /* void (* my_event) (ModestTnyAttachment* obj); */
35 };
36
37 /* member functions */
38 GType        modest_tny_attachment_get_type    (void) G_GNUC_CONST;
39
40 /* typical parameter-less _new function */
41 /* if this is a kind of GtkWidget, it should probably return at GtkWidget*, */
42 /*    otherwise probably a GObject*. */
43 ModestTnyAttachment*    modest_tny_attachment_new         (void);
44
45 /* fill in other public functions, eg.: */
46 /*      void       modest_tny_attachment_do_something (ModestTnyAttachment *self, const gchar* param); */
47 /*      gboolean   modest_tny_attachment_has_foo      (ModestTnyAttachment *self, gint value); */
48
49 void modest_tny_attachment_set_name (ModestTnyAttachment *self, const gchar * thing);
50 const gchar *modest_tny_attachment_get_name (ModestTnyAttachment *self);
51
52 void modest_tny_attachment_set_filename (ModestTnyAttachment *self, const gchar * thing);
53 const gchar *modest_tny_attachment_get_filename (ModestTnyAttachment *self);
54
55 void modest_tny_attachment_set_mime_type (ModestTnyAttachment *self, const gchar * thing);
56 const gchar *modest_tny_attachment_get_mime_type (ModestTnyAttachment *self);
57
58 void modest_tny_attachment_guess_mime_type (ModestTnyAttachment *self);
59
60 TnyStreamIface * modest_tny_attachment_get_stream (ModestTnyAttachment *self);
61
62 void modest_tny_attachment_free_list(GList *list);
63
64 GList *modest_tny_attachment_new_list_from_msg(const TnyMsgIface *msg, gboolean with_body);
65
66 G_END_DECLS
67
68 #endif /* __MODEST_TNY_ATTACHMENT_H__ */
69