MAPIProxy 2.0 API Documentation

- Main Page
- Related Pages
- Data Structures
- Files

- File List
- Globals

Functions
openchangedb_message.c File Reference

OpenChange Dispatcher database message routines. More...

`#include <inttypes.h>`
`#include "mapiproxy/dcesrv_mapiproxy.h"`
`#include "mapiproxy/libmapistore/mapistore.h"`
`#include "libmapiproxy.h"`
`#include "libmapi/libmapi_private.h"`

## Functions
_PUBLIC_ enum MAPISTATUS | openchangedb_message_create (TALLOC_CTX *mem_ctx, struct ldb_context *ldb_ctx, uint64_t messageID, uint64_t folderID, bool fai, void **message_object)
_PUBLIC_ enum MAPISTATUS | openchangedb_message_get_property (TALLOC_CTX *mem_ctx, void *message_object, uint32_t proptag, void **data)
_PUBLIC_ enum MAPISTATUS | openchangedb_message_open (TALLOC_CTX *mem_ctx, struct ldb_context *ldb_ctx, uint64_t messageID, uint64_t folderID, void **message_object, void **msgp)
_PUBLIC_ enum MAPISTATUS | openchangedb_message_save (void *_msg, uint8_t SaveFlags)
_PUBLIC_ enum MAPISTATUS | openchangedb_message_set_properties (TALLOC_CTX *mem_ctx, void *message_object, struct SRow *row)

## Detailed Description

OpenChange Dispatcher database message routines.

## Function Documentation

_PUBLIC_ enum MAPISTATUS openchangedb_message_create | ( | TALLOC_CTX * | mem_ctx,
|  | struct ldb_context * | ldb_ctx,
|  | uint64_t | messageID,
|  | uint64_t | folderID,
|  | bool | fai,
|  | void ** | message_object
| ) |  |

Initialize and create a message object

Parameters

  mem_ctx | pointer to the memory context to use for allocation
  ldb_ctx | pointer to the ldb context
  messageID | the identifier of the message to create
  folderID | the identifier of the folder where the message is created
  message_object | pointer on pointer to the message object to return

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error

References openchangedb_get_distinguishedName(), and openchangedb_get_mailboxDN().

Referenced by EcDoRpc_RopCreateMessage().

_PUBLIC_ enum MAPISTATUS openchangedb_message_get_property | ( | TALLOC_CTX * | mem_ctx,
|  | void * | message_object,
|  | uint32_t | proptag,
|  | void ** | data
| ) |  |

Retrieve a property on a LDB message

Parameters

  mem_ctx | pointer to the memory context
  message_object | the openchangedb message to retrieve data from
  proptag | the MAPI property tag to lookup
  data | pointer on pointer to the data to return

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error

References openchangedb_get_property_data_message().

_PUBLIC_ enum MAPISTATUS openchangedb_message_open | ( | TALLOC_CTX * | mem_ctx,
|  | struct ldb_context * | ldb_ctx,
|  | uint64_t | messageID,
|  | uint64_t | folderID,
|  | void ** | message_object,
|  | void ** | msgp
| ) |  |

Initialize and open a message object

Parameters

  mem_ctx | pointer to the memory context to use for allocation
  ldb_ctx | pointer to the ldb context
  messageID | the identifier of the message to open
  folderID | the identifier of the folder where the message is stored
  message_object | pointer on pointer to the message object to return
  msgp | pointer on pointer to the mapistore message to return

Returns
  MAPI_E_SUCCESS on success, otherwise MAPISTORE error

_PUBLIC_ enum MAPISTATUS openchangedb_message_save | ( | void * | _msg,
|  | uint8_t | SaveFlags
| ) |  |

Save (commit) message in openchangedb database

Parameters

  msg | the message object
  SaveFlags | flags associated to the save operation

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI error

Referenced by EcDoRpc_RopSaveChangesMessage().

_PUBLIC_ enum MAPISTATUS openchangedb_message_set_properties | ( | TALLOC_CTX * | mem_ctx,
|  | void * | message_object,
|  | struct SRow * | row
| ) |  |

Set a list of properties on a message

Parameters

  mem_ctx | pointer to the memory context
  message_object | pointer to the openchangedb message object
  row | pointer to the SRow structure holding the array of properties to set on the message

Returns
  MAPI_E_SUCCESS on success, otherwise MAPI errors.

References openchangedb_set_folder_property_data().

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