mapistore.h File Reference

MAPISTORE general API. More...

#include <sys/types.h>
#include <sys/stat.h>
#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"

Functions

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 MAPISTATUS mapistore_get_queued_notifications (struct mapistore_context *, struct mapistore_subscription *, struct mapistore_notification_list **)
enum MAPISTATUS mapistore_get_queued_notifications_named (struct mapistore_context *, const char *, struct mapistore_notification_list **)
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 *)
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 *)
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 ldb_context *, struct MAPINAMEID, uint16_t)
enum mapistore_error mapistore_namedprops_get_mapped_id (struct ldb_context *ldb_ctx, struct MAPINAMEID, uint16_t *)
enum mapistore_error mapistore_namedprops_get_nameid (struct ldb_context *, uint16_t, TALLOC_CTX *mem_ctx, struct MAPINAMEID **)
enum mapistore_error mapistore_namedprops_get_nameid_type (struct ldb_context *, uint16_t, uint16_t *)
uint16_t mapistore_namedprops_next_unused_id (struct ldb_context *)
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 ldb_context *, const char *)
enum mapistore_error mapistore_set_mapping_path (const char *)

Detailed Description

MAPISTORE general API.

This header contains general functions, primarily for users of the store (rather than storage providers).

Function Documentation

enum mapistore_error mapistore_add_context ( struct mapistore_context *  mstore_ctx,
const char *  owner,
const char *  uri,
uint64_t  fid,
uint32_t *  context_id,
void **  backend_object 
)

Add a new connection context to mapistore

Parameters
mstore_ctxpointer to the mapistore context
urithe connection context URI
context_idpointer to the context identifier the function returns
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error

References mapistore_add_context(), mapistore_backend_create_context(), MAPISTORE_ERR_CONTEXT_FAILED, MAPISTORE_ERR_INVALID_NAMESPACE, mapistore_indexing_add(), and MAPISTORE_SUCCESS.

Referenced by mapistore_add_context().

enum mapistore_error mapistore_add_context_ref_count ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id 
)

Increase the reference counter of an existing context

Parameters
mstore_ctxpointer to the mapistore context
contex_idthe context identifier referencing the context to update
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error

References mapistore_add_context_ref_count(), mapistore_backend_add_ref_count(), mapistore_backend_lookup(), MAPISTORE_ERR_INVALID_PARAMETER, and MAPISTORE_ERROR.

Referenced by mapistore_add_context_ref_count().

const char* mapistore_backend_get_installdir ( void  )

Return the full path where mapistore backends are installed.

Returns
Pointer to the full path where backends are installed.

Referenced by mapistore_backend_load().

init_backend_fn* mapistore_backend_load ( TALLOC_CTX *  mem_ctx,
const char *  path 
)

Load the initialization functions from backends DSO

Parameters
mem_ctxpointer to the memory context
pathpointer 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().

struct backend_context* mapistore_backend_lookup ( struct backend_context_list *  backend_list_ctx,
uint32_t  context_id 
)
read
struct backend_context* mapistore_backend_lookup_by_name ( TALLOC_CTX *  mem_ctx,
const char *  name 
)
read

Return a pointer on backend functions given its name

Parameters
mem_ctxpointer to the memory context
namethe backend name to lookup
Returns
Allocated pointer to the mapistore_backend context on success, otherwise NULL

Referenced by mapistore_mgmt_generate_uri().

struct backend_context* mapistore_backend_lookup_by_uri ( struct backend_context_list *  backend_list_ctx,
const char *  uri 
)
read

find the context matching given uri string

Parameters
backend_list_ctxpointer to the backend context list
urithe uri string to search
Returns
Pointer to the mapistore_backend context on success, otherwise NULL

Referenced by mapistore_search_context_by_uri().

enum mapistore_error mapistore_backend_register ( const void *  _backend)

Register mapistore backends

Parameters
backendpointer to the mapistore backend to register
Returns
MAPISTORE_SUCCESS on success

References MAPISTORE_ERR_INVALID_PARAMETER, and MAPISTORE_SUCCESS.

