Mapistore general api.
#include <stdio.h>
#include <time.h>
#include <unistd.h>
#include <stdint.h>
#include <stdbool.h>
#include <tdb.h>
#include <ldb.h>
#include <talloc.h>
#include <util/debug.h>
#include 'libmapi/libmapi.h'
enum mapistore_error mapistore_add_context (struct mapistore_context *, const char *, const char *, uint64_t, uint32_t *, void **)
enum mapistore_error mapistore_add_context_ref_count (struct mapistore_context *, uint32_t)
const char * mapistore_backend_get_installdir (void)
init_backend_fn * mapistore_backend_load (TALLOC_CTX *, const char *)
struct backend_context * mapistore_backend_lookup (struct backend_context_list *, uint32_t)
struct backend_context * mapistore_backend_lookup_by_name (TALLOC_CTX *, const char *)
struct backend_context * mapistore_backend_lookup_by_uri (struct backend_context_list *, const char *)
enum mapistore_error mapistore_backend_register (const void *)
bool mapistore_backend_run_init (init_backend_fn *)
enum mapistore_error mapistore_del_context (struct mapistore_context *, uint32_t)
const char * mapistore_errstr (enum mapistore_error)
enum mapistore_error mapistore_folder_create_folder (struct mapistore_context *, uint32_t, void *, TALLOC_CTX *, uint64_t, struct SRow *, void **)
enum mapistore_error mapistore_folder_create_message (struct mapistore_context *, uint32_t, void *, TALLOC_CTX *, uint64_t, uint8_t, void **)
enum mapistore_error mapistore_folder_delete (struct mapistore_context *, uint32_t, void *, uint8_t)
enum mapistore_error mapistore_folder_delete_message (struct mapistore_context *, uint32_t, void *, uint64_t, uint8_t)
enum mapistore_error mapistore_folder_get_child_count (struct mapistore_context *, uint32_t, void *, enum mapistore_table_type, uint32_t *)
enum mapistore_error mapistore_folder_get_deleted_fmids (struct mapistore_context *, uint32_t, void *, TALLOC_CTX *, enum mapistore_table_type, uint64_t, struct UI8Array_r **, uint64_t *)
enum mapistore_error mapistore_folder_open_folder (struct mapistore_context *, uint32_t, void *, TALLOC_CTX *, uint64_t, void **)
enum mapistore_error mapistore_folder_open_message (struct mapistore_context *, uint32_t, void *, TALLOC_CTX *, uint64_t, bool, void **)
enum mapistore_error mapistore_get_queued_notifications (struct mapistore_context *, struct mapistore_subscription *, struct mapistore_notification_list **)
enum mapistore_error mapistore_get_queued_notifications_named (struct mapistore_context *, const char *, struct mapistore_notification_list **)
enum mapistore_error mapistore_indexing_get_new_folderID (struct mapistore_context *, uint64_t *)
enum mapistore_error mapistore_indexing_get_new_folderID_as_user (struct mapistore_context *, const char *, uint64_t *)
enum mapistore_error mapistore_indexing_get_new_folderIDs (struct mapistore_context *, TALLOC_CTX *, uint64_t, struct UI8Array_r **)
enum mapistore_error mapistore_indexing_record_add_fid (struct mapistore_context *, uint32_t, const char *, uint64_t)
enum mapistore_error mapistore_indexing_record_add_mid (struct mapistore_context *, uint32_t, const char *, uint64_t)
enum mapistore_error mapistore_indexing_record_del_fid (struct mapistore_context *, uint32_t, const char *, uint64_t, uint8_t)
enum mapistore_error mapistore_indexing_record_del_mid (struct mapistore_context *, uint32_t, const char *, uint64_t, uint8_t)
enum mapistore_error mapistore_indexing_record_get_uri (struct mapistore_context *, const char *, TALLOC_CTX *, uint64_t, char **, bool *)
enum mapistore_error mapistore_indexing_reserve_fmid_range (struct mapistore_context *, uint64_t, uint64_t *)
struct mapistore_context * mapistore_init (TALLOC_CTX *, struct loadparm_context *, const char *)
enum mapistore_error mapistore_message_get_message_data (struct mapistore_context *, uint32_t, void *, TALLOC_CTX *, struct mapistore_message **)
enum mapistore_error mapistore_message_modify_recipients (struct mapistore_context *, uint32_t, void *, struct SPropTagArray *, uint16_t, struct mapistore_message_recipient *)
enum mapistore_error mapistore_message_save (struct mapistore_context *, uint32_t, void *, TALLOC_CTX *)
enum mapistore_error mapistore_message_set_read_flag (struct mapistore_context *, uint32_t, void *, uint8_t)
enum mapistore_error mapistore_message_submit (struct mapistore_context *, uint32_t, void *, enum SubmitFlags)
enum mapistore_error mapistore_namedprops_create_id (struct namedprops_context *, struct MAPINAMEID, uint16_t)
enum mapistore_error mapistore_namedprops_get_mapped_id (struct namedprops_context *, struct MAPINAMEID, uint16_t *)
enum mapistore_error mapistore_namedprops_get_nameid (struct namedprops_context *, uint16_t, TALLOC_CTX *mem_ctx, struct MAPINAMEID **)
enum mapistore_error mapistore_namedprops_get_nameid_type (struct namedprops_context *, uint16_t, uint16_t *)
enum mapistore_error mapistore_namedprops_next_unused_id (struct namedprops_context *, uint16_t *)
enum mapistore_error mapistore_release (struct mapistore_context *)
enum mapistore_error mapistore_replica_mapping_guid_to_replid (struct mapistore_context *, const char *username, const struct GUID *, uint16_t *)
enum mapistore_error mapistore_replica_mapping_replid_to_guid (struct mapistore_context *, const char *username, uint16_t, struct GUID *)
enum mapistore_error mapistore_search_context_by_uri (struct mapistore_context *, const char *, uint32_t *, void **)
enum mapistore_error mapistore_set_connection_info (struct mapistore_context *, struct ldb_context *, struct openchangedb_context *, const char *)
void mapistore_set_default_indexing_url (const char *)
enum mapistore_error mapistore_set_mapping_path (const char *)
MAPISTORE general API.
This header contains general functions, primarily for users of the store (rather than storage providers).
Add a new connection context to mapistore
Parameters:
mstore_ctx pointer to the mapistore context
uri the connection context URI
context_id pointer to the context identifier the function returns
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References mapistore_backend_create_context(), MAPISTORE_ERR_CONTEXT_FAILED, MAPISTORE_ERR_INVALID_NAMESPACE, mapistore_indexing_add(), and MAPISTORE_SUCCESS.
Increase the reference counter of an existing context
Parameters:
mstore_ctx pointer to the mapistore context
contex_id the context identifier referencing the context to update
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References mapistore_backend_add_ref_count(), mapistore_backend_lookup(), MAPISTORE_ERR_INVALID_PARAMETER, and MAPISTORE_ERROR.
Return the full path where mapistore backends are installed.
Returns:
Pointer to the full path where backends are installed.
Referenced by mapistore_backend_load().
Load the initialization functions from backends DSO
Parameters:
mem_ctx pointer to the memory context
path pointer to the backend's DSO folder
Returns:
allocated array of functions pointers to initialization functions on success, otherwise NULL.
References mapistore_backend_get_installdir().
Referenced by mapistore_backend_init().
find the context matching given context identifier
Parameters:
backend_list_ctx pointer to the backend context list
context_id the context identifier to search
Returns:
Pointer to the mapistore_backend context on success, otherwise NULL
Referenced by mapistore_add_context_ref_count(), mapistore_del_context(), mapistore_folder_create_folder(), mapistore_folder_create_message(), mapistore_folder_delete(), mapistore_folder_delete_message(), mapistore_folder_get_child_count(), mapistore_folder_get_deleted_fmids(), mapistore_folder_open_folder(), mapistore_folder_open_message(), mapistore_indexing_record_add_fmid(), mapistore_indexing_record_del_fmid(), mapistore_message_get_message_data(), mapistore_message_modify_recipients(), mapistore_message_save(), mapistore_message_set_read_flag(), and mapistore_message_submit().
Return a pointer on backend functions given its name
Parameters:
mem_ctx pointer to the memory context
name the backend name to lookup
Returns:
Allocated pointer to the mapistore_backend context on success, otherwise NULL
Referenced by mapistore_mgmt_generate_uri().
find the context matching given uri string
Parameters:
backend_list_ctx pointer to the backend context list
uri the uri string to search
Returns:
Pointer to the mapistore_backend context on success, otherwise NULL
Referenced by mapistore_search_context_by_uri().
Register mapistore backends
Parameters:
backend pointer to the mapistore backend to register
Returns:
MAPISTORE_SUCCESS on success
References MAPISTORE_ERR_INVALID_PARAMETER, and MAPISTORE_SUCCESS.
Run specified initialization functions.
Parameters:
fns pointer to an array of mapistore backends initialization functions
Returns:
true on success, otherwise false
Referenced by mapistore_backend_init().
Delete an existing connection context from mapistore
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the context to delete
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References mapistore_backend_delete_context(), mapistore_backend_lookup(), MAPISTORE_ERR_INVALID_PARAMETER, MAPISTORE_ERR_REF_COUNT, MAPISTORE_ERROR, and MAPISTORE_SUCCESS.
return a string explaining what a mapistore error constant means.
Parameters:
mapistore_err the mapistore error constant
Returns:
constant string
References MAPISTORE_ERR_ALREADY_INITIALIZED, MAPISTORE_ERR_BACKEND_INIT, MAPISTORE_ERR_BACKEND_REGISTER, MAPISTORE_ERR_CONTEXT_FAILED, MAPISTORE_ERR_CORRUPTED, MAPISTORE_ERR_DATABASE_INIT, MAPISTORE_ERR_DATABASE_OPS, MAPISTORE_ERR_DENIED, MAPISTORE_ERR_EXIST, MAPISTORE_ERR_INVALID_DATA, MAPISTORE_ERR_INVALID_NAMESPACE, MAPISTORE_ERR_INVALID_PARAMETER, MAPISTORE_ERR_INVALID_URI, MAPISTORE_ERR_MSG_RCV, MAPISTORE_ERR_MSG_SEND, MAPISTORE_ERR_NO_DIRECTORY, MAPISTORE_ERR_NO_MEMORY, MAPISTORE_ERR_NOT_FOUND, MAPISTORE_ERR_NOT_IMPLEMENTED, MAPISTORE_ERR_NOT_INITIALIZED, MAPISTORE_ERR_REF_COUNT, MAPISTORE_ERROR, and MAPISTORE_SUCCESS.
Referenced by mapistore_init().
Create a directory in mapistore
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the backend where the directory will be created
parent_fid the parent folder identifier
new_fid the folder identifier for the new folder
aRow pointer to MAPI data structures with properties to be added to the new folder
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors
References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER.
Create a message in mapistore
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the backend where the messagewill be created
parent_fid the parent folder identifier
mid the message identifier to create
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors
References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER.
Remove a directory in mapistore
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the backend
parent_fid the parent folder identifier
fid the folder identifier representing the folder to delete
flags flags that control the behaviour of the operation
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors
References mapistore_backend_lookup(), MAPISTORE_ERR_EXIST, MAPISTORE_ERR_INVALID_PARAMETER, and MAPISTORE_SUCCESS.
Delete a message from mapistore
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the backend where the message's to be located is stored
mid the message identifier of the folder to delete
flags flags that control the behaviour of the operation (MAPISTORE_SOFT_DELETE or MAPISTORE_PERMANENT_DELETE)
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors
References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER.
Retrieve the number of child messages within a mapistore folder
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the backend
fid the folder identifier
RowCount pointer to the count result to return
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors
References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER.
Get the array of deleted items following a specific change number
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the backend where the message's to be located is stored
folder the folder backend object
mem_ctx the TALLOC_CTX that should be used as parent for the returned array
table_type the type of object that we want to take into account
change_num the reference change number
fmidsp a pointer to the returned array
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors
References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER.
Open a directory in mapistore
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the backend where the directory will be opened
parent_fid the parent folder identifier
fid folder identifier to open
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors
References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER.
Open a message in mapistore
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the backend where the directory will be opened
parent_fid the parent folder identifier
mid the message identifier to open
pointer to the mapistore_message structure
Returns:
MAPISTORE SUCCESS on success, otherwise MAPISTORE errors
References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER.
Return the list of pending mapistore notifications within the queue pointed by the mapistore subscription structure.
Parameters:
mstore_ctx pointer to the mapistore context
s pointer to the mapistore subscription where the mqueue file descriptor is stored
nl pointer on pointer to the list of mapistore noficiations to return
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References MAPISTORE_ERR_INVALID_PARAMETER, MAPISTORE_ERR_NOT_FOUND, MAPISTORE_ERR_NOT_INITIALIZED, and MAPISTORE_SUCCESS.
Return the list of pending mapistore notifications available on the queue name specified in argument.
Parameters:
mstore_ctx pointer to the mapistore context
mqueue_name the name of the queue to open
nl pointer on pointer to the list of mapistore notifications to return
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error.
References MAPISTORE_ERR_INVALID_PARAMETER, MAPISTORE_ERR_NOT_FOUND, MAPISTORE_ERR_NOT_INITIALIZED, and MAPISTORE_SUCCESS.
Allocates a new FolderID and returns it
Parameters:
mstore_ctx pointer to the mapistore context
fid pointer to the fid value the function returns
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References mapistore_indexing_get_new_folderID_as_user().
Allocates a new FolderID for a specific user and returns it
Parameters:
mstore_ctx pointer to the mapistore context
username name of the mailbox
fid pointer to the fid value the function returns
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References MAPISTORE_SUCCESS.
Referenced by mapistore_indexing_get_new_folderID().
Allocates a batch of new folder ids and returns them
Parameters:
mstore_ctx pointer to the mapistore context
mem_ctx memory context where the fid will be allocated
max number of fids to allocate
fids_p pointer array of fids values the function returns
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References MAPISTORE_SUCCESS.
Add a fid record to the indexing database
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the indexing database to update
fid the fid to add
Note:
This is a wrapper to the internal common mapistore_indexing_record_add_fmid function.
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References mapistore_indexing_record_add_fmid().
Add a mid record to the indexing database
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the indexing database to update
mid the mid to add
Note:
This is a wrapper to the internal common mapistore_indexing_record_add_fmid function.
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References mapistore_indexing_record_add_fmid().
Delete a fid record from the indexing database
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the indexing database to update
fid the fid to remove
flags the type of deletion MAPISTORE_SOFT_DELETE or MAPISTORE_PERMANENT_DELETE
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References mapistore_indexing_record_del_fmid().
Delete a mid record from the indexing database
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the indexing database to update
mid the mid to remove
flags the type of deletion MAPISTORE_SOFT_DELETE or MAPISTORE_PERMANENT_DELETE
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References mapistore_indexing_record_del_fmid().
Returns record data
Parameters:
mstore_ctx pointer to the mapistore context
username the name of the account where to look for the indexing database
mem_ctx pointer to the memory context
fmid the fmid/key to the record
urip pointer to the uri pointer
soft_deletedp pointer to the soft deleted pointer
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References MAPISTORE_ERR_NOT_INITIALIZED, MAPISTORE_ERROR, and mapistore_indexing_add().
Reserve a range of FMID
Parameters:
mstore_ctx pointer to the mapistore context
range_len size of the range of fmids to reserve
first_fmidp pointer to the first reserved fid value the function returns
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References MAPISTORE_ERR_INVALID_PARAMETER, mapistore_indexing_search(), and MAPISTORE_SUCCESS.
Initialize the mapistore context
Parameters:
mem_ctx pointer to the memory context
lp_ctx loadparm_context to get smb.conf options
path the path to the location to load the backend providers from (NULL for default)
Returns:
allocate mapistore context on success, otherwise NULL
References mapistore_backend_init(), mapistore_errstr(), mapistore_set_default_indexing_url(), mapistore_set_mapping_path(), and MAPISTORE_SUCCESS.
Modify recipients of a message in mapistore
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the backend where properties will be stored
mid the identifier referencing the message the array of recipient rows the number of elements in the array
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors
References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER.
Modify recipients of a message in mapistore
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the backend where properties will be stored
mid the identifier referencing the message the array of recipient rows the number of elements in the array
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors
References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER.
Commit the changes made to a message in mapistore
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the backend where the message's changes will be saved
mid the message identifier to save
flags flags associated to the commit operation
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors
References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER.
Commit the changes made to a message in mapistore
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the backend where the message's changes will be saved
mid the message identifier to save
flags flags associated to the commit operation
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors
References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER.
Submits a message for sending.
Parameters:
mstore_ctx pointer to the mapistore context
context_id the context identifier referencing the backend where the message will be submitted
mid the message identifier representing the message to submit
flags flags associated to the submit operation
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors
References mapistore_backend_lookup(), and MAPISTORE_ERR_INVALID_PARAMETER.
return the mapped property ID matching the nameid structure passed in parameter.
Parameters:
ldb_ctx pointer to the namedprops ldb context
nameid the MAPINAMEID structure to lookup
propID pointer to the property ID the function returns
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE_ERROR
References MAPISTORE_ERROR.
return the mapped property ID matching the nameid structure passed in parameter.
Parameters:
ldb_ctx pointer to the namedprops ldb context
nameid the MAPINAMEID structure to lookup
propID pointer to the property ID the function returns
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE_ERROR
References MAPISTORE_ERROR.
return the nameid structture matching the mapped property ID passed in parameter.
Parameters:
ldb_ctx pointer to the namedprops ldb context
propID the property ID to lookup
nameid pointer to the MAPINAMEID structure the function returns
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE_ERROR
References MAPISTORE_ERROR.
return the type matching the mapped property ID passed in parameter.
Parameters:
ldb_ctx pointer to the namedprops ldb context
propID the property ID to lookup
propTypeP pointer to the uint16_t that will receive the property type
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE_ERROR
References MAPISTORE_ERROR, and MAPISTORE_SUCCESS.
Returns the next unmapped property ID
Parameters:
nprops pointer to the namedprops context
highest_id pointer to the next unused id to return
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References MAPISTORE_ERR_INVALID_PARAMETER, and MAPISTORE_SUCCESS.
Release the mapistore context and destroy any data associated
Parameters:
mstore_ctx pointer to the mapistore context
Note:
The function needs to rely on talloc destructors which is not implemented in code yet.
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References MAPISTORE_ERR_NOT_INITIALIZED, and MAPISTORE_SUCCESS.
Search a replica guid in the database, creates it if it does not exist
Parameters:
mstore_ctx pointer to the mapistore context
guidP the replica guid
replidP pointer to the returned replica id
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References MAPISTORE_ERROR, and MAPISTORE_SUCCESS.
Search a replica id in the database
Parameters:
mstore_ctx pointer to the mapistore context
replid the replica id
guidP pointer to the returned replica guid
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References MAPISTORE_ERROR, and MAPISTORE_SUCCESS.
Search for an existing context given its uri
Parameters:
mstore_ctx pointer to the mapistore context
uri the URI to lookup
context_id pointer to the context identifier to return
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References mapistore_backend_lookup_by_uri(), MAPISTORE_ERR_NOT_FOUND, MAPISTORE_ERROR, and MAPISTORE_SUCCESS.
Set connection info for current mapistore context
Parameters:
mstore_ctx pointer to the mapistore context
oc_ctx pointer to the openchange ldb database
username pointer to the current username
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References MAPISTORE_ERR_INVALID_PARAMETER, MAPISTORE_ERR_NOT_INITIALIZED, and MAPISTORE_SUCCESS.
Set the default backend url. If none is set, a tdb file per user will be used.
Parameters:
url default backend url to be used
Referenced by mapistore_init().
Set the mapping path
Parameters:
path pointer to the mapping path
Note:
The mapping path can be set unless id_mapping_context is initialized. If path is NULL and mapping path is not yet initialized, then mapping_path will be reset to its default value when the initialization routine is called.
Returns:
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error
References MAPISTORE_ERR_NO_DIRECTORY, and MAPISTORE_SUCCESS.
Referenced by mapistore_init().
Generated automatically by Doxygen for OpenChange mapistore library from the source code.