API for MAPI handles management. More...
#include "mapiproxy/dcesrv_mapiproxy.h"#include "libmapi/libmapi.h"#include "libmapi/libmapi_private.h"#include "libmapiproxy.h"Functions | |
| _PUBLIC_ enum MAPISTATUS | mapi_handles_add (struct mapi_handles_context *handles_ctx, uint32_t container_handle, struct mapi_handles **rec) |
| _PUBLIC_ enum MAPISTATUS | mapi_handles_delete (struct mapi_handles_context *handles_ctx, uint32_t handle) |
| _PUBLIC_ enum MAPISTATUS | mapi_handles_get_private_data (struct mapi_handles *handle, void **private_data) |
| _PUBLIC_ struct mapi_handles_context * | mapi_handles_init (TALLOC_CTX *mem_ctx) |
| _PUBLIC_ enum MAPISTATUS | mapi_handles_release (struct mapi_handles_context *handles_ctx) |
| _PUBLIC_ enum MAPISTATUS | mapi_handles_search (struct mapi_handles_context *handles_ctx, uint32_t handle, struct mapi_handles **rec) |
| _PUBLIC_ enum MAPISTATUS | mapi_handles_set_private_data (struct mapi_handles *handle, void *private_data) |
| static enum MAPISTATUS | mapi_handles_tdb_free (struct mapi_handles_context *handles_ctx, uint32_t handle) |
| static enum MAPISTATUS | mapi_handles_tdb_update (struct mapi_handles_context *handles_ctx, uint32_t handle, uint32_t container_handle) |
| static int | mapi_handles_traverse_delete (TDB_CONTEXT *tdb_ctx, TDB_DATA key, TDB_DATA dbuf, void *state) |
| static int | mapi_handles_traverse_null (TDB_CONTEXT *tdb_ctx, TDB_DATA key, TDB_DATA dbuf, void *state) |
API for MAPI handles management.
| _PUBLIC_ enum MAPISTATUS mapi_handles_add | ( | struct mapi_handles_context * | handles_ctx, | |
| uint32_t | container_handle, | |||
| struct mapi_handles ** | rec | |||
| ) |
Add a handles to the database and return a pointer on created record
| handles_ctx | pointer to the MAPI handles context | |
| container_handle | the container handle if available | |
| rec | pointer on pointer to the MAPI handle structure the function returns |
References mapi_handles_tdb_free(), mapi_handles_tdb_update(), and mapi_handles_traverse_null().
Referenced by EcDoRpc_RopCreateFolder(), EcDoRpc_RopCreateMessage(), EcDoRpc_RopGetAttachmentTable(), EcDoRpc_RopGetContentsTable(), EcDoRpc_RopGetHierarchyTable(), EcDoRpc_RopGetPermissionsTable(), EcDoRpc_RopLogon(), EcDoRpc_RopOpenFolder(), EcDoRpc_RopOpenMessage(), EcDoRpc_RopOpenStream(), and EcDoRpc_RopRegisterNotification().
| _PUBLIC_ enum MAPISTATUS mapi_handles_delete | ( | struct mapi_handles_context * | handles_ctx, | |
| uint32_t | handle | |||
| ) |
Remove the MAPI handle referenced by the handle parameter from the double chained list and mark its associated TDB record as null
| handles_ctx | pointer to the MAPI handles context | |
| handle | the handle to delete |
References mapi_handles_tdb_free(), and mapi_handles_traverse_delete().
Referenced by EcDoRpc_RopRelease(), and mapi_handles_traverse_delete().
| _PUBLIC_ enum MAPISTATUS mapi_handles_get_private_data | ( | struct mapi_handles * | handle, | |
| void ** | private_data | |||
| ) |
Get the private data associated to a MAPI handle
| handle | pointer to the MAPI handle structure | |
| private_data | pointer on pointer to the private data the function returns |
Referenced by EcDoRpc_RopCreateFolder(), EcDoRpc_RopCreateMessage(), EcDoRpc_RopDeleteFolder(), EcDoRpc_RopDeleteMessages(), EcDoRpc_RopFindRow(), EcDoRpc_RopGetContentsTable(), EcDoRpc_RopGetHierarchyTable(), EcDoRpc_RopGetPropertiesSpecific(), EcDoRpc_RopOpenMessage(), EcDoRpc_RopQueryPosition(), EcDoRpc_RopQueryRows(), EcDoRpc_RopReadStream(), EcDoRpc_RopReloadCachedInformation(), EcDoRpc_RopSaveChangesMessage(), EcDoRpc_RopSetColumns(), EcDoRpc_RopSetProperties(), EcDoRpc_RopSubmitMessage(), EcDoRpc_RopWriteStream(), emsmdbp_get_contextID(), emsmdbp_is_mailboxstore(), emsmdbp_is_mapistore(), emsmdbp_object_get_folder_handle_by_fid(), emsmdbp_object_message_init(), emsmdbp_object_stream_init(), emsmdbp_object_table_init(), RopGetReceiveFolder(), and RopSetReceiveFolder().
| _PUBLIC_ struct mapi_handles_context* mapi_handles_init | ( | TALLOC_CTX * | mem_ctx | ) | [read] |
Initialize MAPI handles context
| mem_ctx | pointer to the memory context |
Referenced by emsmdbp_init().
| _PUBLIC_ enum MAPISTATUS mapi_handles_release | ( | struct mapi_handles_context * | handles_ctx | ) |
Release MAPI handles context
| handles_ctx | pointer to the MAPI handles context |
Referenced by emsmdbp_mapi_handles_destructor().
| _PUBLIC_ enum MAPISTATUS mapi_handles_search | ( | struct mapi_handles_context * | handles_ctx, | |
| uint32_t | handle, | |||
| struct mapi_handles ** | rec | |||
| ) |
Search for a record in the TDB database
| handles_ctx | pointer to the MAPI handles context | |
| handle | MAPI handle to lookup | |
| rec | pointer to the MAPI handle structure the function returns |
Referenced by EcDoRpc_RopCreateFolder(), EcDoRpc_RopDeleteFolder(), EcDoRpc_RopDeleteMessages(), EcDoRpc_RopEmptyFolder(), EcDoRpc_RopFindRow(), EcDoRpc_RopGetContentsTable(), EcDoRpc_RopGetHierarchyTable(), EcDoRpc_RopGetPropertiesSpecific(), EcDoRpc_RopOpenFolder(), EcDoRpc_RopOpenMessage(), EcDoRpc_RopOpenStream(), EcDoRpc_RopQueryPosition(), EcDoRpc_RopQueryRows(), EcDoRpc_RopReadStream(), EcDoRpc_RopReloadCachedInformation(), EcDoRpc_RopSaveChangesMessage(), EcDoRpc_RopSetColumns(), EcDoRpc_RopSetProperties(), EcDoRpc_RopSubmitMessage(), EcDoRpc_RopWriteStream(), RopGetReceiveFolder(), and RopSetReceiveFolder().
| _PUBLIC_ enum MAPISTATUS mapi_handles_set_private_data | ( | struct mapi_handles * | handle, | |
| void * | private_data | |||
| ) |
Set the private data associated to a MAPI handle
| handle | pointer to the MAPI handle structure | |
| private_data | pointer to the private data to associate to the MAPI handle |
Referenced by EcDoRpc_RopCreateFolder(), EcDoRpc_RopCreateMessage(), EcDoRpc_RopGetContentsTable(), EcDoRpc_RopGetHierarchyTable(), EcDoRpc_RopLogon(), EcDoRpc_RopOpenFolder(), EcDoRpc_RopOpenMessage(), and EcDoRpc_RopOpenStream().
| static enum MAPISTATUS mapi_handles_tdb_free | ( | struct mapi_handles_context * | handles_ctx, | |
| uint32_t | handle | |||
| ) | [static] |
Set a TDB record data as null meaning it can be reused in the future.
| handles_ctx | pointer to the MAPI handles context | |
| handle | handle key value to free |
Referenced by mapi_handles_add(), and mapi_handles_delete().
| static enum MAPISTATUS mapi_handles_tdb_update | ( | struct mapi_handles_context * | handles_ctx, | |
| uint32_t | handle, | |||
| uint32_t | container_handle | |||
| ) | [static] |
Update a TDB record
Referenced by mapi_handles_add().
| static int mapi_handles_traverse_delete | ( | TDB_CONTEXT * | tdb_ctx, | |
| TDB_DATA | key, | |||
| TDB_DATA | dbuf, | |||
| void * | state | |||
| ) | [static] |
Traverse TDB database and search for records which dbuf value is set to state.
| tdb_ctx | pointer to the TDB context | |
| key | the current TDB key | |
| dbuf | the current TDB value | |
| state | pointer on private data |
References mapi_handles_delete().
Referenced by mapi_handles_delete().
| static int mapi_handles_traverse_null | ( | TDB_CONTEXT * | tdb_ctx, | |
| TDB_DATA | key, | |||
| TDB_DATA | dbuf, | |||
| void * | state | |||
| ) | [static] |
Traverse TDB database and search for the first record which dbuf value is "null" string.
| tdb_ctx | pointer to the TDB context | |
| key | the current TDB key | |
| dbuf | the current TDB value | |
| state | pointer on private data |
Referenced by mapi_handles_add().
|
|
This content is licensed under the Creative Commons Attribution ShareAlike License v. 3.0: http://creativecommons.org/licenses/by-sa/3.0/ |