bool mapistore_backend_run_init ( init_backend_fn *  fns)

Run specified initialization functions.

Parameters
fnspointer to an array of mapistore backends initialization functions
Returns
true on success, otherwise false

Referenced by mapistore_backend_init().

enum mapistore_error mapistore_del_context ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id 
)

Delete an existing connection context from mapistore

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the context to delete
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error

References mapistore_backend_delete_context(), mapistore_backend_lookup(), mapistore_del_context(), MAPISTORE_ERR_INVALID_PARAMETER, MAPISTORE_ERR_REF_COUNT, MAPISTORE_ERROR, and MAPISTORE_SUCCESS.

Referenced by mapistore_del_context().

enum mapistore_error mapistore_folder_create_folder ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id,
void *  folder,
TALLOC_CTX *  mem_ctx,
uint64_t  fid,
struct SRow *  aRow,
void **  child_folder 
)

Create a directory in mapistore

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the backend where the directory will be created
parent_fidthe parent folder identifier
new_fidthe folder identifier for the new folder
aRowpointer 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(), MAPISTORE_ERR_INVALID_PARAMETER, and mapistore_folder_create_folder().

Referenced by mapistore_folder_create_folder().

enum mapistore_error mapistore_folder_create_message ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id,
void *  folder,
TALLOC_CTX *  mem_ctx,
uint64_t  mid,
uint8_t  associated,
void **  messagep 
)

Create a message in mapistore

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the backend where the messagewill be created
parent_fidthe parent folder identifier
midthe message identifier to create
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors

References mapistore_backend_lookup(), MAPISTORE_ERR_INVALID_PARAMETER, and mapistore_folder_create_message().

Referenced by mapistore_folder_create_message().

enum mapistore_error mapistore_folder_delete ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id,
void *  folder,
uint8_t  flags 
)

Remove a directory in mapistore

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the backend
parent_fidthe parent folder identifier
fidthe folder identifier representing the folder to delete
flagsflags 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, mapistore_folder_delete(), and MAPISTORE_SUCCESS.

Referenced by mapistore_folder_delete().

enum mapistore_error mapistore_folder_delete_message ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id,
void *  folder,
uint64_t  mid,
uint8_t  flags 
)

Delete a message from mapistore

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the backend where the message's to be located is stored
midthe message identifier of the folder to delete
flagsflags 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(), MAPISTORE_ERR_INVALID_PARAMETER, and mapistore_folder_delete_message().

Referenced by mapistore_folder_delete_message().

enum mapistore_error mapistore_folder_get_child_count ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id,
void *  folder,
enum mapistore_table_type  table_type,
uint32_t *  RowCount 
)

Retrieve the number of child messages within a mapistore folder

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the backend
fidthe folder identifier
RowCountpointer to the count result to return
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors

References mapistore_backend_lookup(), MAPISTORE_ERR_INVALID_PARAMETER, and mapistore_folder_get_child_count().

Referenced by mapistore_folder_get_child_count().

enum mapistore_error mapistore_folder_get_deleted_fmids ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id,
void *  folder,
TALLOC_CTX *  mem_ctx,
enum mapistore_table_type  table_type,
uint64_t  change_num,
struct UI8Array_r **  fmidsp,
uint64_t *  cnp 
)

Get the array of deleted items following a specific change number

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the backend where the message's to be located is stored
folderthe folder backend object
mem_ctxthe TALLOC_CTX that should be used as parent for the returned array
table_typethe type of object that we want to take into account
change_numthe reference change number
fmidspa pointer to the returned array
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors

References mapistore_backend_lookup(), MAPISTORE_ERR_INVALID_PARAMETER, and mapistore_folder_get_deleted_fmids().

Referenced by mapistore_folder_get_deleted_fmids().

enum mapistore_error mapistore_folder_open_folder ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id,
void *  folder,
TALLOC_CTX *  mem_ctx,
uint64_t  fid,
void **  child_folder 
)

Open a directory in mapistore

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the backend where the directory will be opened
parent_fidthe parent folder identifier
fidfolder identifier to open
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors

