OpenChange Dispatcher database routines. More...
#include <inttypes.h>#include "mapiproxy/dcesrv_mapiproxy.h"#include "mapiproxy/libmapiproxy/libmapiproxy.h"#include "libmapi/libmapi.h"#include "libmapi/libmapi_private.h"Defines | |
| #define | __STDC_FORMAT_MACROS 1 |
Functions | |
| _PUBLIC_ enum MAPISTATUS | openchangedb_get_distinguishedName (TALLOC_CTX *parent_ctx, void *_ldb_ctx, uint64_t fid, char **distinguishedName) |
| _PUBLIC_ enum MAPISTATUS | openchangedb_get_fid_by_name (void *_ldb_ctx, uint64_t parent_fid, const char *foldername, uint64_t *fid) |
| _PUBLIC_ enum MAPISTATUS | openchangedb_get_folder_count (void *_ldb_ctx, uint64_t fid, uint32_t *RowCount) |
| _PUBLIC_ enum MAPISTATUS | openchangedb_get_folder_property (TALLOC_CTX *parent_ctx, void *_ldb_ctx, char *recipient, uint32_t proptag, uint64_t fid, void **data) |
| static void * | openchangedb_get_folder_property_data (TALLOC_CTX *mem_ctx, struct ldb_result *res, uint32_t pos, uint32_t proptag, const char *PidTagAttr) |
| static void * | openchangedb_get_folder_special_property (TALLOC_CTX *mem_ctx, void *ldb_ctx, char *recipient, struct ldb_result *res, uint32_t proptag, const char *PidTagAttr) |
| _PUBLIC_ enum MAPISTATUS | openchangedb_get_MailboxGuid (void *_ldb_ctx, char *recipient, struct GUID *MailboxGUID) |
| _PUBLIC_ enum MAPISTATUS | openchangedb_get_MailboxReplica (void *_ldb_ctx, char *recipient, uint16_t *ReplID, struct GUID *ReplGUID) |
| _PUBLIC_ enum MAPISTATUS | openchangedb_get_mapistoreURI (TALLOC_CTX *parent_ctx, void *_ldb_ctx, uint64_t fid, char **mapistoreURL, bool mailboxstore) |
| _PUBLIC_ enum MAPISTATUS | openchangedb_get_new_folderID (void *_ldb_ctx, uint64_t *fid) |
| _PUBLIC_ enum MAPISTATUS | openchangedb_get_PublicFolderID (void *_ldb_ctx, uint32_t SystemIdx, uint64_t *FolderId) |
| _PUBLIC_ enum MAPISTATUS | openchangedb_get_PublicFolderReplica (void *_ldb_ctx, uint16_t *ReplID, struct GUID *ReplGUID) |
| _PUBLIC_ enum MAPISTATUS | openchangedb_get_ReceiveFolder (TALLOC_CTX *parent_ctx, void *_ldb_ctx, const char *recipient, const char *MessageClass, uint64_t *fid, const char **ExplicitMessageClass) |
| _PUBLIC_ enum MAPISTATUS | openchangedb_get_SystemFolderID (void *_ldb_ctx, char *recipient, uint32_t SystemIdx, uint64_t *FolderId) |
| _PUBLIC_ enum MAPISTATUS | openchangedb_get_table_property (TALLOC_CTX *parent_ctx, void *_ldb_ctx, char *recipient, char *ldb_filter, uint32_t proptag, uint32_t pos, void **data) |
| _PUBLIC_ enum MAPISTATUS | openchangedb_lookup_folder_property (void *_ldb_ctx, uint32_t proptag, uint64_t fid) |
| _PUBLIC_ enum MAPISTATUS | openchangedb_set_ReceiveFolder (TALLOC_CTX *parent_ctx, void *_ldb_ctx, const char *recipient, const char *MessageClass, uint64_t fid) |
OpenChange Dispatcher database routines.
| #define __STDC_FORMAT_MACROS 1 |
| _PUBLIC_ enum MAPISTATUS openchangedb_get_distinguishedName | ( | TALLOC_CTX * | parent_ctx, |
| void * | _ldb_ctx, | ||
| uint64_t | fid, | ||
| char ** | distinguishedName | ||
| ) |
Retrieve the distinguishedName associated to a mailbox system folder.
| parent_ctx | pointer to the parent memory context |
| _ldb_ctx | pointer to the openchange LDB context |
| fid | the Folder identifier to search for |
| distinguishedName | pointer on pointer to the distinguishedName string the function returns |
Referenced by openchangedb_set_ReceiveFolder(), EcDoRpc_RopCreateSystemSpecialFolder(), EcDoRpc_RopCreateGenericFolder(), and DoDeleteSystemFolder().
| _PUBLIC_ enum MAPISTATUS openchangedb_get_fid_by_name | ( | void * | _ldb_ctx, |
| uint64_t | parent_fid, | ||
| const char * | foldername, | ||
| uint64_t * | fid | ||
| ) |
Retrieve the folder ID associated with a given folder name
This function looks up the specified foldername (as a PidTagDisplayName) and returns the associated folder ID. Note that folder names are only unique in the context of a parent folder, so the parent folder needs to be provided.
| _ldb_ctx | pointer to the openchange LDB context |
| parent_fid | the folder ID of the parent folder |
| foldername | the name to look up |
| fid | the folder ID for the folder with the specified name (0 if not found) |
Referenced by EcDoRpc_RopCreateSystemSpecialFolder().
| _PUBLIC_ enum MAPISTATUS openchangedb_get_folder_count | ( | void * | _ldb_ctx, |
| uint64_t | fid, | ||
| uint32_t * | RowCount | ||
| ) |
Retrieve the number of sub folders for a given fid
| _ldb_ctx | pointer to the openchange LDB context |
| fid | the folder identifier to use for the search |
| RowCount | pointer to the returned number of results |
Referenced by EcDoRpc_RopGetHierarchyTable().
| _PUBLIC_ enum MAPISTATUS openchangedb_get_folder_property | ( | TALLOC_CTX * | parent_ctx, |
| void * | _ldb_ctx, | ||
| char * | recipient, | ||
| uint32_t | proptag, | ||
| uint64_t | fid, | ||
| void ** | data | ||
| ) |
Retrieve a MAPI property value from a folder record
| parent_ctx | pointer to the memory context |
| _ldb_ctx | pointer to the openchange LDB context |
| recipient | the mailbox username |
| proptag | the MAPI property tag to retrieve value for |
| fid | the record folder identifier |
| data | pointer on pointer to the data the function returns |
References openchangedb_property_get_attribute(), openchangedb_get_folder_special_property(), and openchangedb_get_folder_property_data().
Referenced by RopGetPropertiesSpecific_Mailbox(), and RopGetPropertiesSpecific_SystemSpecialFolder().
| static void* openchangedb_get_folder_property_data | ( | TALLOC_CTX * | mem_ctx, |
| struct ldb_result * | res, | ||
| uint32_t | pos, | ||
| uint32_t | proptag, | ||
| const char * | PidTagAttr | ||
| ) | [static] |
Retrieve a MAPI property from a OpenChange LDB message
| mem_ctx | pointer to the memory context |
| res | pointer to the LDB results |
| pos | the LDB result index |
| proptag | the MAPI property tag to lookup |
| PidTagAttr | the mapped MAPI property name |
Referenced by openchangedb_get_folder_property(), and openchangedb_get_table_property().
| static void* openchangedb_get_folder_special_property | ( | TALLOC_CTX * | mem_ctx, |
| void * | ldb_ctx, | ||
| char * | recipient, | ||
| struct ldb_result * | res, | ||
| uint32_t | proptag, | ||
| const char * | PidTagAttr | ||
| ) | [static] |
Retrieve a special MAPI property from a folder record
| mem_ctx | pointer to the memory context |
| ldb_ctx | pointer to the OpenChange LDB context |
| recipient | the mailbox username |
| res | pointer to the LDB result |
| proptag | the MAPI property tag to lookup |
| PidTagAttr | the mapped MAPI property name |
References openchangedb_get_MailboxGuid(), openchangedb_get_MailboxReplica(), and entryid_set_folder_EntryID().
Referenced by openchangedb_get_folder_property(), and openchangedb_get_table_property().
| _PUBLIC_ enum MAPISTATUS openchangedb_get_MailboxGuid | ( | void * | _ldb_ctx, |
| char * | recipient, | ||
| struct GUID * | MailboxGUID | ||
| ) |
Retrieve the mailbox GUID for given recipient from openchange dispatcher database
| _ldb_ctx | pointer to the OpenChange LDB context |
| recipient | the mailbox username |
| MailboxGUID | pointer to the mailbox GUID the function returns |
Referenced by openchangedb_get_folder_special_property(), and RopLogon_Mailbox().
| _PUBLIC_ enum MAPISTATUS openchangedb_get_MailboxReplica | ( | void * | _ldb_ctx, |
| char * | recipient, | ||
| uint16_t * | ReplID, | ||
| struct GUID * | ReplGUID | ||
| ) |
Retrieve the mailbox replica identifier and GUID for given recipient from openchange dispatcher database
| _ldb_ctx | pointer to the OpenChange LDB context |
| recipient | the mailbox username |
| ReplID | pointer to the replica identifier the function returns |
| ReplGUID | pointer to the replica GUID the function returns |
Referenced by openchangedb_get_folder_special_property(), and RopLogon_Mailbox().
| _PUBLIC_ enum MAPISTATUS openchangedb_get_mapistoreURI | ( | TALLOC_CTX * | parent_ctx, |
| void * | _ldb_ctx, | ||
| uint64_t | fid, | ||
| char ** | mapistoreURL, | ||
| bool | mailboxstore | ||
| ) |
Retrieve the mapistore URI associated to a mailbox system folder.
| parent_ctx | pointer to the memory context |
| _ldb_ctx | pointer to the openchange LDB context |
| fid | the Folder identifier to search for |
| mapistoreURL | pointer on pointer to the mapistore URI the function returns |
| mailboxstore | boolean value which defines whether the record has to be searched within Public folders hierarchy or not |
Referenced by emsmdbp_object_folder_init().
| _PUBLIC_ enum MAPISTATUS openchangedb_get_new_folderID | ( | void * | _ldb_ctx, |
| uint64_t * | fid | ||
| ) |
Return the next available FolderID
| _ldb_ctx | pointer to the openchange LDB context |
| fid | pointer to the fid value the function returns |
Referenced by EcDoRpc_RopCreateSystemSpecialFolder(), EcDoRpc_RopCreateGenericFolder(), and EcDoRpc_RopCreateMessage().
| _PUBLIC_ enum MAPISTATUS openchangedb_get_PublicFolderID | ( | void * | _ldb_ctx, |
| uint32_t | SystemIdx, | ||
| uint64_t * | FolderId | ||
| ) |
Retrieve the public folder FolderID (fid) for a given folder type
| _ldb_ctx | pointer to the OpenChange LDB context |
| SystemIdx | the system folder index |
| FolderId | pointer to the folder identifier the function returns |
Referenced by emsmdbp_object_mailbox_init(), and RopLogon_PublicFolder().
| _PUBLIC_ enum MAPISTATUS openchangedb_get_PublicFolderReplica | ( | void * | _ldb_ctx, |
| uint16_t * | ReplID, | ||
| struct GUID * | ReplGUID | ||
| ) |
Retrieve the public folder replica identifier and GUID from the openchange dispatcher database
| _ldb_ctx | pointer to the OpenChange LDB context |
| ReplID | pointer to the replica identifier the function returns |
| ReplGUID | pointer to the replica GUID the function returns |
Referenced by RopLogon_PublicFolder().
| _PUBLIC_ enum MAPISTATUS openchangedb_get_ReceiveFolder | ( | TALLOC_CTX * | parent_ctx, |
| void * | _ldb_ctx, | ||
| const char * | recipient, | ||
| const char * | MessageClass, | ||
| uint64_t * | fid, | ||
| const char ** | ExplicitMessageClass | ||
| ) |
Retrieve the Explicit message class and Folder identifier associated to the MessageClass search pattern.
| parent_ctx | pointer to the memory context |
| _ldb_ctx | pointer to the openchange LDB context |
| recipient | pointer to the mailbox's username |
| MessageClass | substring to search for |
| fid | pointer to the folder identifier the function returns |
| ExplicitMessageClass | pointer on pointer to the complete message class the function returns |
Referenced by RopGetReceiveFolder().
| _PUBLIC_ enum MAPISTATUS openchangedb_get_SystemFolderID | ( | void * | _ldb_ctx, |
| char * | recipient, | ||
| uint32_t | SystemIdx, | ||
| uint64_t * | FolderId | ||
| ) |
Retrieve the mailbox FolderID for given recipient from openchange dispatcher database
| _ldb_ctx | pointer to the OpenChange LDB context |
| recipient | the mailbox username |
| SystemIdx | the system folder index |
| FolderId | pointer to the folder identifier the function returns |
Referenced by emsmdbp_object_mailbox_init(), and RopLogon_Mailbox().
| _PUBLIC_ enum MAPISTATUS openchangedb_get_table_property | ( | TALLOC_CTX * | parent_ctx, |
| void * | _ldb_ctx, | ||
| char * | recipient, | ||
| char * | ldb_filter, | ||
| uint32_t | proptag, | ||
| uint32_t | pos, | ||
| void ** | data | ||
| ) |
Retrieve a MAPI property from a table (ldb search results)
| parent_ctx | pointer to the memory context |
| _ldb_ctx | pointer to the openchange LDB context |
| recipient | the mailbox username |
| ldb_filter | the ldb search string |
| proptag | the MAPI property tag to retrieve value for |
| pos | the record position in search results |
| data | pointer on pointer to the data the function returns |
References openchangedb_property_get_attribute(), openchangedb_get_folder_special_property(), and openchangedb_get_folder_property_data().
Referenced by EcDoRpc_RopQueryRows().
| _PUBLIC_ enum MAPISTATUS openchangedb_lookup_folder_property | ( | void * | _ldb_ctx, |
| uint32_t | proptag, | ||
| uint64_t | fid | ||
| ) |
Check if a property exists within an openchange dispatcher database record
| _ldb_ctx | pointer to the openchange LDB context |
| proptag | the MAPI property tag to lookup |
| fid | the record folder identifier |
References openchangedb_property_get_attribute().
Referenced by RopGetPropertiesSpecific_SystemSpecialFolder().
| _PUBLIC_ enum MAPISTATUS openchangedb_set_ReceiveFolder | ( | TALLOC_CTX * | parent_ctx, |
| void * | _ldb_ctx, | ||
| const char * | recipient, | ||
| const char * | MessageClass, | ||
| uint64_t | fid | ||
| ) |
Set the receive folder for a specific message class.
| parent_ctx | pointer to the memory context |
| _ldb_ctx | pointer to the openchange LDB context |
| recipient | pointer to the mailbox's username |
| MessageClass | message class (e.g. IPM.whatever) to set |
| fid | folder identifier for the recipient folder for the message class |
References openchangedb_get_distinguishedName().
Referenced by RopSetReceiveFolder().
|
|
This content is licensed under the Creative Commons Attribution ShareAlike License v. 3.0: http://creativecommons.org/licenses/by-sa/3.0/ |