Top | ![]() |
![]() |
![]() |
![]() |
CamelMessageInfo * camel_message_info_new (struct _CamelFolderSummary *summary
);
Create a new summary
.
Since: 3.24
CamelMessageInfo * camel_message_info_clone (const
,CamelMessageInfo *mistruct _CamelFolderSummary *assign_summary
);
Clones the mi
as a new mi
is used.
mi |
a |
|
assign_summary |
parent |
[nullable][type CamelFolderSummary] |
Since: 3.24
gboolean camel_message_info_load (,
CamelMessageInfo *miconst struct _CamelMIRecord *record
,);
gchar **bdata_ptr
Load content of mi
from the data stored in record
. The bdata_ptr
points
to the current position of the record->bdata, where the read can continue.
Use helper functions camel_util_bdata_get_number()
and camel_util_bdata_get_string()
to read data from it and also move forward the *bdata_ptr.
After successful load of the mi
, the 'dirty' flag is unset.
mi |
a |
|
record |
a CamelMIRecord to load the |
[type CamelMIRecord] |
bdata_ptr |
a backend specific data (bdata) pointer |
Since: 3.24
gboolean camel_message_info_save (const
,CamelMessageInfo *mistruct _CamelMIRecord *record
,);
GString *bdata_str
Save the mi
content to the message info record record
. It can populate all
but the record->bdata value, which is set fro mthe bdata_str
. Use helper functions
camel_util_bdata_put_number()
and camel_util_bdata_put_string()
to put data into the bdata_str
.
mi |
a |
|
record |
a CamelMIRecord to populate. |
[type CamelMIRecord] |
bdata_str |
a |
Since: 3.24
struct_CamelFolderSummary * camel_message_info_ref_summary (const
);CamelMessageInfo *mi
Referenced mi
belongs, or NULL
g_object_unref()
[transfer full]
Since: 3.24
void camel_message_info_property_lock (const
);CamelMessageInfo *mi
Acquires a property lock, which is used to ensure thread safety
when properties are changing. Release the lock with
camel_message_info_property_unlock()
.
Since: 3.24
void camel_message_info_property_unlock (const
);CamelMessageInfo *mi
Releases a property lock, previously acquired with
camel_message_info_property_lock()
.
Since: 3.24
gboolean camel_message_info_get_dirty (const
);CamelMessageInfo *mi
Whether the mi
is dirty, which means that it had been
changed and a save to the local summary is required.
Since: 3.24
void camel_message_info_set_dirty (,
CamelMessageInfo *mi);
gboolean dirty
Marks the mi
as dirty, which means a save to the local summary
is required.
Since: 3.24
gboolean camel_message_info_get_folder_flagged (const
);CamelMessageInfo *mi
The folder flagged flag is used to mark the message infor as being changed and this change should be propagated to the remote store (server). This is different from the 'dirty' flag, which is set for local changes only. It can happen that the 'folder-flagged' flag is set, but the 'dirty' flag not.
This is only a convenient wrapper around CAMEL_MESSAGE_FOLDER_FLAGGED flag, for better readiness of the code.
Since: 3.24
gboolean camel_message_info_set_folder_flagged (,
CamelMessageInfo *mi);
gboolean folder_flagged
Changes the folder-flagged flag to the folder_flagged
value. See
camel_message_info_get_folder_flagged()
for more information about
the use of this flag.
This is only a convenient wrapper around CAMEL_MESSAGE_FOLDER_FLAGGED flag, for better readiness of the code.
Since: 3.24
guint camel_message_info_get_folder_flagged_stamp (const
);CamelMessageInfo *mi
The 'folder-flagged-stamp' is a stamp of the 'folder-flagged' flag. This stamp
changes whenever anything would mark the mi
as 'folder-flagged', regardless
the mi
being already 'folder-flagged'. It can be used to recognize changes
on the 'folder-flagged' flag during the time.
Since: 3.24
gboolean camel_message_info_get_abort_notifications (const
);CamelMessageInfo *mi
Whether the mi
is aborting notifications, which means
that it will not influence 'dirty' and 'folder-flagged' flags
in the set/take functions, neither it will emit any GObject::notify
signals on change, nor associated folder's "changed" signal.
Since: 3.24
void camel_message_info_set_abort_notifications (,
CamelMessageInfo *mi);
gboolean abort_notifications
Marks the mi
to abort any notifications, which means that it
will not influence 'dirty' and 'folder-flagged' flags in
the set/take functions, neither it will emit any GObject::notify
signals on change, nor associated folder's "changed" signal.
Since: 3.24
void camel_message_info_freeze_notifications ();
CamelMessageInfo *mi
Freezes all the notifications until the camel_message_info_thaw_notifications()
is called.
This function can be called multiple times, where the last thaw will do the notifications.
Since: 3.24
void camel_message_info_thaw_notifications ();
CamelMessageInfo *mi
Reverses the call of the camel_message_info_freeze_notifications()
.
If this is the last freeze, then the associated folder is also notified
about the change, if any happened during the freeze.
Since: 3.24
gboolean camel_message_info_get_notifications_frozen (const
);CamelMessageInfo *mi
Since: 3.24
constgchar * camel_message_info_get_uid (const
);CamelMessageInfo *mi
Get the UID of the
Since: 3.24
constgchar * camel_message_info_pooldup_uid (const
);CamelMessageInfo *mi
Get the UID of the
A newly references string in the string pool, the camel_pstring_free()
when no longer needed.
Since: 3.24
gboolean camel_message_info_set_uid (,
CamelMessageInfo *miconst
);gchar *uid
Changes UID of the mi
to uid
. If it changes, the 'dirty' flag
of the mi
is set too, unless the mi
is aborting notifications. This change
does not influence the 'folder-flagged' flag.
Since: 3.24
guint32 camel_message_info_get_flags (const
);CamelMessageInfo *mi
Since: 3.24
gboolean camel_message_info_set_flags (,
CamelMessageInfo *mi,
guint32 mask);
guint32 set
Change the state of the flags on the mi
. Both mask
and set
are bit-or
of CamelMessageFlags.
If the mi
changed, the 'dirty' flag and the 'folder-flagged' flag are
set automatically, unless the mi
is aborting notifications. There is also emitted
folder's "changed" signal for this mi
, if necessary. In case
the CAMEL_MESSAGE_FOLDER_FLAGGED flag would be set and the mi
is
not aborting notifications, the 'folder-flagged-stamp' changes too.
mi |
a |
|
mask |
mask of flags to change |
|
set |
state the flags should be changed to |
Since: 3.24
gboolean camel_message_info_get_user_flag (const
,CamelMessageInfo *miconst
);gchar *name
Since: 3.24
gboolean camel_message_info_set_user_flag (,
CamelMessageInfo *miconst
,gchar *name);
gboolean state
Change state
of the flag named name
. Unlike user tags, user flags
can only be set or unset, while the user tags can contain certain values.
If the mi
changed, the 'dirty' flag and the 'folder-flagged' flag are
set automatically, unless the mi
is aborting notifications. There is also emitted
folder's "changed" signal for this mi
, if necessary.
Since: 3.24
const CamelNamedFlags *
camel_message_info_get_user_flags (const CamelMessageInfo *mi
);
A CamelNamedFlags with all the currently set
user flags on the mi
. Do not modify it.
[transfer none][nullable]
Since: 3.24
CamelNamedFlags *
camel_message_info_dup_user_flags (const CamelMessageInfo *mi
);
A newly allocated CamelNamedFlags with all the currently set
user flags on the mi
. Free the returned structure with camel_named_flags_free()
when no londer needed.
[transfer full]
Since: 3.24
gboolean camel_message_info_take_user_flags (,
CamelMessageInfo *miCamelNamedFlags *user_flags
);
Takes all the user_flags
, which replaces any current user flags on the mi
.
The passed-in user_flags
is consumed by the mi
, which becomes an owner
of it. The caller should not change user_flags
afterwards.
If the mi
changed, the 'dirty' flag and the 'folder-flagged' flag are
set automatically, unless the mi
is aborting notifications. There is also emitted
folder's "changed" signal for this mi
, if necessary.
Note that it's not safe to use the user_flags
after the call to this function,
because it can be freed due to no change.
Since: 3.24
constgchar * camel_message_info_get_user_tag (const
,CamelMessageInfo *miconst
);gchar *name
Since: 3.24
gchar * camel_message_info_dup_user_tag (const
,CamelMessageInfo *miconst
);gchar *name
Value of the user tag as newly allocated
string, or NULL
g_free()
[transfer full][nullable]
Since: 3.24
gboolean camel_message_info_set_user_tag (,
CamelMessageInfo *miconst
,gchar *nameconst
);gchar *value
Set user tag name
to value
, or remove it, if value
is NULL
If the mi
changed, the 'dirty' flag and the 'folder-flagged' flag are
set automatically, unless the mi
is aborting notifications. There is also emitted
folder's "changed" signal for this mi
, if necessary.
mi |
a |
|
name |
user tag name |
|
value |
user tag value, or |
[nullable] |
Since: 3.24
const CamelNameValueArray *
camel_message_info_get_user_tags (const CamelMessageInfo *mi
);
a CamelNameValueArray containing all set
user tags of the mi
. Do not modify it.
[transfer none][nullable]
Since: 3.24
CamelNameValueArray *
camel_message_info_dup_user_tags (const CamelMessageInfo *mi
);
a newly allocated CamelNameValueArray containing all set
user tags of the mi
. Free it with camel_name_value_array_free()
when no longer needed.
[transfer full][nullable]
Since: 3.24
gboolean camel_message_info_take_user_tags (,
CamelMessageInfo *miCamelNameValueArray *user_tags
);
Takes all the user_tags
, which replaces any current user tags on the mi
.
The passed-in user_tags
is consumed by the mi
, which becomes an owner
of it. The caller should not change user_tags
afterwards.
If the mi
changed, the 'dirty' flag and the 'folder-flagged' flag are
set automatically, unless the mi
is aborting notifications. There is also emitted
folder's "changed" signal for this mi
, if necessary.
Note that it's not safe to use the user_tags
after the call to this function,
because it can be freed due to no change.
Since: 3.24
constgchar * camel_message_info_get_subject (const
);CamelMessageInfo *mi
Since: 3.24
gboolean camel_message_info_set_subject (,
CamelMessageInfo *miconst
);gchar *subject
Sets Subject from the associated message.
This property is considered static, in a meaning that it should
not change during the life-time of the mi
, the same as it doesn't
change in the associated message.
If the mi
changed, the 'dirty' flag and the 'folder-flagged' flag are
set automatically, unless the mi
is aborting notifications. There is not emitted
folder's "changed" signal for this mi
.
Since: 3.24
constgchar * camel_message_info_get_from (const
);CamelMessageInfo *mi
Since: 3.24
gboolean camel_message_info_set_from (,
CamelMessageInfo *miconst
);gchar *from
Sets From from the associated message.
This property is considered static, in a meaning that it should
not change during the life-time of the mi
, the same as it doesn't
change in the associated message.
If the mi
changed, the 'dirty' flag and the 'folder-flagged' flag are
set automatically, unless the mi
is aborting notifications. There is not emitted
folder's "changed" signal for this mi
.
Since: 3.24
constgchar * camel_message_info_get_to (const
);CamelMessageInfo *mi
Since: 3.24
gboolean camel_message_info_set_to (,
CamelMessageInfo *miconst
);gchar *to
Sets To from the associated message.
This property is considered static, in a meaning that it should
not change during the life-time of the mi
, the same as it doesn't
change in the associated message.
If the mi
changed, the 'dirty' flag and the 'folder-flagged' flag are
set automatically, unless the mi
is aborting notifications. There is not emitted
folder's "changed" signal for this mi
.
Since: 3.24
constgchar * camel_message_info_get_cc (const
);CamelMessageInfo *mi
Since: 3.24
gboolean camel_message_info_set_cc (,
CamelMessageInfo *miconst
);gchar *cc
Sets CC from the associated message.
This property is considered static, in a meaning that it should
not change during the life-time of the mi
, the same as it doesn't
change in the associated message.
If the mi
changed, the 'dirty' flag and the 'folder-flagged' flag are
set automatically, unless the mi
is aborting notifications. There is not emitted
folder's "changed" signal for this mi
.
Since: 3.24
constgchar * camel_message_info_get_mlist (const
);CamelMessageInfo *mi
Since: 3.24
gboolean camel_message_info_set_mlist (,
CamelMessageInfo *miconst
);gchar *mlist
Sets mesage list address from the associated message.
This property is considered static, in a meaning that it should
not change during the life-time of the mi
, the same as it doesn't
change in the associated message.
If the mi
changed, the 'dirty' flag and the 'folder-flagged' flag are
set automatically, unless the mi
is aborting notifications. There is not emitted
folder's "changed" signal for this mi
.
Since: 3.24
guint32 camel_message_info_get_size (const
);CamelMessageInfo *mi
Since: 3.24
gboolean camel_message_info_set_size (,
CamelMessageInfo *mi);
guint32 size
Sets size of the associated message.
This property is considered static, in a meaning that it should
not change during the life-time of the mi
, the same as it doesn't
change in the associated message.
If the mi
changed, the 'dirty' flag and the 'folder-flagged' flag are
set automatically, unless the mi
is aborting notifications. There is not emitted
folder's "changed" signal for this mi
.
Since: 3.24
gint64 camel_message_info_get_date_sent (const
);CamelMessageInfo *mi
Since: 3.24
gboolean camel_message_info_set_date_sent (,
CamelMessageInfo *mi);
gint64 date_sent
Sets sent date (the Date header) of the associated message.
This property is considered static, in a meaning that it should
not change during the life-time of the mi
, the same as it doesn't
change in the associated message.
If the mi
changed, the 'dirty' flag and the 'folder-flagged' flag are
set automatically, unless the mi
is aborting notifications. There is not emitted
folder's "changed" signal for this mi
.
Since: 3.24
gint64 camel_message_info_get_date_received (const
);CamelMessageInfo *mi
Since: 3.24
gboolean camel_message_info_set_date_received (,
CamelMessageInfo *mi);
gint64 date_received
Sets received date (the Received header) of the associated message.
This property is considered static, in a meaning that it should
not change during the life-time of the mi
, the same as it doesn't
change in the associated message.
If the mi
changed, the 'dirty' flag and the 'folder-flagged' flag are
set automatically, unless the mi
is aborting notifications. There is not emitted
folder's "changed" signal for this mi
.
Since: 3.24
guint64 camel_message_info_get_message_id (const
);CamelMessageInfo *mi
Encoded Message-ID of the associated message as a guint64 number, partial MD5 sum. The value can be cast to CamelSummaryMessageID.
Since: 3.24
gboolean camel_message_info_set_message_id (,
CamelMessageInfo *mi);
guint64 message_id
Sets encoded Message-ID of the associated message as a guint64 number, partial MD5 sum. The value can be cast to CamelSummaryMessageID.
This property is considered static, in a meaning that it should
not change during the life-time of the mi
, the same as it doesn't
change in the associated message.
If the mi
changed, the 'dirty' flag and the 'folder-flagged' flag are
set automatically, unless the mi
is aborting notifications. There is not emitted
folder's "changed" signal for this mi
.
Since: 3.24
constGArray * camel_message_info_get_references (const
);CamelMessageInfo *mi
Gets encoded In-Reply-To and References headers of the associated message as an array of guint64 numbers, partial MD5 sums. Each value can be cast to CamelSummaryMessageID.
A NULL
[transfer none][nullable][element-type guint64]
Since: 3.24
GArray * camel_message_info_dup_references (const
);CamelMessageInfo *mi
Duplicates encoded In-Reply-To and References headers of the associated message as an array of guint64 numbers, partial MD5 sums. Each value can be cast to CamelSummaryMessageID.
A NULL
g_array_unref()
[transfer full][nullable][element-type guint64]
Since: 3.24
gboolean camel_message_info_take_references (,
CamelMessageInfo *mi);
GArray *references
Takes encoded In-Reply-To and References headers of the associated message as an array of guint64 numbers, partial MD5 sums. Each value can be cast to CamelSummaryMessageID.
This property is considered static, in a meaning that it should
not change during the life-time of the mi
, the same as it doesn't
change in the associated message.
If the mi
changed, the 'dirty' flag and the 'folder-flagged' flag are
set automatically, unless the mi
is aborting notifications. There is not emitted
folder's "changed" signal for this mi
.
Note that it's not safe to use the references
after the call to this function,
because it can be freed due to no change.
mi |
a |
|
references |
a references to set. |
[element-type guint64][transfer full][nullable] |
Since: 3.24
const CamelNameValueArray *
camel_message_info_get_headers (const CamelMessageInfo *mi
);
All the message headers of the associated
message, or NULL
[transfer none][nullable]
Since: 3.24
CamelNameValueArray *
camel_message_info_dup_headers (const CamelMessageInfo *mi
);
Duplicates array of headers for the mi
.
All the message headers of the associated
message, or NULL
camel_name_value_array_free()
when no longer needed.
[transfer full][nullable]
Since: 3.24
gboolean camel_message_info_take_headers (,
CamelMessageInfo *miCamelNameValueArray *headers
);
Takes headers of the associated message.
This property is considered static, in a meaning that it should
not change during the life-time of the mi
, the same as it doesn't
change in the associated message.
If the mi
changed, the 'dirty' flag and the 'folder-flagged' flag are
set automatically, unless the mi
is aborting notifications. There is not emitted
folder's "changed" signal for this mi
.
Note that it's not safe to use the headers
after the call to this function,
because it can be freed due to no change.
mi |
a |
|
headers |
headers to set, as CamelNameValueArray, or |
[transfer full][nullable] |
Since: 3.24
void camel_message_info_dump ();
CamelMessageInfo *mi
Dumps the mesasge info mi
to stdout. This is meand for debugging
purposes only.
Since: 3.24