References mapistore_backend_lookup(), MAPISTORE_ERR_INVALID_PARAMETER, and mapistore_folder_open_folder().

Referenced by mapistore_folder_open_folder().

enum mapistore_error mapistore_folder_open_message ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id,
void *  folder,
TALLOC_CTX *  mem_ctx,
uint64_t  mid,
bool  read_write,
void **  messagep 
)

Open a message in mapistore

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the backend where the directory will be opened
parent_fidthe parent folder identifier
midthe message identifier to open
pointerto the mapistore_message structure
Returns
MAPISTORE SUCCESS on success, otherwise MAPISTORE errors

References mapistore_backend_lookup(), MAPISTORE_ERR_INVALID_PARAMETER, and mapistore_folder_open_message().

Referenced by mapistore_folder_open_message().

enum MAPISTATUS mapistore_get_queued_notifications ( struct mapistore_context *  mstore_ctx,
struct mapistore_subscription *  s,
struct mapistore_notification_list **  nl 
)

Return the list of pending mapistore notifications within the queue pointed by the mapistore subscription structure.

Parameters
mstore_ctxpointer to the mapistore context
spointer to the mapistore subscription where the mqueue file descriptor is stored
nlpointer 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, mapistore_get_queued_notifications(), and MAPISTORE_SUCCESS.

Referenced by mapistore_get_queued_notifications().

enum MAPISTATUS mapistore_get_queued_notifications_named ( struct mapistore_context *  mstore_ctx,
const char *  mqueue_name,
struct mapistore_notification_list **  nl 
)

Return the list of pending mapistore notifications available on the queue name specified in argument.

Parameters
mstore_ctxpointer to the mapistore context
mqueue_namethe name of the queue to open
nlpointer 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, mapistore_get_queued_notifications_named(), and MAPISTORE_SUCCESS.

Referenced by mapistore_get_queued_notifications_named().

enum mapistore_error mapistore_indexing_record_add_fid ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id,
const char *  username,
uint64_t  fid 
)

Add a fid record to the indexing database

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the indexing database to update
fidthe 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().

enum mapistore_error mapistore_indexing_record_add_mid ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id,
const char *  username,
uint64_t  mid 
)

Add a mid record to the indexing database

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the indexing database to update
midthe 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().

enum mapistore_error mapistore_indexing_record_del_fid ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id,
const char *  username,
uint64_t  fid,
uint8_t  flags 
)

Delete a fid record from the indexing database

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the indexing database to update
fidthe fid to remove
flagsthe type of deletion MAPISTORE_SOFT_DELETE or MAPISTORE_PERMANENT_DELETE
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error

References mapistore_indexing_record_del_fmid().

enum mapistore_error mapistore_indexing_record_del_mid ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id,
const char *  username,
uint64_t  mid,
uint8_t  flags 
)

Delete a mid record from the indexing database

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the indexing database to update
midthe mid to remove
flagsthe type of deletion MAPISTORE_SOFT_DELETE or MAPISTORE_PERMANENT_DELETE
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error

References mapistore_indexing_record_del_fmid().

enum mapistore_error mapistore_indexing_record_get_uri ( struct mapistore_context *  mstore_ctx,
const char *  username,
TALLOC_CTX *  mem_ctx,
uint64_t  fmid,
char **  urip,
bool *  soft_deletedp 
)

Returns record data

Parameters
mstore_ctxpointer to the mapistore context
usernamethe name of the account where to look for the indexing database
mem_ctxpointer to the memory context
fmidthe fmid/key to the record
urippointer to the uri pointer
soft_deletedppointer to the soft deleted pointer
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error

References MAPISTORE_ERR_NOT_FOUND, MAPISTORE_ERR_NOT_INITIALIZED, MAPISTORE_ERROR, mapistore_indexing_add(), and MAPISTORE_SUCCESS.

struct mapistore_context* mapistore_init ( TALLOC_CTX *  mem_ctx,
struct loadparm_context *  lp_ctx,
const char *  path 
)
read

Initialize the mapistore context

Parameters
mem_ctxpointer to the memory context
paththe 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_init(), mapistore_set_mapping_path(), and MAPISTORE_SUCCESS.

