OpenChange mapistore library 2.0 API Documentation

- Main Page
- Files

- File List
- Globals

Functions
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_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_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_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_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_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().

struct backend_context* mapistore_backend_lookup | ( | struct backend_context_list * | backend_list_ctx,
|  | uint32_t | context_id
| ) |  |
| read

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().

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_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().

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_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().

enum mapistore_error mapistore_backend_register | ( | const void * | _backend | ) |

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.

bool mapistore_backend_run_init | ( | init_backend_fn * | fns | ) |

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().

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

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_del_context(), MAPISTORE_ERR_INVALID_PARAMETER, MAPISTORE_ERR_REF_COUNT, MAPISTORE_ERROR, and MAPISTORE_SUCCESS.

Referenced by mapistore_del_context().

const char* mapistore_errstr | ( | enum mapistore_error | mapistore_err | ) |

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_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, mapistore_errstr(), and MAPISTORE_SUCCESS.

Referenced by mapistore_errstr(), and mapistore_init().

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_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(), 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_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(), 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_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, 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_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(), 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_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(), 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_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(), 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_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(), 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_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(), 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_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, 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_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, 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_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().

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_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().

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_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().

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_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().

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_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_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_ctx | pointer to the memory context
  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_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_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(), 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_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(), 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_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(), 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_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(), 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_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(), 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_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_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_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, 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_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, 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_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, 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_ctx | pointer 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_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, 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_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, 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_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, 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_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, 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_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, 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

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

Referenced by mapistore_init(), and mapistore_set_mapping_path().

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