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 */
|
/* create a read-write MuStore */
|
||||||
_MuStore (const char *path, const char *contacts_path,
|
_MuStore (const char *path, const char *contacts_path,
|
||||||
const char **my_addresses,
|
const char **my_addresses,
|
||||||
bool rebuild) {
|
bool rebuild) :_my_addresses(NULL) {
|
||||||
|
|
||||||
init (path, contacts_path, my_addresses, rebuild, false);
|
init (path, contacts_path, my_addresses, rebuild, false);
|
||||||
|
|
||||||
|
@ -88,7 +88,8 @@ public:
|
||||||
MU_WRITE_LOG ("%s: opened %s read-only", __FUNCTION__, this->path());
|
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) {
|
bool rebuild, bool read_only) {
|
||||||
|
|
||||||
_batch_size = DEFAULT_BATCH_SIZE;
|
_batch_size = DEFAULT_BATCH_SIZE;
|
||||||
|
@ -100,16 +101,24 @@ public:
|
||||||
_ref_count = 1;
|
_ref_count = 1;
|
||||||
_version = NULL;
|
_version = NULL;
|
||||||
|
|
||||||
/* copy 'my adresses' */
|
set_my_addresses (my_addresses);
|
||||||
_my_addresses = NULL;
|
}
|
||||||
|
|
||||||
|
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) {
|
while (my_addresses && *my_addresses) {
|
||||||
_my_addresses = g_slist_prepend
|
_my_addresses = g_slist_prepend
|
||||||
(_my_addresses, g_strdup (*my_addresses));
|
(_my_addresses, g_strdup (*my_addresses));
|
||||||
++my_addresses;
|
++my_addresses;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void check_set_version () {
|
void check_set_version () {
|
||||||
/* check version...*/
|
/* check version...*/
|
||||||
gchar *version;
|
gchar *version;
|
||||||
|
|
|
@ -58,7 +58,6 @@ mu_store_unref (MuStore *store)
|
||||||
{
|
{
|
||||||
g_return_val_if_fail (store, NULL);
|
g_return_val_if_fail (store, NULL);
|
||||||
|
|
||||||
|
|
||||||
if (store->unref() == 0) {
|
if (store->unref() == 0) {
|
||||||
try { delete store; } MU_XAPIAN_CATCH_BLOCK;
|
try { delete store; } MU_XAPIAN_CATCH_BLOCK;
|
||||||
}
|
}
|
||||||
|
@ -117,3 +116,12 @@ mu_store_database_is_locked (const gchar *xpath)
|
||||||
|
|
||||||
return FALSE;
|
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);
|
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
|
* get the numbers of documents in the database
|
||||||
|
|
Loading…
Reference in New Issue