Referenced by mapistore_init().

enum mapistore_error mapistore_message_get_message_data ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id,
void *  message,
TALLOC_CTX *  mem_ctx,
struct mapistore_message **  msg 
)

Modify recipients of a message in mapistore

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the backend where properties will be stored
midthe 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(), MAPISTORE_ERR_INVALID_PARAMETER, and mapistore_message_get_message_data().

Referenced by mapistore_message_get_message_data().

enum mapistore_error mapistore_message_modify_recipients ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id,
void *  message,
struct SPropTagArray *  columns,
uint16_t  count,
struct mapistore_message_recipient *  recipients 
)

Modify recipients of a message in mapistore

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the backend where properties will be stored
midthe 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(), MAPISTORE_ERR_INVALID_PARAMETER, and mapistore_message_modify_recipients().

Referenced by mapistore_message_modify_recipients().

enum mapistore_error mapistore_message_save ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id,
void *  message 
)

Commit the changes made to a message in mapistore

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the backend where the message's changes will be saved
midthe message identifier to save
flagsflags associated to the commit operation
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors

References mapistore_backend_lookup(), MAPISTORE_ERR_INVALID_PARAMETER, and mapistore_message_save().

Referenced by mapistore_message_save().

enum mapistore_error mapistore_message_set_read_flag ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id,
void *  message,
uint8_t  flag 
)

Commit the changes made to a message in mapistore

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the backend where the message's changes will be saved
midthe message identifier to save
flagsflags associated to the commit operation
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors

References mapistore_backend_lookup(), MAPISTORE_ERR_INVALID_PARAMETER, and mapistore_message_set_read_flag().

Referenced by mapistore_message_set_read_flag().

enum mapistore_error mapistore_message_submit ( struct mapistore_context *  mstore_ctx,
uint32_t  context_id,
void *  message,
enum SubmitFlags  flags 
)

Submits a message for sending.

Parameters
mstore_ctxpointer to the mapistore context
context_idthe context identifier referencing the backend where the message will be submitted
midthe message identifier representing the message to submit
flagsflags associated to the submit operation
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE errors

References mapistore_backend_lookup(), MAPISTORE_ERR_INVALID_PARAMETER, and mapistore_message_submit().

Referenced by mapistore_message_submit().

enum mapistore_error mapistore_namedprops_create_id ( struct ldb_context *  ldb_ctx,
struct MAPINAMEID  nameid,
uint16_t  mapped_id 
)

return the mapped property ID matching the nameid structure passed in parameter.

Parameters
ldb_ctxpointer to the namedprops ldb context
nameidthe MAPINAMEID structure to lookup
propIDpointer to the property ID the function returns
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE_ERROR

References MAPISTORE_ERR_DATABASE_INIT, and mapistore_namedprops_create_id().

Referenced by mapistore_namedprops_create_id().

enum mapistore_error mapistore_namedprops_get_mapped_id ( struct ldb_context *  ldb_ctx,
struct MAPINAMEID  nameid,
uint16_t *  propID 
)

return the mapped property ID matching the nameid structure passed in parameter.

Parameters
ldb_ctxpointer to the namedprops ldb context
nameidthe MAPINAMEID structure to lookup
propIDpointer to the property ID the function returns
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE_ERROR

References MAPISTORE_ERROR, mapistore_namedprops_get_mapped_id(), and MAPISTORE_SUCCESS.

Referenced by mapistore_namedprops_get_mapped_id().

enum mapistore_error mapistore_namedprops_get_nameid ( struct ldb_context *  ldb_ctx,
uint16_t  propID,
TALLOC_CTX *  mem_ctx,
struct MAPINAMEID **  nameidp 
)

return the nameid structture matching the mapped property ID passed in parameter.

Parameters
ldb_ctxpointer to the namedprops ldb context
propIDthe property ID to lookup
nameidpointer to the MAPINAMEID structure the function returns
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE_ERROR

References MAPISTORE_ERROR, mapistore_namedprops_get_nameid(), and MAPISTORE_SUCCESS.

