Server-side specific objects init/release routines. More...
#include <ctype.h>
#include "mapiproxy/dcesrv_mapiproxy.h"
#include "mapiproxy/libmapiproxy/libmapiproxy.h"
#include "mapiproxy/libmapiserver/libmapiserver.h"
#include "mapiproxy/libmapistore/mapistore_nameid.h"
#include "libmapi/property_tags.h"
#include "libmapi/property_altnames.h"
#include "dcesrv_exchange_emsmdb.h"
Functions | |
static char * | emsmdbp_compute_parent_uri (TALLOC_CTX *mem_ctx, char *uri) |
static enum mapistore_context_role | emsmdbp_container_class_to_role (const char *container_class) |
static int | emsmdbp_copy_message_attachments_mapistore (struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *source_object, struct emsmdbp_object *dest_object) |
static int | emsmdbp_copy_message_recipients_mapistore (struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *source_object, struct emsmdbp_object *dest_object) |
static int | emsmdbp_copy_properties (struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *source_object, struct emsmdbp_object *dest_object, struct SPropTagArray *excluded_tags) |
static struct mapistore_freebusy_properties * | emsmdbp_fetch_freebusy (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, const char *username, struct tm *start_tm, struct tm *end_tm) |
static void | emsmdbp_fill_prop_index (struct emsmdbp_prop_index *prop_index, struct SPropTagArray *properties) |
_PUBLIC_ void | emsmdbp_fill_row_blob (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, uint8_t *layout, DATA_BLOB *property_row, struct SPropTagArray *properties, void **data_pointers, enum MAPISTATUS *retvals, bool *untyped_status) |
_PUBLIC_ void | emsmdbp_fill_table_row_blob (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, DATA_BLOB *table_row, uint16_t num_props, enum MAPITAGS *properties, void **data_pointers, enum MAPISTATUS *retvals) |
_PUBLIC_ enum mapistore_error | emsmdbp_folder_delete (struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *parent_folder, uint64_t fid, uint8_t flags) |
int | emsmdbp_folder_get_folder_count (struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *folder, uint32_t *row_countp) |
_PUBLIC_ enum mapistore_error | emsmdbp_folder_move_folder (struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *move_folder, struct emsmdbp_object *target_folder, TALLOC_CTX *mem_ctx, const char *new_name) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_folder_open_table (TALLOC_CTX *mem_ctx, struct emsmdbp_object *parent_object, uint32_t table_type, uint32_t handle_id) |
_PUBLIC_ uint32_t | emsmdbp_get_contextID (struct emsmdbp_object *object) |
_PUBLIC_ int | emsmdbp_get_fid_from_uri (struct emsmdbp_context *emsmdbp_ctx, const char *uri, uint64_t *fidp) |
static struct emsmdbp_object * | emsmdbp_get_mailbox (struct emsmdbp_object *object) |
char * | emsmdbp_get_owner (struct emsmdbp_object *object) |
static int | emsmdbp_get_parent_fid (struct emsmdbp_context *emsmdbp_ctx, uint64_t fid, uint64_t *parent_fidp) |
_PUBLIC_ int | emsmdbp_get_uri_from_fid (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, uint64_t fid, char **urip) |
const char * | emsmdbp_getstr_type (struct emsmdbp_object *object) |
bool | emsmdbp_is_mailboxstore (struct emsmdbp_object *object) |
bool | emsmdbp_is_mapistore (struct emsmdbp_object *object) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_object_attachment_init (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, uint64_t messageID, struct emsmdbp_object *parent) |
_PUBLIC_ int | emsmdbp_object_copy_properties (struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *source_object, struct emsmdbp_object *target_object, struct SPropTagArray *excluded_properties, bool deep_copy) |
_PUBLIC_ enum MAPISTATUS | emsmdbp_object_create_folder (struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *parent_folder, TALLOC_CTX *mem_ctx, uint64_t fid, struct SRow *rowp, struct emsmdbp_object **new_folderp) |
static int | emsmdbp_object_destructor (void *data) |
static enum mapistore_error | emsmdbp_object_folder_commit_creation (struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *new_folder, bool force_container_class) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_object_folder_init (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, uint64_t folderID, struct emsmdbp_object *parent_object) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_object_ftcontext_init (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *parent) |
_PUBLIC_ int | emsmdbp_object_get_available_properties (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *object, struct SPropTagArray **propertiesp) |
_PUBLIC_ enum mapistore_error | emsmdbp_object_get_fid_by_name (struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *parent_folder, const char *name, uint64_t *fidp) |
_PUBLIC_ void ** | emsmdbp_object_get_properties (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *object, struct SPropTagArray *properties, enum MAPISTATUS **retvalsp) |
static int | emsmdbp_object_get_properties_mailbox (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *object, struct SPropTagArray *properties, void **data_pointers, enum MAPISTATUS *retvals) |
static int | emsmdbp_object_get_properties_mapistore (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *object, struct SPropTagArray *properties, void **data_pointers, enum MAPISTATUS *retvals) |
static int | emsmdbp_object_get_properties_mapistore_root (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *object, struct SPropTagArray *properties, void **data_pointers, enum MAPISTATUS *retvals) |
static int | emsmdbp_object_get_properties_message (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *object, struct SPropTagArray *properties, void **data_pointers, enum MAPISTATUS *retvals) |
static int | emsmdbp_object_get_properties_systemspecialfolder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *object, struct SPropTagArray *properties, void **data_pointers, enum MAPISTATUS *retvals) |
_PUBLIC_ struct emsmdbp_stream_data * | emsmdbp_object_get_stream_data (struct emsmdbp_object *object, enum MAPITAGS prop_tag) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_object_init (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *parent_object) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_object_mailbox_init (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, const char *essDN, bool mailboxstore) |
static void | emsmdbp_object_message_fill_freebusy_properties (struct emsmdbp_object *message_object) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_object_message_init (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, uint64_t messageID, struct emsmdbp_object *parent) |
_PUBLIC_ enum mapistore_error | emsmdbp_object_message_open (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *parent_object, uint64_t folderID, uint64_t messageID, bool read_write, struct emsmdbp_object **messageP, struct mapistore_message **msgp) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_object_message_open_attachment_table (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *message_object) |
_PUBLIC_ enum mapistore_error | emsmdbp_object_open_folder (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *parent, uint64_t fid, struct emsmdbp_object **folder_object_p) |
_PUBLIC_ enum mapistore_error | emsmdbp_object_open_folder_by_fid (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *context_object, uint64_t fid, struct emsmdbp_object **folder_object_p) |
_PUBLIC_ int | emsmdbp_object_set_properties (struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *object, struct SRow *rowp) |
_PUBLIC_ int | emsmdbp_object_stream_commit (struct emsmdbp_object *stream_object) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_object_stream_init (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *parent) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_object_subscription_init (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *parent) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_object_synccontext_init (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *parent_object) |
_PUBLIC_ int | emsmdbp_object_table_get_available_properties (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *table_object, struct SPropTagArray **propertiesp) |
_PUBLIC_ void ** | emsmdbp_object_table_get_row_props (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *table_object, uint32_t row_id, enum mapistore_query_type query_type, enum MAPISTATUS **retvalsp) |
_PUBLIC_ struct emsmdbp_object * | emsmdbp_object_table_init (TALLOC_CTX *mem_ctx, struct emsmdbp_context *emsmdbp_ctx, struct emsmdbp_object *parent) |
_PUBLIC_ struct emsmdbp_stream_data * | emsmdbp_stream_data_from_value (TALLOC_CTX *mem_ctx, enum MAPITAGS prop_tag, void *value, bool read_write) |
_PUBLIC_ DATA_BLOB | emsmdbp_stream_read_buffer (struct emsmdbp_stream *stream, uint32_t length) |
_PUBLIC_ void | emsmdbp_stream_write_buffer (TALLOC_CTX *mem_ctx, struct emsmdbp_stream *stream, DATA_BLOB new_buffer) |
Server-side specific objects init/release routines.
|
static |
Referenced by emsmdbp_get_parent_fid().
|
static |
Referenced by emsmdbp_object_folder_commit_creation().
|
inlinestatic |
References emsmdbp_object::backend_object, emsmdbp_object_table::denominator, emsmdbp_copy_properties(), emsmdbp_get_contextID(), emsmdbp_is_mapistore(), emsmdbp_object_attachment_init(), emsmdbp_object_message_open_attachment_table(), emsmdbp_object_table_get_row_props(), emsmdbp_objects::message, emsmdbp_object_message::messageID, emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_object_table::prop_count, emsmdbp_object_table::properties, and emsmdbp_objects::table.
Referenced by emsmdbp_object_copy_properties().
|
inlinestatic |
References emsmdbp_object::backend_object, emsmdbp_fill_prop_index(), emsmdbp_get_contextID(), emsmdbp_is_mapistore(), and emsmdbp_context::mstore_ctx.
Referenced by emsmdbp_object_copy_properties().
|
static |
|
static |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), EMSMDBP_INBOX, emsmdbp_is_mapistore(), emsmdbp_object_get_properties(), emsmdbp_object_mailbox_init(), emsmdbp_object_open_folder_by_fid(), emsmdbp_context::mstore_ctx, emsmdbp_context::oc_ctx, and openchangedb_get_SystemFolderID().
Referenced by emsmdbp_object_message_fill_freebusy_properties().
|
inlinestatic |
Referenced by emsmdbp_copy_message_recipients_mapistore().
_PUBLIC_ void emsmdbp_fill_row_blob | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
uint8_t * | layout, | ||
DATA_BLOB * | property_row, | ||
struct SPropTagArray * | properties, | ||
void ** | data_pointers, | ||
enum MAPISTATUS * | retvals, | ||
bool * | untyped_status | ||
) |
References libmapiserver_push_property().
Referenced by EcDoRpc_RopGetPropertiesSpecific().
_PUBLIC_ void emsmdbp_fill_table_row_blob | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
DATA_BLOB * | table_row, | ||
uint16_t | num_props, | ||
enum MAPITAGS * | properties, | ||
void ** | data_pointers, | ||
enum MAPISTATUS * | retvals | ||
) |
References libmapiserver_push_property().
Referenced by EcDoRpc_RopQueryRows(), and emsmdbp_fill_notification().
_PUBLIC_ enum mapistore_error emsmdbp_folder_delete | ( | struct emsmdbp_context * | emsmdbp_ctx, |
struct emsmdbp_object * | parent_folder, | ||
uint64_t | fid, | ||
uint8_t | flags | ||
) |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mailboxstore(), emsmdbp_is_mapistore(), emsmdbp_context::mstore_ctx, emsmdbp_context::oc_ctx, openchangedb_delete_folder(), openchangedb_get_mapistoreURI(), and emsmdbp_context::username.
Referenced by EcDoRpc_RopDeleteFolder(), and EcDoRpc_RopSyncImportDeletes().
int emsmdbp_folder_get_folder_count | ( | struct emsmdbp_context * | emsmdbp_ctx, |
struct emsmdbp_object * | folder, | ||
uint32_t * | row_countp | ||
) |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_FOLDER, EMSMDBP_OBJECT_MAILBOX, emsmdbp_objects::folder, emsmdbp_object_folder::folderID, emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_folder_count(), and emsmdbp_object::type.
Referenced by emsmdbp_folder_open_table(), and emsmdbp_object_get_properties_mapistore_root().
_PUBLIC_ enum mapistore_error emsmdbp_folder_move_folder | ( | struct emsmdbp_context * | emsmdbp_ctx, |
struct emsmdbp_object * | move_folder, | ||
struct emsmdbp_object * | target_folder, | ||
TALLOC_CTX * | mem_ctx, | ||
const char * | new_name | ||
) |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), EMSMDBP_TOP_INFORMATION_STORE, emsmdbp_objects::folder, emsmdbp_object_folder::folderID, emsmdbp_object_folder::mapistore_root, emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_delete_folder(), and openchangedb_get_system_idx().
Referenced by EcDoRpc_RopMoveFolder(), and EcDoRpc_RopSyncImportHierarchyChange().
_PUBLIC_ struct emsmdbp_object* emsmdbp_folder_open_table | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_object * | parent_object, | ||
uint32_t | table_type, | ||
uint32_t | handle_id | ||
) |
References emsmdbp_object::backend_object, emsmdbp_object_table::denominator, emsmdbp_object::emsmdbp_ctx, emsmdbp_folder_get_folder_count(), emsmdbp_get_contextID(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_FOLDER, emsmdbp_object_folder_commit_creation(), EMSMDBP_OBJECT_MAILBOX, emsmdbp_object_table_init(), emsmdbp_objects::folder, emsmdbp_object_mailbox::folderID, emsmdbp_object_folder::folderID, emsmdbp_object_table::handle, emsmdbp_objects::mailbox, emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_message_count(), openchangedb_table_init(), emsmdbp_object_folder::postponed_props, emsmdbp_objects::table, emsmdbp_object::type, and emsmdbp_object_table::ulType.
Referenced by EcDoRpc_RopGetContentsTable(), EcDoRpc_RopGetHierarchyTable(), EcDoRpc_RopGetPermissionsTable(), EcDoRpc_RopSyncConfigure(), oxcfxics_fill_transfer_state_arrays(), oxcfxics_push_folderChange(), and oxcfxics_push_messageChange().
_PUBLIC_ uint32_t emsmdbp_get_contextID | ( | struct emsmdbp_object * | object) |
Return the contextID associated to a handle
object | pointer to the emsmdp object |
References emsmdbp_get_contextID(), EMSMDBP_OBJECT_FOLDER, EMSMDBP_OBJECT_MAILBOX, emsmdbp_objects::folder, emsmdbp_object_folder::mapistore_root, emsmdbp_object::object, emsmdbp_object::parent_object, and emsmdbp_object::type.
Referenced by EcDoRpc_RopCopyFolder(), EcDoRpc_RopCreateAttach(), EcDoRpc_RopCreateMessage(), EcDoRpc_RopDeleteMessages(), EcDoRpc_RopFindRow(), EcDoRpc_RopModifyPermissions(), EcDoRpc_RopModifyRecipients(), EcDoRpc_RopMoveCopyMessages(), EcDoRpc_RopOpenAttach(), EcDoRpc_RopOpenEmbeddedMessage(), EcDoRpc_RopReloadCachedInformation(), EcDoRpc_RopRemoveAllRecipients(), EcDoRpc_RopResetTable(), EcDoRpc_RopRestrict(), EcDoRpc_RopSaveChangesMessage(), EcDoRpc_RopSetColumns(), EcDoRpc_RopSetMessageReadFlag(), EcDoRpc_RopSortTable(), EcDoRpc_RopSubmitMessage(), EcDoRpc_RopSyncImportDeletes(), EcDoRpc_RopSyncImportMessageChange(), EcDoRpc_RopSyncImportMessageMove(), EcDoRpc_RopSyncImportReadStateChanges(), EcDoRpc_RopTransportSend(), emsmdbp_copy_message_attachments_mapistore(), emsmdbp_copy_message_recipients_mapistore(), emsmdbp_fetch_freebusy(), emsmdbp_fill_notification(), emsmdbp_folder_delete(), emsmdbp_folder_get_folder_count(), emsmdbp_folder_move_folder(), emsmdbp_folder_open_table(), emsmdbp_get_contextID(), emsmdbp_object_create_folder(), emsmdbp_object_destructor(), emsmdbp_object_get_available_properties(), emsmdbp_object_get_fid_by_name(), emsmdbp_object_get_properties_mapistore(), emsmdbp_object_get_properties_mapistore_root(), emsmdbp_object_message_open(), emsmdbp_object_message_open_attachment_table(), emsmdbp_object_open_folder(), emsmdbp_object_set_properties(), emsmdbp_object_table_get_available_properties(), emsmdbp_object_table_get_row_props(), oxcfxics_fill_transfer_state_arrays(), oxcfxics_push_folderChange(), oxcfxics_push_messageChange(), oxcfxics_push_messageChange_attachments(), oxcfxics_table_set_cn_restriction(), oxomsg_mapistore_handle_message_relocation(), and RopEmptyFolder_GenericFolder().
_PUBLIC_ int emsmdbp_get_fid_from_uri | ( | struct emsmdbp_context * | emsmdbp_ctx, |
const char * | uri, | ||
uint64_t * | fidp | ||
) |
References emsmdbp_context::mstore_ctx, emsmdbp_context::oc_ctx, openchangedb_get_fid(), and emsmdbp_context::username.
Referenced by emsmdbp_get_parent_fid().
|
static |
char* emsmdbp_get_owner | ( | struct emsmdbp_object * | object) |
Convenience function to determine the owner of an object
object | pointer to the emsmdp object |
References emsmdbp_get_mailbox(), emsmdbp_objects::mailbox, emsmdbp_object::object, and emsmdbp_object_mailbox::owner_username.
Referenced by EcDoRpc_RopDeleteMessages(), EcDoRpc_RopSaveChangesMessage(), EcDoRpc_RopSubmitMessage(), EcDoRpc_RopSyncGetTransferState(), EcDoRpc_RopSyncImportDeletes(), EcDoRpc_RopSyncImportHierarchyChange(), EcDoRpc_RopSyncImportMessageChange(), EcDoRpc_RopSyncImportMessageMove(), EcDoRpc_RopSyncImportReadStateChanges(), emsmdbp_object_folder_commit_creation(), emsmdbp_object_get_properties_mapistore_root(), emsmdbp_object_get_properties_message(), emsmdbp_object_get_properties_systemspecialfolder(), emsmdbp_object_open_folder(), emsmdbp_object_table_get_row_props(), oxcfxics_fill_synccontext_fasttransfer_response(), and oxomsg_mapistore_handle_message_relocation().
|
static |
_PUBLIC_ int emsmdbp_get_uri_from_fid | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
uint64_t | fid, | ||
char ** | urip | ||
) |
const char* emsmdbp_getstr_type | ( | struct emsmdbp_object * | object) |
References EMSMDBP_OBJECT_ATTACHMENT, EMSMDBP_OBJECT_FOLDER, EMSMDBP_OBJECT_FTCONTEXT, EMSMDBP_OBJECT_MAILBOX, EMSMDBP_OBJECT_MESSAGE, EMSMDBP_OBJECT_STREAM, EMSMDBP_OBJECT_SUBSCRIPTION, EMSMDBP_OBJECT_SYNCCONTEXT, EMSMDBP_OBJECT_TABLE, EMSMDBP_OBJECT_UNDEF, and emsmdbp_object::type.
Referenced by EcDoRpc_RopGetPropertiesSpecific(), and emsmdbp_object_destructor().
bool emsmdbp_is_mailboxstore | ( | struct emsmdbp_object * | object) |
Convenient function to determine whether specified mapi_handles refers to object within mailbox or public folders store.
object | pointer to the emsmdp object |
References emsmdbp_get_mailbox(), emsmdbp_objects::mailbox, emsmdbp_object_mailbox::mailboxstore, and emsmdbp_object::object.
Referenced by emsmdbp_folder_delete().
bool emsmdbp_is_mapistore | ( | struct emsmdbp_object * | object) |
Convenient function to determine whether specified object is using mapistore or not
object | pointer to the emsmdp object |
References emsmdbp_is_mapistore(), EMSMDBP_OBJECT_FOLDER, EMSMDBP_OBJECT_MAILBOX, emsmdbp_objects::folder, emsmdbp_object_folder::mapistore_root, emsmdbp_object::object, emsmdbp_object::parent_object, and emsmdbp_object::type.
Referenced by EcDoRpc_RopCopyFolder(), EcDoRpc_RopCreateAttach(), EcDoRpc_RopCreateMessage(), EcDoRpc_RopDeleteMessages(), EcDoRpc_RopEmptyFolder(), EcDoRpc_RopFindRow(), EcDoRpc_RopGetPermissionsTable(), EcDoRpc_RopModifyPermissions(), EcDoRpc_RopModifyRecipients(), EcDoRpc_RopMoveCopyMessages(), EcDoRpc_RopOpenAttach(), EcDoRpc_RopOpenEmbeddedMessage(), EcDoRpc_RopReloadCachedInformation(), EcDoRpc_RopRemoveAllRecipients(), EcDoRpc_RopResetTable(), EcDoRpc_RopRestrict(), EcDoRpc_RopSaveChangesMessage(), EcDoRpc_RopSetColumns(), EcDoRpc_RopSetMessageReadFlag(), EcDoRpc_RopSortTable(), EcDoRpc_RopSubmitMessage(), EcDoRpc_RopSyncImportDeletes(), EcDoRpc_RopSyncImportMessageChange(), EcDoRpc_RopSyncImportMessageMove(), EcDoRpc_RopSyncImportReadStateChanges(), EcDoRpc_RopTransportSend(), emsmdbp_copy_message_attachments_mapistore(), emsmdbp_copy_message_recipients_mapistore(), emsmdbp_fetch_freebusy(), emsmdbp_folder_delete(), emsmdbp_folder_get_folder_count(), emsmdbp_folder_move_folder(), emsmdbp_folder_open_table(), emsmdbp_is_mapistore(), emsmdbp_object_copy_properties(), emsmdbp_object_create_folder(), emsmdbp_object_destructor(), emsmdbp_object_get_available_properties(), emsmdbp_object_get_fid_by_name(), emsmdbp_object_get_properties(), emsmdbp_object_message_open(), emsmdbp_object_message_open_attachment_table(), emsmdbp_object_open_folder(), emsmdbp_object_set_properties(), emsmdbp_object_table_get_available_properties(), emsmdbp_object_table_get_row_props(), oxcfxics_fill_transfer_state_arrays(), oxcfxics_push_folderChange(), oxcfxics_push_messageChange(), oxcfxics_push_messageChange_attachments(), and oxcfxics_table_set_cn_restriction().
_PUBLIC_ struct emsmdbp_object* emsmdbp_object_attachment_init | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
uint64_t | messageID, | ||
struct emsmdbp_object * | parent | ||
) |
Initialize a attachment object
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider cotnext |
folderID | the folder identifier |
messageID | the message identifier |
parent | emsmdbp object of the parent |
References emsmdbp_objects::attachment, EMSMDBP_OBJECT_ATTACHMENT, emsmdbp_object_init(), and emsmdbp_object::object.
Referenced by EcDoRpc_RopCreateAttach(), EcDoRpc_RopOpenAttach(), and emsmdbp_copy_message_attachments_mapistore().
_PUBLIC_ int emsmdbp_object_copy_properties | ( | struct emsmdbp_context * | emsmdbp_ctx, |
struct emsmdbp_object * | source_object, | ||
struct emsmdbp_object * | target_object, | ||
struct SPropTagArray * | excluded_properties, | ||
bool | deep_copy | ||
) |
Copy properties from an object to another object
emsmdbp_ctx | pointer to the emsmdb provider context |
source_object | pointer to the source object |
target_object | pointer to the target object |
excluded_properties | pointer to a SPropTagArray listing properties that must not be copied |
deep_copy | indicates whether subobjects must be copied |
References emsmdbp_copy_message_attachments_mapistore(), emsmdbp_copy_message_recipients_mapistore(), emsmdbp_copy_properties(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_ATTACHMENT, EMSMDBP_OBJECT_FOLDER, EMSMDBP_OBJECT_MAILBOX, EMSMDBP_OBJECT_MESSAGE, and emsmdbp_object::type.
Referenced by EcDoRpc_RopCopyTo(), and oxomsg_mapistore_handle_message_relocation().
_PUBLIC_ enum MAPISTATUS emsmdbp_object_create_folder | ( | struct emsmdbp_context * | emsmdbp_ctx, |
struct emsmdbp_object * | parent_folder, | ||
TALLOC_CTX * | mem_ctx, | ||
uint64_t | fid, | ||
struct SRow * | rowp, | ||
struct emsmdbp_object ** | new_folderp | ||
) |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), emsmdbp_object_folder_commit_creation(), emsmdbp_object_folder_init(), emsmdbp_objects::folder, emsmdbp_object_folder::folderID, emsmdbp_object_folder::mapistore_root, emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_fid_by_name(), and emsmdbp_object_folder::postponed_props.
Referenced by EcDoRpc_RopCreateFolder(), and EcDoRpc_RopSyncImportHierarchyChange().
|
static |
talloc destructor for emsmdbp_objects
data | generic pointer on data |
References emsmdbp_object::backend_object, emsmdbp_object::emsmdbp_ctx, emsmdbp_get_contextID(), emsmdbp_getstr_type(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_ATTACHMENT, EMSMDBP_OBJECT_FOLDER, EMSMDBP_OBJECT_FTCONTEXT, EMSMDBP_OBJECT_MAILBOX, EMSMDBP_OBJECT_MESSAGE, EMSMDBP_OBJECT_STREAM, emsmdbp_object_stream_commit(), EMSMDBP_OBJECT_SUBSCRIPTION, EMSMDBP_OBJECT_SYNCCONTEXT, EMSMDBP_OBJECT_TABLE, EMSMDBP_OBJECT_UNDEF, emsmdbp_objects::folder, emsmdbp_object_table::handle, emsmdbp_object_folder::mapistore_root, emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_object::parent_object, emsmdbp_object_synccontext::request_start, emsmdbp_object_synccontext::sent_objects, emsmdbp_object_synccontext::skipped_objects, emsmdbp_objects::subscription, emsmdbp_object_table::subscription_list, emsmdbp_object_subscription::subscription_list, emsmdbp_objects::synccontext, emsmdbp_objects::table, emsmdbp_object_synccontext::total_objects, and emsmdbp_object::type.
Referenced by emsmdbp_object_init().
|
static |
References emsmdbp_object::backend_object, emsmdbp_object_folder::contextID, emsmdbp_container_class_to_role(), emsmdbp_get_owner(), EMSMDBP_OBJECT_MAILBOX, emsmdbp_objects::folder, emsmdbp_object_mailbox::folderID, emsmdbp_object_folder::folderID, emsmdbp_objects::mailbox, emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_create_folder(), openchangedb_set_folder_properties(), emsmdbp_object::parent_object, emsmdbp_object_folder::postponed_props, and emsmdbp_object::type.
Referenced by emsmdbp_folder_open_table(), emsmdbp_object_create_folder(), emsmdbp_object_get_properties(), and emsmdbp_object_set_properties().
_PUBLIC_ struct emsmdbp_object* emsmdbp_object_folder_init | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
uint64_t | folderID, | ||
struct emsmdbp_object * | parent_object | ||
) |
Initialize a folder object
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
folderID | the folder identifier |
parent | emsmdbp object of the parent folder for this folder |
References EMSMDBP_OBJECT_FOLDER, emsmdbp_object_init(), emsmdbp_objects::folder, and emsmdbp_object::object.
Referenced by emsmdbp_object_create_folder(), emsmdbp_object_open_folder(), and emsmdbp_object_open_folder_by_fid().
_PUBLIC_ struct emsmdbp_object* emsmdbp_object_ftcontext_init | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct emsmdbp_object * | parent | ||
) |
Initialize a ftcontext object
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider cotnext |
whole_store | whether the subscription applies to the specified change on the entire store or stricly on the specified folder/message |
folderID | the folder identifier |
messageID | the message identifier |
parent | emsmdbp object of the parent |
References EMSMDBP_OBJECT_FTCONTEXT, emsmdbp_object_init(), emsmdbp_objects::ftcontext, and emsmdbp_object::object.
Referenced by EcDoRpc_RopFastTransferSourceCopyTo(), and EcDoRpc_RopSyncGetTransferState().
_PUBLIC_ int emsmdbp_object_get_available_properties | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct emsmdbp_object * | object, | ||
struct SPropTagArray ** | propertiesp | ||
) |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_ATTACHMENT, EMSMDBP_OBJECT_FOLDER, EMSMDBP_OBJECT_MAILBOX, EMSMDBP_OBJECT_MESSAGE, emsmdbp_context::mstore_ctx, and emsmdbp_object::type.
Referenced by EcDoRpc_RopFastTransferSourceCopyTo(), EcDoRpc_RopGetPropertiesAll(), EcDoRpc_RopGetPropertiesList(), and emsmdbp_copy_properties().
_PUBLIC_ enum mapistore_error emsmdbp_object_get_fid_by_name | ( | struct emsmdbp_context * | emsmdbp_ctx, |
struct emsmdbp_object * | parent_folder, | ||
const char * | name, | ||
uint64_t * | fidp | ||
) |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_FOLDER, EMSMDBP_OBJECT_MAILBOX, emsmdbp_objects::folder, emsmdbp_object_mailbox::folderID, emsmdbp_object_folder::folderID, emsmdbp_objects::mailbox, emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_fid_by_name(), and emsmdbp_object::type.
Referenced by EcDoRpc_RopCreateFolder().
_PUBLIC_ void** emsmdbp_object_get_properties | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct emsmdbp_object * | object, | ||
struct SPropTagArray * | properties, | ||
enum MAPISTATUS ** | retvalsp | ||
) |
References emsmdbp_is_mapistore(), EMSMDBP_OBJECT_FOLDER, emsmdbp_object_folder_commit_creation(), emsmdbp_object_get_properties_mailbox(), emsmdbp_object_get_properties_mapistore(), emsmdbp_object_get_properties_mapistore_root(), emsmdbp_object_get_properties_message(), emsmdbp_object_get_properties_systemspecialfolder(), EMSMDBP_OBJECT_MAILBOX, EMSMDBP_OBJECT_MESSAGE, emsmdbp_objects::folder, emsmdbp_object_folder::mapistore_root, emsmdbp_object::object, emsmdbp_object_folder::postponed_props, and emsmdbp_object::type.
Referenced by EcDoRpc_RopFastTransferSourceCopyTo(), EcDoRpc_RopGetPropertiesAll(), EcDoRpc_RopGetPropertiesSpecific(), EcDoRpc_RopOpenStream(), emsmdbp_copy_properties(), emsmdbp_fetch_freebusy(), emsmdbp_object_message_fill_freebusy_properties(), emsmdbp_object_table_get_row_props(), oxcfxics_fill_transfer_state_arrays(), and oxcfxics_push_messageChange().
|
static |
References entryid_set_AB_EntryID(), emsmdbp_object_mailbox::folderID, emsmdbp_objects::mailbox, emsmdbp_object_mailbox::mailboxstore, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_folder_property(), emsmdbp_object_mailbox::owner_EssDN, emsmdbp_object_mailbox::owner_Name, and emsmdbp_object_mailbox::szUserDN.
Referenced by emsmdbp_object_get_properties().
|
static |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), and emsmdbp_context::mstore_ctx.
Referenced by emsmdbp_object_get_properties().
|
static |
References emsmdbp_object::backend_object, emsmdbp_folder_get_folder_count(), emsmdbp_get_contextID(), emsmdbp_get_owner(), emsmdbp_source_key_from_fmid(), emsmdbp_objects::folder, emsmdbp_object_folder::folderID, emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_context::oc_ctx, and openchangedb_get_folder_property().
Referenced by emsmdbp_object_get_properties().
|
static |
|
static |
_PUBLIC_ struct emsmdbp_stream_data* emsmdbp_object_get_stream_data | ( | struct emsmdbp_object * | object, |
enum MAPITAGS | prop_tag | ||
) |
References emsmdbp_stream_data::next, emsmdbp_stream_data::prop_tag, and emsmdbp_object::stream_data.
Referenced by EcDoRpc_RopOpenStream().
_PUBLIC_ struct emsmdbp_object* emsmdbp_object_init | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct emsmdbp_object * | parent_object | ||
) |
Initialize an emsmdbp_object
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
References emsmdbp_object::emsmdbp_ctx, emsmdbp_object_destructor(), EMSMDBP_OBJECT_UNDEF, emsmdbp_object::object, emsmdbp_object::parent_object, and emsmdbp_object::stream_data.
Referenced by emsmdbp_object_attachment_init(), emsmdbp_object_folder_init(), emsmdbp_object_ftcontext_init(), emsmdbp_object_mailbox_init(), emsmdbp_object_message_init(), emsmdbp_object_stream_init(), emsmdbp_object_subscription_init(), emsmdbp_object_synccontext_init(), and emsmdbp_object_table_init().
_PUBLIC_ struct emsmdbp_object* emsmdbp_object_mailbox_init | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
const char * | essDN, | ||
bool | mailboxstore | ||
) |
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_PF_ROOT, 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_username, emsmdbp_context::samdb_ctx, and emsmdbp_context::szUserDN.
Referenced by EcDoRpc_RopLogon(), and emsmdbp_fetch_freebusy().
|
static |
_PUBLIC_ struct emsmdbp_object* emsmdbp_object_message_init | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
uint64_t | messageID, | ||
struct emsmdbp_object * | parent | ||
) |
Initialize a message object
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
messageID | the message identifier |
parent | emsmdbp object of the parent |
References EMSMDBP_OBJECT_ATTACHMENT, EMSMDBP_OBJECT_FOLDER, emsmdbp_object_init(), EMSMDBP_OBJECT_MAILBOX, EMSMDBP_OBJECT_MESSAGE, emsmdbp_objects::message, emsmdbp_object::object, and emsmdbp_object::type.
Referenced by EcDoRpc_RopCreateMessage(), EcDoRpc_RopOpenEmbeddedMessage(), EcDoRpc_RopSyncImportMessageChange(), emsmdbp_object_message_open(), and oxomsg_mapistore_handle_message_relocation().
_PUBLIC_ enum mapistore_error emsmdbp_object_message_open | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct emsmdbp_object * | parent_object, | ||
uint64_t | folderID, | ||
uint64_t | messageID, | ||
bool | read_write, | ||
struct emsmdbp_object ** | messageP, | ||
struct mapistore_message ** | msgp | ||
) |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), emsmdbp_object_message_fill_freebusy_properties(), emsmdbp_object_message_init(), emsmdbp_object_open_folder_by_fid(), emsmdbp_objects::message, emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_message_open(), and emsmdbp_object_message::read_write.
Referenced by EcDoRpc_RopOpenMessage(), EcDoRpc_RopSyncImportMessageChange(), EcDoRpc_RopSyncImportReadStateChanges(), emsmdbp_object_table_get_row_props(), and oxcfxics_push_messageChange().
_PUBLIC_ struct emsmdbp_object* emsmdbp_object_message_open_attachment_table | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct emsmdbp_object * | message_object | ||
) |
References emsmdbp_object::backend_object, emsmdbp_object_table::denominator, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_MESSAGE, emsmdbp_object_table_init(), emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_objects::table, emsmdbp_object::type, and emsmdbp_object_table::ulType.
Referenced by EcDoRpc_RopGetAttachmentTable(), emsmdbp_copy_message_attachments_mapistore(), and oxcfxics_push_messageChange_attachments().
_PUBLIC_ enum mapistore_error emsmdbp_object_open_folder | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct emsmdbp_object * | parent, | ||
uint64_t | fid, | ||
struct emsmdbp_object ** | folder_object_p | ||
) |
References emsmdbp_object::backend_object, emsmdbp_object_folder::contextID, emsmdbp_get_contextID(), emsmdbp_get_mailbox(), emsmdbp_get_owner(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_FOLDER, emsmdbp_object_folder_init(), EMSMDBP_OBJECT_MAILBOX, emsmdbp_objects::folder, emsmdbp_object_mailbox::folderID, emsmdbp_object_folder::folderID, emsmdbp_objects::mailbox, emsmdbp_object_mailbox::mailboxstore, emsmdbp_object_folder::mapistore_root, emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_mapistoreURI(), openchangedb_get_parent_fid(), and emsmdbp_object::type.
Referenced by EcDoRpc_RopCopyFolder(), EcDoRpc_RopMoveFolder(), emsmdbp_object_open_folder_by_fid(), emsmdbp_object_table_get_row_props(), oxcfxics_fill_transfer_state_arrays(), and oxcfxics_push_folderChange().
_PUBLIC_ enum mapistore_error emsmdbp_object_open_folder_by_fid | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct emsmdbp_object * | context_object, | ||
uint64_t | fid, | ||
struct emsmdbp_object ** | folder_object_p | ||
) |
Return the folder object associated to specified folder identified
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdbp context |
context_object | pointer to current context object |
fid | pointer to the Folder Identifier to lookup |
References emsmdbp_get_mailbox(), emsmdbp_get_parent_fid(), EMSMDBP_OBJECT_FOLDER, emsmdbp_object_folder_init(), EMSMDBP_OBJECT_MAILBOX, emsmdbp_object_open_folder(), emsmdbp_object_open_folder_by_fid(), emsmdbp_objects::folder, emsmdbp_object_mailbox::folderID, emsmdbp_object_folder::folderID, emsmdbp_objects::mailbox, emsmdbp_object::object, emsmdbp_object::parent_object, and emsmdbp_object::type.
Referenced by EcDoRpc_RopCreateFolder(), EcDoRpc_RopCreateMessage(), EcDoRpc_RopOpenFolder(), EcDoRpc_RopSyncImportHierarchyChange(), EcDoRpc_RopSyncImportMessageMove(), emsmdbp_fetch_freebusy(), emsmdbp_object_message_open(), emsmdbp_object_open_folder_by_fid(), and oxomsg_mapistore_handle_message_relocation().
_PUBLIC_ int emsmdbp_object_set_properties | ( | struct emsmdbp_context * | emsmdbp_ctx, |
struct emsmdbp_object * | object, | ||
struct SRow * | rowp | ||
) |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_ATTACHMENT, EMSMDBP_OBJECT_FOLDER, emsmdbp_object_folder_commit_creation(), EMSMDBP_OBJECT_MAILBOX, EMSMDBP_OBJECT_MESSAGE, emsmdbp_objects::folder, emsmdbp_object_mailbox::folderID, emsmdbp_object_folder::folderID, emsmdbp_objects::mailbox, emsmdbp_object_folder::mapistore_root, emsmdbp_objects::message, emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_mapistoreURI(), openchangedb_message_set_properties(), openchangedb_set_folder_properties(), openchangedb_set_mapistoreURI(), emsmdbp_object::type, and emsmdbp_context::username.
Referenced by EcDoRpc_RopCreateMessage(), EcDoRpc_RopSetProperties(), EcDoRpc_RopSyncImportHierarchyChange(), EcDoRpc_RopSyncImportMessageChange(), emsmdbp_copy_properties(), and emsmdbp_object_stream_commit().
_PUBLIC_ int emsmdbp_object_stream_commit | ( | struct emsmdbp_object * | stream_object) |
References emsmdbp_stream::buffer, emsmdbp_object::emsmdbp_ctx, emsmdbp_object_set_properties(), EMSMDBP_OBJECT_STREAM, emsmdbp_object_stream::needs_commit, emsmdbp_object::object, emsmdbp_object::parent_object, emsmdbp_object_stream::property, emsmdbp_object_stream::stream, emsmdbp_objects::stream, and emsmdbp_object::type.
Referenced by EcDoRpc_RopCommitStream(), EcDoRpc_RopSubmitMessage(), and emsmdbp_object_destructor().
_PUBLIC_ struct emsmdbp_object* emsmdbp_object_stream_init | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct emsmdbp_object * | parent | ||
) |
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 | emsmdbp object of the parent |
References emsmdbp_object_init(), EMSMDBP_OBJECT_STREAM, emsmdbp_object::object, and emsmdbp_objects::stream.
Referenced by EcDoRpc_RopOpenStream().
_PUBLIC_ struct emsmdbp_object* emsmdbp_object_subscription_init | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct emsmdbp_object * | parent | ||
) |
Initialize a notification subscription object
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider cotnext |
whole_store | whether the subscription applies to the specified change on the entire store or stricly on the specified folder/message |
folderID | the folder identifier |
messageID | the message identifier |
parent | emsmdbp object of the parent |
References emsmdbp_object_init(), EMSMDBP_OBJECT_SUBSCRIPTION, emsmdbp_object::object, and emsmdbp_objects::subscription.
Referenced by EcDoRpc_RopRegisterNotification().
_PUBLIC_ struct emsmdbp_object* emsmdbp_object_synccontext_init | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct emsmdbp_object * | parent_object | ||
) |
Initialize a synccontext object
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider cotnext |
whole_store | whether the subscription applies to the specified change on the entire store or stricly on the specified folder/message |
folderID | the folder identifier |
messageID | the message identifier |
parent | emsmdbp object of the parent |
References emsmdbp_stream::buffer, emsmdbp_object_synccontext::cnset_seen, EMSMDBP_OBJECT_FOLDER, emsmdbp_object_init(), EMSMDBP_OBJECT_MAILBOX, EMSMDBP_OBJECT_SYNCCONTEXT, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_MailboxReplica(), emsmdbp_object_synccontext::state_property, emsmdbp_object_synccontext::state_stream, emsmdbp_object_synccontext::stream, emsmdbp_objects::synccontext, emsmdbp_object::type, and emsmdbp_context::username.
Referenced by EcDoRpc_RopSyncConfigure(), and EcDoRpc_RopSyncOpenCollector().
_PUBLIC_ int emsmdbp_object_table_get_available_properties | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct emsmdbp_object * | table_object, | ||
struct SPropTagArray ** | propertiesp | ||
) |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_TABLE, emsmdbp_context::mstore_ctx, and emsmdbp_object::type.
Referenced by EcDoRpc_RopSyncConfigure().
_PUBLIC_ void** emsmdbp_object_table_get_row_props | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct emsmdbp_object * | table_object, | ||
uint32_t | row_id, | ||
enum mapistore_query_type | query_type, | ||
enum MAPISTATUS ** | retvalsp | ||
) |
References emsmdbp_object::backend_object, emsmdbp_object::emsmdbp_ctx, emsmdbp_get_contextID(), emsmdbp_get_owner(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_FOLDER, emsmdbp_object_get_properties(), EMSMDBP_OBJECT_MAILBOX, emsmdbp_object_message_open(), emsmdbp_object_open_folder(), emsmdbp_source_key_from_fmid(), emsmdbp_objects::folder, emsmdbp_object_mailbox::folderID, emsmdbp_object_folder::folderID, emsmdbp_objects::mailbox, emsmdbp_context::mstore_ctx, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_table_get_property(), emsmdbp_object::parent_object, emsmdbp_object_table::prop_count, emsmdbp_object_table::properties, emsmdbp_objects::table, emsmdbp_object::type, and emsmdbp_object_table::ulType.
Referenced by EcDoRpc_RopFindRow(), EcDoRpc_RopQueryRows(), emsmdbp_copy_message_attachments_mapistore(), emsmdbp_fill_notification(), oxcfxics_fill_transfer_state_arrays(), oxcfxics_push_folderChange(), oxcfxics_push_messageChange(), and oxcfxics_push_messageChange_attachments().
_PUBLIC_ struct emsmdbp_object* emsmdbp_object_table_init | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_context * | emsmdbp_ctx, | ||
struct emsmdbp_object * | parent | ||
) |
Initialize a table object
mem_ctx | pointer to the memory context |
emsmdbp_ctx | pointer to the emsmdb provider context |
parent | emsmdbp object of the parent |
References EMSMDBP_OBJECT_FOLDER, emsmdbp_object_init(), EMSMDBP_OBJECT_MAILBOX, EMSMDBP_OBJECT_MESSAGE, EMSMDBP_OBJECT_TABLE, emsmdbp_object::object, emsmdbp_objects::table, and emsmdbp_object::type.
Referenced by EcDoRpc_RopGetPermissionsTable(), EcDoRpc_RopGetRulesTable(), emsmdbp_folder_open_table(), and emsmdbp_object_message_open_attachment_table().
_PUBLIC_ struct emsmdbp_stream_data* emsmdbp_stream_data_from_value | ( | TALLOC_CTX * | mem_ctx, |
enum MAPITAGS | prop_tag, | ||
void * | value, | ||
bool | read_write | ||
) |
References emsmdbp_stream_data::data, and emsmdbp_stream_data::prop_tag.
Referenced by EcDoRpc_RopGetPropertiesSpecific(), and EcDoRpc_RopOpenStream().
_PUBLIC_ DATA_BLOB emsmdbp_stream_read_buffer | ( | struct emsmdbp_stream * | stream, |
uint32_t | length | ||
) |
References emsmdbp_stream::buffer, and emsmdbp_stream::position.
Referenced by EcDoRpc_RopReadStream(), oxcfxics_fill_ftcontext_fasttransfer_response(), and oxcfxics_fill_synccontext_fasttransfer_response().
_PUBLIC_ void emsmdbp_stream_write_buffer | ( | TALLOC_CTX * | mem_ctx, |
struct emsmdbp_stream * | stream, | ||
DATA_BLOB | new_buffer | ||
) |
References emsmdbp_stream::buffer, and emsmdbp_stream::position.
Referenced by EcDoRpc_RopSyncUploadStateStreamContinue(), and EcDoRpc_RopWriteStream().
![]() ![]() ![]() |
This content is licensed under the Creative Commons Attribution ShareAlike License v. 3.0: http://creativecommons.org/licenses/by-sa/3.0/ |