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 int | emsmdbp_days_in_month (int month, int year) |
| 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_ struct emsmdbp_object * | emsmdbp_folder_open_table (TALLOC_CTX *mem_ctx, struct emsmdbp_object *parent_object, uint32_t table_type, uint32_t handle_id) |
| static void | emsmdbp_freebusy_compile_fbarray (TALLOC_CTX *mem_ctx, uint8_t *minutes_array, struct Binary_r *fb_bin) |
| static void | emsmdbp_freebusy_convert_filetime (struct FILETIME *ft_value, uint32_t *ymon, uint32_t *mins) |
| static void | emsmdbp_freebusy_fill_fbarray (uint8_t **minutes_array, uint32_t *months_ranges, uint16_t nbr_months, struct FILETIME *start, struct FILETIME *end) |
| static uint16_t | emsmdbp_freebusy_find_month_range (uint32_t ymon, uint32_t *months_ranges, uint16_t nbr_months, bool *overflow) |
| static void | emsmdbp_freebusy_make_range (struct tm *start_time, struct tm *end_time) |
| static void | emsmdbp_freebusy_merge_subarray (uint8_t *minutes_array, uint8_t *included_array) |
| _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) |
| static int | emsmdbp_mins_in_ymon (uint32_t ymon) |
| _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) |
| _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) |
Variables | |
| static const int | max_mins_per_month = 31 * 24 * 60 |
Server-side specific objects init/release routines.
| static char* emsmdbp_compute_parent_uri | ( | TALLOC_CTX * | mem_ctx, | |
| char * | uri | |||
| ) | [static] |
Referenced by emsmdbp_get_parent_fid().
| static enum mapistore_context_role emsmdbp_container_class_to_role | ( | const char * | container_class | ) | [static] |
Referenced by emsmdbp_object_folder_commit_creation().
| static int emsmdbp_copy_message_attachments_mapistore | ( | struct emsmdbp_context * | emsmdbp_ctx, | |
| struct emsmdbp_object * | source_object, | |||
| struct emsmdbp_object * | dest_object | |||
| ) | [inline, static] |
References emsmdbp_object::backend_object, 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, and emsmdbp_objects::table.
Referenced by emsmdbp_object_copy_properties().
| static int emsmdbp_copy_message_recipients_mapistore | ( | struct emsmdbp_context * | emsmdbp_ctx, | |
| struct emsmdbp_object * | source_object, | |||
| struct emsmdbp_object * | dest_object | |||
| ) | [inline, static] |
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 int emsmdbp_copy_properties | ( | struct emsmdbp_context * | emsmdbp_ctx, | |
| struct emsmdbp_object * | source_object, | |||
| struct emsmdbp_object * | dest_object, | |||
| struct SPropTagArray * | excluded_tags | |||
| ) | [static] |
| static int emsmdbp_days_in_month | ( | int | month, | |
| int | year | |||
| ) | [static] |
Referenced by emsmdbp_freebusy_make_range(), and emsmdbp_mins_in_ymon().
| static void emsmdbp_fill_prop_index | ( | struct emsmdbp_prop_index * | prop_index, | |
| struct SPropTagArray * | properties | |||
| ) | [inline, static] |
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(), emsmdbp_object_get_properties_mapistore_root(), and emsmdbp_object_table_get_row_props().
| _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 | |||
| ) | [read] |
References emsmdbp_object::backend_object, 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(), emsmdbp_object_message_fill_freebusy_properties(), oxcfxics_fill_transfer_state_arrays(), oxcfxics_push_folderChange(), and oxcfxics_push_messageChange().
| static void emsmdbp_freebusy_compile_fbarray | ( | TALLOC_CTX * | mem_ctx, | |
| uint8_t * | minutes_array, | |||
| struct Binary_r * | fb_bin | |||
| ) | [static] |
References max_mins_per_month.
Referenced by emsmdbp_object_message_fill_freebusy_properties().
| static void emsmdbp_freebusy_convert_filetime | ( | struct FILETIME * | ft_value, | |
| uint32_t * | ymon, | |||
| uint32_t * | mins | |||
| ) | [static] |
Referenced by emsmdbp_freebusy_fill_fbarray().
| static void emsmdbp_freebusy_fill_fbarray | ( | uint8_t ** | minutes_array, | |
| uint32_t * | months_ranges, | |||
| uint16_t | nbr_months, | |||
| struct FILETIME * | start, | |||
| struct FILETIME * | end | |||
| ) | [static] |
References emsmdbp_freebusy_convert_filetime(), emsmdbp_freebusy_find_month_range(), and emsmdbp_mins_in_ymon().
Referenced by emsmdbp_object_message_fill_freebusy_properties().
| static uint16_t emsmdbp_freebusy_find_month_range | ( | uint32_t | ymon, | |
| uint32_t * | months_ranges, | |||
| uint16_t | nbr_months, | |||
| bool * | overflow | |||
| ) | [static] |
Referenced by emsmdbp_freebusy_fill_fbarray().
| static void emsmdbp_freebusy_make_range | ( | struct tm * | start_time, | |
| struct tm * | end_time | |||
| ) | [inline, static] |
References emsmdbp_days_in_month().
Referenced by emsmdbp_object_message_fill_freebusy_properties().
| static void emsmdbp_freebusy_merge_subarray | ( | uint8_t * | minutes_array, | |
| uint8_t * | included_array | |||
| ) | [static] |
References max_mins_per_month.
Referenced by emsmdbp_object_message_fill_freebusy_properties().
| _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_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_fill_notification(), emsmdbp_folder_delete(), emsmdbp_folder_get_folder_count(), 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_fill_freebusy_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(), 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 struct emsmdbp_object* emsmdbp_get_mailbox | ( | struct emsmdbp_object * | object | ) | [static, read] |
References EMSMDBP_OBJECT_MAILBOX, emsmdbp_object::parent_object, and emsmdbp_object::type.
Referenced by emsmdbp_get_owner(), emsmdbp_is_mailboxstore(), emsmdbp_object_open_folder(), and emsmdbp_object_open_folder_by_fid().
| 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_RopFastTransferSourceGetBuffer(), 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(), and oxomsg_mapistore_handle_message_relocation().
| static int emsmdbp_get_parent_fid | ( | struct emsmdbp_context * | emsmdbp_ctx, | |
| uint64_t | fid, | |||
| uint64_t * | parent_fidp | |||
| ) | [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_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_folder_delete(), emsmdbp_folder_get_folder_count(), 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_fill_freebusy_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().
| static int emsmdbp_mins_in_ymon | ( | uint32_t | ymon | ) | [static] |
References emsmdbp_days_in_month().
Referenced by emsmdbp_freebusy_fill_fbarray().
| _PUBLIC_ struct emsmdbp_object* emsmdbp_object_attachment_init | ( | TALLOC_CTX * | mem_ctx, | |
| struct emsmdbp_context * | emsmdbp_ctx, | |||
| uint64_t | messageID, | |||
| struct emsmdbp_object * | parent | |||
| ) | [read] |
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 int emsmdbp_object_destructor | ( | void * | data | ) | [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_objects::subscription, emsmdbp_object_subscription::subscription_list, emsmdbp_object_table::subscription_list, emsmdbp_objects::table, and emsmdbp_object::type.
Referenced by emsmdbp_object_init().
| static enum mapistore_error emsmdbp_object_folder_commit_creation | ( | struct emsmdbp_context * | emsmdbp_ctx, | |
| struct emsmdbp_object * | new_folder, | |||
| bool | force_container_class | |||
| ) | [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 | |||
| ) | [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 | 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 | |||
| ) | [read] |
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_object_message_fill_freebusy_properties(), and oxcfxics_fill_transfer_state_arrays().
| 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] |
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 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] |
References emsmdbp_object::backend_object, emsmdbp_get_contextID(), and emsmdbp_context::mstore_ctx.
Referenced by emsmdbp_object_get_properties().
| 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] |
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 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] |
References emsmdbp_object::backend_object, emsmdbp_object_message_freebusy_properties::email_address, emsmdbp_get_owner(), emsmdbp_source_key_from_fmid(), emsmdbp_object_message::folderID, emsmdbp_object_message_freebusy_properties::freebusy_away, emsmdbp_object_message_freebusy_properties::freebusy_busy, emsmdbp_object_message_freebusy_properties::freebusy_merged, emsmdbp_object_message_freebusy_properties::freebusy_tentative, emsmdbp_objects::message, emsmdbp_object_message_freebusy_properties::months_ranges, emsmdbp_object_message_freebusy_properties::nbr_months, emsmdbp_object::object, openchangedb_message_get_property(), emsmdbp_object_message_freebusy_properties::publish_end, emsmdbp_object_message_freebusy_properties::publish_start, and emsmdbp_object_message_freebusy_properties::timestamp.
Referenced by emsmdbp_object_get_properties().
| 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 | |||
| ) | [static] |
| _PUBLIC_ struct emsmdbp_stream_data* emsmdbp_object_get_stream_data | ( | struct emsmdbp_object * | object, | |
| enum MAPITAGS | prop_tag | |||
| ) | [read] |
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 | |||
| ) | [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, 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 | |||
| ) | [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_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_object_message_fill_freebusy_properties().
| static void emsmdbp_object_message_fill_freebusy_properties | ( | struct emsmdbp_object * | message_object | ) | [static] |
References emsmdbp_object::backend_object, emsmdbp_object_message_freebusy_properties::email_address, emsmdbp_object::emsmdbp_ctx, emsmdbp_folder_open_table(), emsmdbp_freebusy_compile_fbarray(), emsmdbp_freebusy_fill_fbarray(), emsmdbp_freebusy_make_range(), emsmdbp_freebusy_merge_subarray(), emsmdbp_get_contextID(), EMSMDBP_INBOX, emsmdbp_is_mapistore(), emsmdbp_object_get_properties(), emsmdbp_object_mailbox_init(), emsmdbp_object_open_folder_by_fid(), emsmdbp_object_table_get_row_props(), emsmdbp_object_message::fb_properties, emsmdbp_object_message_freebusy_properties::freebusy_away, emsmdbp_object_message_freebusy_properties::freebusy_busy, emsmdbp_object_message_freebusy_properties::freebusy_merged, emsmdbp_object_message_freebusy_properties::freebusy_tentative, max_mins_per_month, emsmdbp_objects::message, emsmdbp_object_message_freebusy_properties::months_ranges, emsmdbp_context::mstore_ctx, emsmdbp_object_message_freebusy_properties::nbr_months, emsmdbp_object::object, emsmdbp_context::oc_ctx, openchangedb_get_SystemFolderID(), emsmdbp_object_table::prop_count, emsmdbp_object_message_freebusy_properties::publish_end, emsmdbp_object_message_freebusy_properties::publish_start, emsmdbp_objects::table, and emsmdbp_object_message_freebusy_properties::timestamp.
Referenced by emsmdbp_object_message_open().
| _PUBLIC_ struct emsmdbp_object* emsmdbp_object_message_init | ( | TALLOC_CTX * | mem_ctx, | |
| struct emsmdbp_context * | emsmdbp_ctx, | |||
| uint64_t | messageID, | |||
| struct emsmdbp_object * | 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 | emsmdbp object of the parent |
References 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 | |||
| ) | [read] |
References emsmdbp_object::backend_object, 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_RopSyncImportHierarchyChange(), 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_folder::folderID, emsmdbp_object_mailbox::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_object_message_fill_freebusy_properties(), 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_message_set_properties(), openchangedb_set_folder_properties(), and emsmdbp_object::type.
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_objects::stream, emsmdbp_object_stream::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 | |||
| ) | [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 | 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 | |||
| ) | [read] |
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 | |||
| ) | [read] |
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_folder_get_folder_count(), emsmdbp_get_contextID(), emsmdbp_get_owner(), emsmdbp_is_mapistore(), EMSMDBP_OBJECT_FOLDER, 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_objects::table, emsmdbp_object::type, and emsmdbp_object_table::ulType.
Referenced by EcDoRpc_RopFindRow(), EcDoRpc_RopQueryRows(), emsmdbp_copy_message_attachments_mapistore(), emsmdbp_fill_notification(), emsmdbp_object_message_fill_freebusy_properties(), 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 | |||
| ) | [read] |
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 | |||
| ) | [read] |
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_RopFastTransferSourceGetBuffer(), and EcDoRpc_RopReadStream().
| _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().
const int max_mins_per_month = 31 * 24 * 60 [static] |
|
|
This content is licensed under the Creative Commons Attribution ShareAlike License v. 3.0: http://creativecommons.org/licenses/by-sa/3.0/ |