Referenced by mapistore_namedprops_get_nameid().

enum mapistore_error mapistore_namedprops_get_nameid_type ( struct ldb_context *  ldb_ctx,
uint16_t  propID,
uint16_t *  propTypeP 
)

return the type matching the mapped property ID passed in parameter.

Parameters
ldb_ctxpointer to the namedprops ldb context
propIDthe property ID to lookup
propTypePpointer to the uint16_t that will receive the property type
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE_ERROR

References MAPISTORE_ERROR, mapistore_namedprops_get_nameid_type(), and MAPISTORE_SUCCESS.

Referenced by mapistore_namedprops_get_nameid_type().

uint16_t mapistore_namedprops_next_unused_id ( struct ldb_context *  ldb_ctx)

return the next unmapped property ID

Parameters
ldb_ctxpointer to the namedprops ldb context
Returns
0 on error, the next mapped id otherwise

References mapistore_namedprops_next_unused_id().

Referenced by mapistore_namedprops_next_unused_id().

enum mapistore_error mapistore_release ( struct mapistore_context *  mstore_ctx)

Release the mapistore context and destroy any data associated

Parameters
mstore_ctxpointer 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, mapistore_release(), and MAPISTORE_SUCCESS.

Referenced by mapistore_release().

enum mapistore_error mapistore_replica_mapping_guid_to_replid ( struct mapistore_context *  mstore_ctx,
const char *  username,
const struct GUID *  guidP,
uint16_t *  replidP 
)

Search a replica guid in the database, creates it if it does not exist

Parameters
mstore_ctxpointer to the mapistore context
guidPthe replica guid
replidPpointer to the returned replica id
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error

References MAPISTORE_ERROR, mapistore_replica_mapping_guid_to_replid(), and MAPISTORE_SUCCESS.

Referenced by mapistore_replica_mapping_guid_to_replid().

enum mapistore_error mapistore_replica_mapping_replid_to_guid ( struct mapistore_context *  mstore_ctx,
const char *  username,
uint16_t  replid,
struct GUID *  guidP 
)

Search a replica id in the database

Parameters
mstore_ctxpointer to the mapistore context
replidthe replica id
guidPpointer to the returned replica guid
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error

References MAPISTORE_ERROR, mapistore_replica_mapping_replid_to_guid(), and MAPISTORE_SUCCESS.

Referenced by mapistore_replica_mapping_replid_to_guid().

enum mapistore_error mapistore_search_context_by_uri ( struct mapistore_context *  mstore_ctx,
const char *  uri,
uint32_t *  context_id,
void **  backend_object 
)

Search for an existing context given its uri

Parameters
mstore_ctxpointer to the mapistore context
urithe URI to lookup
context_idpointer 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, mapistore_search_context_by_uri(), and MAPISTORE_SUCCESS.

Referenced by mapistore_search_context_by_uri().

enum mapistore_error mapistore_set_connection_info ( struct mapistore_context *  mstore_ctx,
struct ldb_context *  sam_ctx,
struct ldb_context *  oc_ctx,
const char *  username 
)

Set connection info for current mapistore context

Parameters
mstore_ctxpointer to the mapistore context
oc_ctxpointer to the openchange ldb database
usernamepointer to the current username
Returns
MAPISTORE_SUCCESS on success, otherwise MAPISTORE error

References MAPISTORE_ERR_INVALID_PARAMETER, MAPISTORE_ERR_NOT_INITIALIZED, mapistore_set_connection_info(), and MAPISTORE_SUCCESS.

Referenced by mapistore_set_connection_info().

enum mapistore_error mapistore_set_mapping_path ( const char *  path)

Set the mapping path

Parameters
pathpointer 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, mapistore_set_mapping_path(), and MAPISTORE_SUCCESS.

Referenced by mapistore_init(), and mapistore_set_mapping_path().


Creative Commons License
Creative Commons Attribution icon Creative Commons Share Alike icon
This content is licensed under the Creative Commons
Attribution ShareAlike License v. 3.0:
http://creativecommons.org/licenses/by-sa/3.0/