OpenChange Dispatcher database routines. More...
#include "mapiproxy/dcesrv_mapiproxy.h"#include "libmapiproxy.h"#include "libmapi/libmapi.h"#include "libmapi/libmapi_private.h"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.
| _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().
| _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) |
| _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_get_folder_property_data(), and openchangedb_get_folder_special_property().
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 entryid_set_folder_EntryID(), openchangedb_get_MailboxGuid(), and openchangedb_get_MailboxReplica().
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_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_get_folder_property_data(), and openchangedb_get_folder_special_property().
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 |
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/ |