mirror of https://github.com/djcb/mu.git
* store: allow setting my-addresses
This commit is contained in:
parent
eb6e0906bd
commit
39ff643e48
|
@ -51,7 +51,7 @@ public:
|
|||
/* create a read-write MuStore */
|
||||
_MuStore (const char *path, const char *contacts_path,
|
||||
const char **my_addresses,
|
||||
bool rebuild) {
|
||||
bool rebuild) :_my_addresses(NULL) {
|
||||
|
||||
init (path, contacts_path, my_addresses, rebuild, false);
|
||||
|
||||
|
@ -88,7 +88,8 @@ public:
|
|||
MU_WRITE_LOG ("%s: opened %s read-only", __FUNCTION__, this->path());
|
||||
}
|
||||
|
||||
void init (const char *path, const char *contacts_path, const char **my_addresses,
|
||||
void init (const char *path, const char *contacts_path,
|
||||
const char **my_addresses,
|
||||
bool rebuild, bool read_only) {
|
||||
|
||||
_batch_size = DEFAULT_BATCH_SIZE;
|
||||
|
@ -100,16 +101,24 @@ public:
|
|||
_ref_count = 1;
|
||||
_version = NULL;
|
||||
|
||||
/* copy 'my adresses' */
|
||||
_my_addresses = NULL;
|
||||
set_my_addresses (my_addresses);
|
||||
}
|
||||
|
||||
void set_my_addresses (const char **my_addresses) {
|
||||
|
||||
if (_my_addresses) {
|
||||
mu_str_free_list (_my_addresses);
|
||||
_my_addresses = NULL;
|
||||
}
|
||||
|
||||
while (my_addresses && *my_addresses) {
|
||||
_my_addresses = g_slist_prepend
|
||||
(_my_addresses, g_strdup (*my_addresses));
|
||||
++my_addresses;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
void check_set_version () {
|
||||
/* check version...*/
|
||||
gchar *version;
|
||||
|
|
|
@ -58,7 +58,6 @@ mu_store_unref (MuStore *store)
|
|||
{
|
||||
g_return_val_if_fail (store, NULL);
|
||||
|
||||
|
||||
if (store->unref() == 0) {
|
||||
try { delete store; } MU_XAPIAN_CATCH_BLOCK;
|
||||
}
|
||||
|
@ -117,3 +116,12 @@ mu_store_database_is_locked (const gchar *xpath)
|
|||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
mu_store_set_my_addresses (MuStore *store, const char **my_addresses)
|
||||
{
|
||||
g_return_if_fail (store);
|
||||
|
||||
store->set_my_addresses (my_addresses);
|
||||
}
|
||||
|
|
|
@ -133,6 +133,18 @@ XapianDatabase* mu_store_get_read_only_database (MuStore *store);
|
|||
void mu_store_set_batch_size (MuStore *store, guint batchsize);
|
||||
|
||||
|
||||
/**
|
||||
* register a char** of email addresses as 'my' addresses, ie. mark
|
||||
* message that have these addresses in one of the address fields as
|
||||
* 'personal' (e.g., in mu-contacts). calling this function overrides
|
||||
* any 'my addresses' that were set before, using this function or
|
||||
* through mu_store_new_writable
|
||||
*
|
||||
* @param store a valid store object
|
||||
* @param my_addresses a char** of email addresses
|
||||
*/
|
||||
void mu_store_set_my_addresses (MuStore *store, const char **my_addresses);
|
||||
|
||||
|
||||
/**
|
||||
* get the numbers of documents in the database
|
||||
|
|
Loading…
Reference in New Issue