Server-side specific objects init/release routines. More...
#include "mapiproxy/dcesrv_mapiproxy.h"
#include "mapiproxy/libmapiproxy/libmapiproxy.h"
#include "dcesrv_exchange_emsmdb.h"
Functions | |
uint32_t | emsmdbp_get_contextID (struct mapi_handles *handles) |
const char * | emsmdbp_getstr_type (struct emsmdbp_object *object) |
bool | emsmdbp_is_mailboxstore (struct mapi_handles *handles) |
bool | emsmdbp_is_mapistore (struct mapi_handles *handles) |
static int | emsmdbp_object_destructor (void *data) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_object_folder_init (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, uint64_t folderID, struct mapi_handles *parent) |
struct mapi_handles * | emsmdbp_object_get_folder_handle_by_fid (struct mapi_handles_context *handles_ctx, uint64_t fid) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_object_init (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_object_mailbox_init (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct EcDoRpc_MAPI_REQ *request, bool mailboxstore) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_object_message_init (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, uint64_t messageID, struct mapi_handles *parent) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_object_stream_init (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, uint32_t property, struct mapi_handles *parent) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_object_table_init (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct mapi_handles *parent) |
Server-side specific objects init/release routines.
uint32_t emsmdbp_get_contextID | ( | struct mapi_handles * | handles | ) |
Return the contextID associated to a handle
handles | pointer to the MAPI handle to lookup |
References EMSMDBP_OBJECT_FOLDER, EMSMDBP_OBJECT_MAILBOX, EMSMDBP_OBJECT_MESSAGE, EMSMDBP_OBJECT_STREAM, mapi_handles_get_private_data(), emsmdbp_object::object, and emsmdbp_object::type.
Referenced by EcDoRpc_RopCreateMessage(), emsmdbp_object_folder_init(), and emsmdbp_object_stream_init().
const char* emsmdbp_getstr_type | ( | struct emsmdbp_object * | object | ) |
References EMSMDBP_OBJECT_FOLDER, EMSMDBP_OBJECT_MAILBOX, EMSMDBP_OBJECT_MESSAGE, EMSMDBP_OBJECT_STREAM, EMSMDBP_OBJECT_TABLE, EMSMDBP_OBJECT_UNDEF, and emsmdbp_object::type.
Referenced by emsmdbp_object_destructor().
bool emsmdbp_is_mailboxstore | ( | struct mapi_handles * | handles | ) |
Convenient function to determine whether specified mapi_handles refers to object within mailbox or public folders store.
handles | pointer to the MAPI handle to lookup |
References EMSMDBP_OBJECT_FOLDER, EMSMDBP_OBJECT_MAILBOX, mapi_handles_get_private_data(), emsmdbp_object::object, and emsmdbp_object::type.
Referenced by emsmdbp_object_folder_init().
bool emsmdbp_is_mapistore | ( | struct mapi_handles * | handles | ) |
Convenient function to determine whether specified mapi_handles refers to object using mapistore or not
handles | pointer to the MAPI handle to lookup |
References EMSMDBP_OBJECT_FOLDER, EMSMDBP_OBJECT_MAILBOX, EMSMDBP_OBJECT_MESSAGE, EMSMDBP_OBJECT_STREAM, EMSMDBP_OBJECT_TABLE, mapi_handles_get_private_data(), emsmdbp_object::object, and emsmdbp_object::type.
Referenced by EcDoRpc_RopCreateFolder(), EcDoRpc_RopCreateMessage(), EcDoRpc_RopDeleteFolder(), EcDoRpc_RopDeleteMessages(), EcDoRpc_RopEmptyFolder(), EcDoRpc_RopGetContentsTable(), EcDoRpc_RopGetHierarchyTable(), EcDoRpc_RopGetPropertiesSpecific(), EcDoRpc_RopOpenFolder(), EcDoRpc_RopOpenMessage(), EcDoRpc_RopReloadCachedInformation(), EcDoRpc_RopSaveChangesMessage(), EcDoRpc_RopSetProperties(), EcDoRpc_RopSubmitMessage(), emsmdbp_object_folder_init(), emsmdbp_object_message_init(), emsmdbp_object_stream_init(), and emsmdbp_object_table_init().
static int emsmdbp_object_destructor | ( | void * | data | ) | [static] |
talloc destructor for emsmdbp_objects
data | generic pointer on data |
References emsmdbp_object_message::contextID, emsmdbp_object_folder::contextID, emsmdbp_getstr_type(), EMSMDBP_OBJECT_FOLDER, EMSMDBP_OBJECT_MESSAGE, emsmdbp_objects::folder, emsmdbp_objects::message, emsmdbp_object_message::messageID, emsmdbp_object::mstore_ctx, emsmdbp_object::object, and emsmdbp_object::type.
Referenced by emsmdbp_object_init().
_PUBLIC_ struct emsmdbp_object* emsmdbp_object_folder_init | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
uint64_t | folderID, | ||
struct mapi_handles * | parent | ||
) | [read] |
Initialize a folder object
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
folderID | the folder identifier |
parent | handle to the parent folder for this folder |
References emsmdbp_object_folder::contextID, emsmdbp_get_contextID(), emsmdbp_is_mailboxstore(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_FOLDER, emsmdbp_object_init(), emsmdbp_objects::folder, emsmdbp_object_folder::folderID, emsmdbp_context::login_user, emsmdbp_object_folder::mailboxstore, emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_mapistoreURI(), and emsmdbp_context::username.
Referenced by EcDoRpc_RopCreateFolder(), EcDoRpc_RopOpenFolder(), and EcDoRpc_RopOpenMessage().
struct mapi_handles* emsmdbp_object_get_folder_handle_by_fid | ( | struct mapi_handles_context * | handles_ctx, |
uint64_t | fid | ||
) | [read] |
Retrieve the folder handle matching given fid
handles_ctx | pointer to the handles context |
fid | folder identifier to lookup |
References EMSMDBP_OBJECT_FOLDER, emsmdbp_objects::folder, emsmdbp_object_folder::folderID, mapi_handles::handle, mapi_handles_context::handles, mapi_handles_get_private_data(), mapi_handles::next, emsmdbp_object::object, and emsmdbp_object::type.
Referenced by EcDoRpc_RopCreateMessage(), and EcDoRpc_RopOpenMessage().
_PUBLIC_ struct emsmdbp_object* emsmdbp_object_init | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx | ||
) | [read] |
Initialize an emsmdbp_object
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
References emsmdbp_object_destructor(), EMSMDBP_OBJECT_UNDEF, emsmdbp_context::mstore_ctx, and emsmdbp_object::object.
Referenced by emsmdbp_object_folder_init(), emsmdbp_object_mailbox_init(), emsmdbp_object_message_init(), emsmdbp_object_stream_init(), and emsmdbp_object_table_init().
_PUBLIC_ struct emsmdbp_object* emsmdbp_object_mailbox_init | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct EcDoRpc_MAPI_REQ * | request, | ||
bool | mailboxstore | ||
) | [read] |
Initialize a mailbox object
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
request | pointer to the Logon MAPI request |
mailboxstore | boolean which specifies whether the mailbox object is a PF store or a private mailbox store |
References emsmdbp_object_init(), EMSMDBP_OBJECT_MAILBOX, emsmdbp_object_mailbox::folderID, emsmdbp_objects::mailbox, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_PublicFolderID(), openchangedb_get_SystemFolderID(), emsmdbp_object_mailbox::owner_EssDN, emsmdbp_object_mailbox::owner_Name, emsmdbp_context::samdb_ctx, and emsmdbp_context::szUserDN.
Referenced by EcDoRpc_RopLogon().
_PUBLIC_ struct emsmdbp_object* emsmdbp_object_message_init | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
uint64_t | messageID, | ||
struct mapi_handles * | parent | ||
) | [read] |
Initialize a message object
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
messageID | the message identifier |
parent | pointer to the parent MAPI handle |
References emsmdbp_object_folder::contextID, emsmdbp_is_mapistore(), emsmdbp_object_init(), EMSMDBP_OBJECT_MESSAGE, emsmdbp_objects::folder, emsmdbp_object_folder::folderID, mapi_handles_get_private_data(), emsmdbp_objects::message, emsmdbp_context::mstore_ctx, and emsmdbp_object::object.
Referenced by EcDoRpc_RopCreateMessage(), and EcDoRpc_RopOpenMessage().
_PUBLIC_ struct emsmdbp_object* emsmdbp_object_stream_init | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
uint32_t | property, | ||
struct mapi_handles * | parent | ||
) | [read] |
Initialize a stream object
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider cotnext |
property | the stream property identifier |
parent | pointer to the parent MAPI handle |
References emsmdbp_get_contextID(), emsmdbp_is_mapistore(), emsmdbp_object_init(), EMSMDBP_OBJECT_STREAM, mapi_handles_get_private_data(), emsmdbp_object::object, and emsmdbp_objects::stream.
Referenced by EcDoRpc_RopOpenStream().
_PUBLIC_ struct emsmdbp_object* emsmdbp_object_table_init | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct mapi_handles * | parent | ||
) | [read] |
Initialize a table object
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
parent | pointer to the parent MAPI handle |
References emsmdbp_object_folder::contextID, emsmdbp_is_mapistore(), emsmdbp_object_init(), EMSMDBP_OBJECT_TABLE, emsmdbp_objects::folder, emsmdbp_object_folder::folderID, mapi_handles_get_private_data(), emsmdbp_context::mstore_ctx, emsmdbp_object::object, and emsmdbp_objects::table.
Referenced by EcDoRpc_RopGetContentsTable(), and EcDoRpc_RopGetHierarchyTable().
![]() ![]() ![]() |
This content is licensed under the Creative Commons Attribution ShareAlike License v. 3.0: http://creativecommons.org/licenses/by-sa/3.0/ |