![]() |
![]() |
![]() |
Reference Manual of the tinymail framework | ![]() |
---|---|---|---|---|
TnyMimePartSaver; TnyMimePartSaverIface; TnyMimePartSaveStrategy* tny_mime_part_saver_get_save_strategy (TnyMimePartSaver *self); void tny_mime_part_saver_set_save_strategy (TnyMimePartSaver *self, TnyMimePartSaveStrategy *strategy); void tny_mime_part_saver_save (TnyMimePartSaver *self, TnyMimePart *part);
typedef struct { GTypeInterface parent; TnyMimePartSaveStrategy* (*get_save_strategy_func) (TnyMimePartSaver *self); void (*set_save_strategy_func) (TnyMimePartSaver *self, TnyMimePartSaveStrategy *strategy); void (*save_func) (TnyMimePartSaver *self, TnyMimePart *part); } TnyMimePartSaverIface;
TnyMimePartSaveStrategy* tny_mime_part_saver_get_save_strategy (TnyMimePartSaver *self);
Get the strategy for saving mime-parts. The return value must be unreferenced after use.
Example:
static void tny_my_msg_view_on_save_clicked (TnyMimePartSaver *self, TnyMimePart *attachment) { TnyMimePartSaveStrategy *strategy = tny_mime_part_saver_get_save_strategy (self); tny_save_strategy_save (strategy, attachment); g_object_unref (G_OBJECT (strategy)); }
Implementors: This method must return the strategy for saving a mime-part. being the implementer, you must add a reference before returning the instance.
Example:
static *TnyMimePartSaveStrategy tny_my_msg_view_get_save_strategy (TnyMimePartSaver *self_i) { TnyMyMsgView *self = TNY_MY_MSG_VIEW (self_i); return TNY_MIME_PART_SAVE_STRATEGY (g_object_ref (self->mime_part_save_strategy)); }
For more information take a look at tny_mime_part_save_strategy_perform_save of TnyMimePartSaveStrategy.
self : |
A TnyMsgView instance |
Returns : | the TnyMimePartSaveStrategy for self
|
void tny_mime_part_saver_set_save_strategy (TnyMimePartSaver *self, TnyMimePartSaveStrategy *strategy);
Set the strategy for saving mime-parts
Implementors: This method must set (store) the strategy for saving a mime-part.
Example:
static void tny_my_msg_view_set_save_strategy (TnyMimePartSaver *self_i, TnyMimePartSaveStrategy *strat) { TnyMyMsgView *self = TNY_MY_MSG_VIEW (self_i); if (self->save_strategy) g_object_unref (G_OBJECT (self->save_strategy)); self->save_strategy = g_object_ref (G_OBJECT (strat)); } static void tny_my_msg_view_finalize (TnyMyMsgView *self) { if (self->save_strategy)) g_object_unref (G_OBJECT (self->save_strategy)); }
The idea is that devices can have a specific such strategy. For example a strategy that sends it to another computer or a strategy that saves it to a flash disk. However. In the message view component, you don't care about that. You only care about the API of the save-strategy interface.
For more information take a look at tny_mime_part_save_strategy_perform_save of TnyMimePartSaveStrategy.
self : |
A TnyMimePartSaver instance |
strategy : |
A TnyMimePartSaveStrategy instace |
void tny_mime_part_saver_save (TnyMimePartSaver *self, TnyMimePart *part);
Saves mime_part
using the save strategy
self : |
A TnyMimePartSaver instance |
part : |
A TnyMimePart instace |